Crear escena 3D en Java

Una escena 3D es una forma de mostrar formas 3D en una computadora. En esta guía, aprenderemos cómo crear una escena 3D usando Java sin necesidad de ningún software 3D especial. Después de eso, guardaremos la escena 3D en un formato de archivo FBX, que es una forma común de compartir material 3D. Vamos a empezar.

En este artículo se tratarán los siguientes temas:

  1. API Java 3D para crear escenas 3D: descarga gratuita
  2. Crea una escena 3D simple en Java
  3. Leer una escena 3D usando Java
  4. Recursos de aprendizaje gratuitos

API Java 3D para crear escenas 3D - Descarga gratuita

Usaremos la API Aspose.3D for Java para crear y leer una escena 3D. Es una API poderosa que le permite crear, editar y guardar escenas 3D en una variedad de formatos. Permite crear y editar mallas, materiales y texturas 3D. La API también permite agregar y configurar luces, cámaras y animaciones.

descargue el JAR de la API o agregue la siguiente configuración pom.xml en una aplicación Java basada en 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>   

Crea una escena 3D simple usando Java

Podemos crear una escena 3D simple siguiendo los pasos a continuación:

  1. Crea una instancia de la clase Escena.
  2. Llame al método createChildNode() para agregar alguna geometría o una forma para mostrar en la pantalla, por ejemplo, un cilindro.
  3. Establezca las propiedades del nodo secundario, como Material.
  4. Inicializa un objeto de clase Light.
  5. Llame al método createChildNode() para agregar una entidad Light.
  6. Finalmente, guarde la escena como FBX usando el método save(). Toma la ruta del archivo de salida y FileFormat.FBX7500ASCII como argumentos.

El siguiente ejemplo de código muestra cómo crear una escena 3D simple usando Java.

// Este ejemplo de código demuestra cómo crear una escena 3D simple y guardarla en un archivo FBX.
// Inicializar escena 3D
Scene scene = new Scene();

// Inicializar objeto cilindro
Cylinder cylinder = new Cylinder();
cylinder.setName("Cylinder");

// Cree un nodo secundario y agregue el objeto Cilindro
Node node = scene.getRootNode().createChildNode(cylinder);

// Establecer propiedades de nodo secundario
LambertMaterial material = new LambertMaterial();
material.setDiffuseColor(null);
material.setName("Lambert");
node.setMaterial(material);

// Agregar entidad de luz
Light light = new Light();
light.setLightType(LightType.POINT);
light.setName("Light");
scene.getRootNode().createChildNode(light).getTransform().setTranslation(new Vector3(10, 0, 10));

// Ruta del archivo de salida
String output = "C:\\Files\\document.fbx";

// Guardar documento de escena 3D
scene.save(output, FileFormat.FBX7500ASCII);
Crea una escena 3D simple usando Java

Cree una escena 3D simple usando Java.

Leer escena 3D usando Java

También podemos cargar un documento FBX y leer una escena 3D siguiendo los pasos a continuación:

  1. Crea una instancia de la clase Escena.
  2. Cargue un documento 3D existente utilizando el método open().
  3. Recorrer las propiedades de ChildNodes
  4. Finalmente, muestre los valores de las propiedades.

El siguiente código de ejemplo muestra cómo cargar y leer una escena 3D usando Java.

// Este ejemplo de código demuestra cómo leer una escena 3D desde un archivo FBX.
// Inicializar un objeto de clase Escena
Scene scene = new Scene();

// Cargar un documento 3D existente
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();

        // Listar todas las propiedades usando 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

Obtenga una licencia gratuita

Puede obtener una licencia temporal gratuita para probar Aspose.3D for Java sin limitaciones de evaluación.

Recursos de aprendizaje gratuitos

Además de crear o leer una escena 3D sencilla, obtenga más información sobre la biblioteca y explore otras funciones utilizando los recursos siguientes:

Conclusión

En este artículo, hemos aprendido cómo crear una escena 3D en Java. También hemos visto cómo renderizar una escena 3D en formato FBX y leer sus notas secundarias y propiedades mediante programación en Java. Al aprovechar Aspose.3D for Java, puede simplificar la programación de gráficos 3D en aplicaciones Java. En caso de cualquier ambigüedad, no dude en contactarnos en nuestro foro de soporte gratuito.

Ver también