Создать 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-сцены — скачать бесплатно

Мы будем использовать API Aspose.3D for Java для создания и чтения 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 = new Cylinder();
cylinder.setName("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. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем бесплатном форуме поддержки.

Смотрите также