Erstellen Sie eine 3D-Szene in Java

Eine 3D-Szene ist eine Möglichkeit, 3D-Formen auf einem Computer anzuzeigen. In dieser Anleitung erfahren Sie, wie Sie mit Java eine 3D-Szene erstellen, ohne dass eine spezielle 3D-Software erforderlich ist. Danach speichern wir die 3D-Szene im Dateiformat FBX, was eine gängige Methode zum Teilen von 3D-Inhalten ist. Also, fangen wir an.

Die folgenden Themen sollen in diesem Artikel behandelt werden:

  1. Java 3D API zum Erstellen einer 3D-Szene – kostenloser Download
  2. Erstellen Sie eine einfache 3D-Szene in Java
  3. Eine 3D-Szene mit Java lesen
  4. Kostenlose Lernressourcen

Java 3D API zum Erstellen einer 3D-Szene – kostenloser Download

Wir werden die API Aspose.3D for Java verwenden, um eine 3D-Szene zu erstellen und zu lesen. Es handelt sich um eine leistungsstarke API, mit der Sie 3D-Szenen in verschiedenen Formaten erstellen, bearbeiten und speichern können. Es ermöglicht das Erstellen und Bearbeiten von 3D-Netzen, Materialien und Texturen. Die API ermöglicht auch das Hinzufügen und Konfigurieren von Lichtern, Kameras und Animationen.

Bitte laden Sie die JAR der API herunter oder fügen Sie die folgende pom.xml-Konfiguration in einer Maven-basierten Java-Anwendung hinzu.

<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>   

Erstellen Sie eine einfache 3D-Szene mit Java

Wir können eine einfache 3D-Szene erstellen, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie eine Instanz der Scene Klasse.
  2. Rufen Sie die Methode createChildNode() auf, um Geometrie oder eine Form hinzuzufügen, die auf dem Bildschirm angezeigt werden soll, z. B. einen Zylinder.
  3. Legen Sie Eigenschaften für untergeordnete Knoten wie Material fest.
  4. Initialisieren Sie ein Light Klassenobjekt.
  5. Rufen Sie die Methode createChildNode() auf, um eine Light-Entität hinzuzufügen.
  6. Speichern Sie abschließend die Szene mit der Methode save() als FBX. Als Argumente werden der Ausgabedateipfad und FileFormat.FBX7500ASCII verwendet.

Das folgende Codebeispiel zeigt, wie Sie mit Java eine einfache 3D-Szene erstellen.

// Dieses Codebeispiel zeigt, wie Sie eine einfache 3D-Szene erstellen und in einer FBX-Datei speichern.
// 3D-Szene initialisieren
Scene scene = new Scene();

// Zylinderobjekt initialisieren
Cylinder cylinder = new Cylinder();
cylinder.setName("Cylinder");

// Erstellen Sie einen untergeordneten Knoten und fügen Sie ein Zylinderobjekt hinzu
Node node = scene.getRootNode().createChildNode(cylinder);

// Legen Sie die Eigenschaften des untergeordneten Knotens fest
LambertMaterial material = new LambertMaterial();
material.setDiffuseColor(null);
material.setName("Lambert");
node.setMaterial(material);

// Fügen Sie eine Lichteinheit hinzu
Light light = new Light();
light.setLightType(LightType.POINT);
light.setName("Light");
scene.getRootNode().createChildNode(light).getTransform().setTranslation(new Vector3(10, 0, 10));

// Pfad der Ausgabedatei
String output = "C:\\Files\\document.fbx";

// Speichern Sie das 3D-Szenendokument
scene.save(output, FileFormat.FBX7500ASCII);
Erstellen Sie eine einfache 3D-Szene mit Java

Erstellen Sie eine einfache 3D-Szene mit Java.

Lesen Sie die 3D-Szene mit Java

Wir können auch ein FBX Dokument laden und eine 3D-Szene lesen, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie eine Instanz der Scene Klasse.
  2. Laden Sie ein vorhandenes 3D Dokument mit der Methode open().
  3. Durchlaufen Sie ChildNodes-Eigenschaften
  4. Zeigen Sie abschließend die Eigenschaftswerte an.

Das folgende Codebeispiel zeigt, wie eine 3D-Szene mit Java geladen und gelesen wird.

// Dieses Codebeispiel zeigt, wie eine 3D-Szene aus einer FBX-Datei gelesen wird
// Initialisieren Sie ein Scene Klassenobjekt
Scene scene = new Scene();

// Laden Sie ein vorhandenes 3D Dokument
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();

        // Listen Sie alle Eigenschaften mit foreach auf
        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

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erwerben, um Aspose.3D for Java ohne Evaluierungseinschränkungen auszuprobieren.

Kostenlose Lernressourcen

Neben dem Erstellen oder Lesen einer einfachen 3D-Szene können Sie mithilfe der folgenden Ressourcen mehr über die Bibliothek erfahren und verschiedene andere Funktionen erkunden:

Abschluss

In diesem Artikel haben wir gelernt, wie man eine 3D-Szene in Java erstellt. Wir haben auch gesehen, wie man eine 3D-Szene im FBX-Format rendert und ihre untergeordneten Notizen und Eigenschaften programmgesteuert in Java liest. Durch die Nutzung von Aspose.3D for Java können Sie die 3D-Grafikprogrammierung in Java-Anwendungen vereinfachen. Bei Unklarheiten können Sie uns gerne in unserem kostenlosen Support-Forum kontaktieren.

Siehe auch