Створення 3D сцени в Java

3D-сцена — це спосіб відображення 3D-фігур на комп’ютері. У цьому посібнику ми дізнаємося, як створити 3D-сцену за допомогою Java без використання спеціального програмного забезпечення для 3D. Після цього ми збережемо 3D-сцену у форматі файлу FBX, який є поширеним способом обміну 3D-матеріалами. Отже, почнемо.

У цій статті будуть розглянуті такі теми:

  1. Java 3D API для створення 3D-сцени — безкоштовно завантажити
  2. Створіть просту 3D-сцену в Java
  3. Прочитайте 3D-сцену за допомогою Java
  4. Безкоштовні навчальні ресурси

Java 3D API для створення 3D-сцени — безкоштовно завантажити

Ми будемо використовувати Aspose.3D for Java API для створення та читання 3D-сцени. Це потужний API, який дозволяє створювати, редагувати та зберігати 3D-сцени в різноманітних форматах. Він дозволяє створювати та редагувати 3D-сітки, матеріали та текстури. API також дозволяє додавати та налаштовувати світло, камери та анімацію.

Будь ласка, завантажте JAR API або додайте наступну конфігурацію pom.xml у програму Java на основі Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository> 
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-3d</artifactId>
    <version>23.9.0</version>
</dependency>   

Створіть просту 3D-сцену за допомогою Java

Ми можемо створити просту 3D-сцену, виконавши наведені нижче дії.

  1. Створіть екземпляр класу Scene.
  2. Викличте метод createChildNode(), щоб додати деяку геометрію або форму для відображення на екрані, наприклад, циліндр.
  3. Встановіть властивості дочірнього вузла, наприклад матеріал.
  4. Ініціалізація об’єкта класу Light.
  5. Викличте метод createChildNode(), щоб додати сутність Light.
  6. Нарешті, збережіть сцену як FBX за допомогою методу save(). Він приймає вихідний шлях до файлу та FileFormat.FBX7500ASCII як аргументи.

У наступному прикладі коду показано, як створити просту 3D-сцену за допомогою Java.

// Цей приклад коду демонструє, як створити просту 3D-сцену та зберегти її у файлі FBX.
// Ініціалізація 3D-сцени
Scene scene = new Scene();

// Ініціалізація об'єкта Cylinder
Cylinder cylinder = new Cylinder();
cylinder.setName("Cylinder");

// Створіть дочірній вузол і додайте об’єкт Cylinder
Node node = scene.getRootNode().createChildNode(cylinder);

// Встановити властивості дочірнього вузла
LambertMaterial material = new LambertMaterial();
material.setDiffuseColor(null);
material.setName("Lambert");
node.setMaterial(material);

// Додати сутність Light
Light light = new Light();
light.setLightType(LightType.POINT);
light.setName("Light");
scene.getRootNode().createChildNode(light).getTransform().setTranslation(new Vector3(10, 0, 10));

// Шлях вихідного файлу
String output = "C:\\Files\\document.fbx";

// Зберегти документ 3D сцени
scene.save(output, FileFormat.FBX7500ASCII);
Створіть просту 3D-сцену за допомогою Java

Створіть просту 3D-сцену за допомогою Java.

Читання 3D-сцени за допомогою Java

Ми також можемо завантажити документ FBX і прочитати 3D-сцену, виконавши наведені нижче дії.

  1. Створіть екземпляр класу Scene.
  2. Завантажте існуючий 3D-документ за допомогою методу open().
  3. Перегляд властивостей ChildNodes
  4. Нарешті, відобразити значення властивостей.

У наведеному нижче прикладі коду показано, як завантажити та прочитати 3D-сцену за допомогою Java.

// Цей приклад коду демонструє, як читати 3D-сцену з файлу FBX
// Ініціалізація об’єкта класу Scene
Scene scene = new Scene();

// Завантажте існуючий 3D-документ
scene.open("C:\\Files\\document.fbx");

for(Node node : scene.getRootNode().getChildNodes())
{
    Entity entity = node.getEntity();
    System.out.println("Entity Name: " + entity.getName()); 

    if (node.getMaterial() != null)
    {
        Material material = node.getMaterial();
        System.out.println("Material Name: " + material.getName());

        PropertyCollection props = material.getProperties();

        // Перерахуйте всі властивості за допомогою foreach
        for(Property prop : props)
        {
          System.out.println(prop.getName() + " : " + prop.getValue());
        }
    }
}
Entity Name: Cylinder
Material Name: Lambert
Emissive : (0 0 0)
Diffuse : (1 1 1)
Ambient : (0 0 0)
Entity Name: Light

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати Aspose.3D for Java без оціночних обмежень.

Безкоштовні навчальні ресурси

Окрім створення або читання простої 3D-сцени, дізнайтеся більше про бібліотеку та вивчіть різні інші функції, використовуючи наведені нижче ресурси:

Висновок

У цій статті ми дізналися, як створити 3D-сцену в Java. Ми також бачили, як рендерити 3D-сцену у форматі FBX і читати її дочірні нотатки та властивості програмно в Java. Використовуючи Aspose.3D for Java, ви можете спростити програмування тривимірної графіки в програмах Java. У разі будь-яких неясностей зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також