Crie cena 3D em Java

Uma cena 3D é uma forma de mostrar formas 3D em um computador. Neste guia, aprenderemos como criar uma cena 3D usando Java sem precisar de nenhum software 3D especial. Depois disso, salvaremos a cena 3D em um formato de arquivo FBX, que é uma forma comum de compartilhar coisas 3D. Então, vamos começar.

Os seguintes tópicos serão abordados neste artigo:

  1. API Java 3D para criar cena 3D – download gratuito
  2. Crie uma cena 3D simples em Java
  3. Leia uma cena 3D usando Java
  4. Recursos de aprendizagem gratuitos

API Java 3D para criar cenas 3D - download grátis

Usaremos a API Aspose.3D for Java para criar e ler uma cena 3D. É uma API poderosa que permite criar, editar e salvar cenas 3D em uma variedade de formatos. Permite criar e editar malhas, materiais e texturas 3D. A API também permite adicionar e configurar luzes, câmeras e animações.

Por favor baixe o JAR da API ou adicione a seguinte configuração pom.xml em um aplicativo Java baseado em 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>   

Crie uma cena 3D simples usando Java

Podemos criar uma cena 3D simples seguindo as etapas abaixo:

  1. Crie uma instância da classe Scene.
  2. Chame o método createChildNode() para adicionar alguma geometria ou forma para mostrar na tela, por exemplo, um cilindro.
  3. Defina as propriedades do nó filho, como Material.
  4. Inicialize um objeto da classe Light.
  5. Chame o método createChildNode() para adicionar uma entidade Light.
  6. Finalmente, salve a cena como FBX usando o método save(). Ele usa o caminho do arquivo de saída e FileFormat.FBX7500ASCII como argumentos.

O exemplo de código a seguir mostra como criar uma cena 3D simples usando Java.

// Este exemplo de código demonstra como criar uma cena 3D simples e salvá-la em um arquivo FBX.
// Inicializar cena 3D
Scene scene = new Scene();

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

// Crie um nó filho e adicione o objeto Cylinder
Node node = scene.getRootNode().createChildNode(cylinder);

// Definir propriedades do nó filho
LambertMaterial material = new LambertMaterial();
material.setDiffuseColor(null);
material.setName("Lambert");
node.setMaterial(material);

// Adicionar entidade Light
Light light = new Light();
light.setLightType(LightType.POINT);
light.setName("Light");
scene.getRootNode().createChildNode(light).getTransform().setTranslation(new Vector3(10, 0, 10));

// Caminho do arquivo de saída
String output = "C:\\Files\\document.fbx";

// Salvar documento de cena 3D
scene.save(output, FileFormat.FBX7500ASCII);
Crie uma cena 3D simples usando Java

Crie uma cena 3D simples usando Java.

Leia cena 3D usando Java

Também podemos carregar um documento FBX e ler uma cena 3D seguindo os passos abaixo:

  1. Crie uma instância da classe Scene.
  2. Carregue um documento 3D existente usando o método open().
  3. Loop pelas propriedades ChildNodes
  4. Finalmente, exiba os valores das propriedades.

O exemplo de código a seguir mostra como carregar e ler uma cena 3D usando Java.

// Este exemplo de código demonstra como ler uma cena 3D de um arquivo FBX
// Inicialize um objeto da classe Scene
Scene scene = new Scene();

// Carregar um 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();

        // Liste todas as propriedades 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

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar o Aspose.3D for Java sem limitações de avaliação.

Recursos de aprendizagem gratuitos

Além de criar ou ler uma cena 3D simples, conheça mais sobre a biblioteca e explore diversos outros recursos utilizando os recursos abaixo:

Conclusão

Neste artigo, aprendemos como criar uma cena 3D em Java. Também vimos como renderizar uma cena 3D no formato FBX e ler suas notas e propriedades filhas programaticamente em Java. Ao aproveitar o Aspose.3D para Java, você pode simplificar a programação de gráficos 3D em aplicativos Java. Em caso de qualquer ambigüidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.

Veja também