Особливості та функції

Особливості та функції

Особливості та функції

Ця сторінка охоплює кожну основну область функцій АСПОЗ-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

Класи / МетодиОпис
Scene3D-контейнер для сцені
scene.open()Завантажити 3D-файл за маршрутом або потоком
scene.save()Експорт сцені до файлу або потоку
Scene.fromFile()Статичний завод для завантаження та повернення Scene
NodeІєрархія сцені
node.createChildNode()Створення та прикріплення дитячого нота
MeshПолігонний мазок з контрольними точками та списками обличчя
mesh.createPolygon()Визначити обличчя полігону
Mesh.toMesh()Конвертація або клонування геометрії меші
TransformМісцевий переклад, ротація та масштаби
FileFormatРеєстр і детектор для форматів
 Українська