Особливості та функції
Особливості та функції
Ця сторінка охоплює кожну основну область функцій АСПОЗ-3Д-ФОС 26.1 Використовуйте приклади Java.
Завантаження та збереження сцен
scene.open() завантажувати файл; scene.save() І експортує:
import com.aspose.threed.Scene;
Scene scene = new Scene();
scene.open("input.obj");
scene.save("output.glb");Статична фабрика альтернативи:
Scene scene = Scene.fromFile("input.fbx");
scene.save("output.stl");Формат-спеціальні варіанти
Паспорт LoadOptions або SaveOptions Підкласи для фіно-зеленого контролю:
import com.aspose.threed.*;
Scene scene = new Scene();
ObjLoadOptions opts = new ObjLoadOptions();
opts.setFlipCoordinateSystem(true);
scene.open("model.obj", opts);
GltfSaveOptions saveOpts = new GltfSaveOptions();
saveOpts.setFlipCoordinateSystem(true);
scene.save("model.glb", saveOpts);Зауважимо : FBX підтримується тільки для імпорту; експорт FB X не реалізується в версії FOSS. Бінарний FBX Файли підтримуються для імпорту — ASCII FBX викидає
ImportException.
Створення сценічного графіку
Створення вузлів і прикріплення суб’єктів:
Scene scene = new Scene();
Node root = scene.getRootNode();
Mesh mesh = new Mesh("myMesh");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.createPolygon(0, 1, 2);
Node meshNode = root.createChildNode("triangle", mesh);Меш операції
Створення A Mesh Програми з контрольними точками та полігонами:
Mesh mesh = new Mesh("custom");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.getControlPoints().add(new Vector4(0, 10, 0));
mesh.createPolygon(0, 1, 2, 3);Трансформація
Кожен з них Node Переносить A Transform:
Node node = scene.getRootNode().createChildNode("moved", new Mesh());
node.getTransform().setTranslation(10, 0, 5);
node.getTransform().setScale(2, 2, 2);Читати далі про Всесвітній світ через node.getGlobalTransform().getMatrix().
Матеріали
Використання матеріалів для нот:
import com.aspose.threed.*;
PbrMaterial mat = new PbrMaterial("shiny");
mat.setAlbedo(new Vector4(0.8, 0.2, 0.2, 1.0));
mat.setMetallicFactor(0.5);
mat.setRoughnessFactor(0.3);
scene.getRootNode().createChildNode("red_mesh", mesh, mat);Типи матеріалів : Material і базу, PbrMaterial (ПБР металевий твердість).
Поради та найкращі практики
- Використання
Scene.fromFile()для однолінійних завантажень, коли не потрібні налаштування - Програмування програмного забезпечення з
createPolygon()Для прикладної геометрії - Використання
.glbРозширення для компресового двостороннього виходу GLTF - Перевірка
node.getEntity() != nullПеред кастилью - Експорт СТЗ здійснюється Не Трикутник-полігон автоматично виявляється. бінарний експорт STL пише тільки перші 3 вертикали кожної сторони полігону — квадратні або н-гонових обличчя тихо перекриваються. ASCII ST L експортує всі вертекс-індикатори, які виробляють зловмисне обличччя блоків для нетрикутних обличей. завжди проходить передтроугольні меші (всі трикутники) до експорта STl, щоб уникнути втрати даних або недійсної продукції.
Загальні питання
| Проблема | Причини | Ремонт |
|---|---|---|
| Виняток у навантаженні | Непідтримлені або корумповані файли | Перевірте, чи відкривається файл в 3D-видавнику |
| Відсутні матеріали після об’єму OBJ | .mtl Файли не знайдено | Місцезнаходження .mtl Поруч з .obj;· забезпечення того, щоб матеріали були доступні; |
| Недостатня кількість після імпорту | Різні системи об’єктів | Заявка A Transform Розмір після завантаження |
FAQ
Як я можу розпізнати формат файлу?
FileFormat format = FileFormat.detect("unknown.bin");
System.out.println(format.getExtension());Чи можна завантажувати з потоку?
Так і так. scene.open() Приймає один InputStream.
Які формати підтримують як імпорт, так і експорт?
OBJ, STL і glTF/GLB підтримують обидві напрямки. FBX імпортується тільки; експорт не реалізується в версії FOSS.
Реферат на API
| Класи / Методи | Опис |
|---|---|
Scene | 3D-контейнер для сцені |
scene.open() | Завантажити 3D-файл за маршрутом або потоком |
scene.save() | Експорт сцені до файлу або потоку |
Scene.fromFile() | Статичний завод для завантаження та повернення Scene |
Node | Ієрархія сцені |
node.createChildNode() | Створення та прикріплення дитячого нота |
Mesh | Полігонний мазок з контрольними точками та списками обличчя |
mesh.createPolygon() | Визначити обличчя полігону |
Mesh.toMesh() | Конвертація або клонування геометрії меші |
Transform | Місцевий переклад, ротація та масштаби |
FileFormat | Реєстр і детектор для форматів |