Utwórz scenę 3D w Javie

Scena 3D to sposób na pokazanie kształtów 3D na komputerze. W tym przewodniku dowiemy się, jak stworzyć scenę 3D przy użyciu języka Java bez konieczności stosowania specjalnego oprogramowania 3D. Następnie zapiszemy scenę 3D w formacie pliku FBX, który jest powszechnym sposobem udostępniania materiałów 3D. Zacznijmy więc.

W tym artykule zostaną omówione następujące tematy:

  1. Java 3D API do tworzenia scen 3D — pobierz bezpłatnie
  2. Utwórz prostą scenę 3D w Javie
  3. Przeczytaj scenę 3D przy użyciu języka Java
  4. Bezpłatne zasoby edukacyjne

Java 3D API do tworzenia scen 3D - pobierz za darmo

Do tworzenia i odczytywania sceny 3D użyjemy interfejsu API Aspose.3D for Java. Jest to potężny interfejs API, który umożliwia tworzenie, edytowanie i zapisywanie scen 3D w różnych formatach. Umożliwia tworzenie i edycję siatek, materiałów i tekstur 3D. API umożliwia także dodawanie i konfigurowanie świateł, kamer i animacji.

Proszę pobierz plik JAR interfejsu API lub dodaj następującą konfigurację pom.xml w aplikacji Java opartej na 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>   

Utwórz prostą scenę 3D przy użyciu języka Java

Możemy stworzyć prostą scenę 3D, wykonując poniższe kroki:

  1. Utwórz instancję klasy Scene.
  2. Wywołaj metodę createChildNode(), aby dodać geometrię lub kształt do wyświetlenia na ekranie, np. walec.
  3. Ustaw właściwości węzła podrzędnego, takie jak Materiał.
  4. Zainicjuj obiekt klasy Light.
  5. Wywołaj metodę createChildNode(), aby dodać jednostkę Light.
  6. Na koniec zapisz scenę jako FBX, używając metody save(). Jako argumenty przyjmuje ścieżkę pliku wyjściowego i FileFormat.FBX7500ASCII.

Poniższy przykładowy kod pokazuje, jak utworzyć prostą scenę 3D przy użyciu języka Java.

// Ten przykład kodu demonstruje, jak utworzyć prostą scenę 3D i zapisać ją w pliku FBX.
// Zainicjuj scenę 3D
Scene scene = new Scene();

// Zainicjuj obiekt Cylinder
Cylinder cylinder = new Cylinder();
cylinder.setName("Cylinder");

// Utwórz węzeł podrzędny i dodaj obiekt Cylinder
Node node = scene.getRootNode().createChildNode(cylinder);

// Ustaw właściwości węzła podrzędnego
LambertMaterial material = new LambertMaterial();
material.setDiffuseColor(null);
material.setName("Lambert");
node.setMaterial(material);

// Dodaj element Światła
Light light = new Light();
light.setLightType(LightType.POINT);
light.setName("Light");
scene.getRootNode().createChildNode(light).getTransform().setTranslation(new Vector3(10, 0, 10));

// Ścieżka pliku wyjściowego
String output = "C:\\Files\\document.fbx";

// Zapisz dokument sceny 3D
scene.save(output, FileFormat.FBX7500ASCII);
Utwórz prostą scenę 3D przy użyciu języka Java

Utwórz prostą scenę 3D przy użyciu języka Java.

Przeczytaj scenę 3D za pomocą Java

Możemy także załadować dokument FBX i odczytać scenę 3D, wykonując poniższe czynności:

  1. Utwórz instancję klasy Scene.
  2. Załaduj istniejący dokument 3D za pomocą metody open().
  3. Przejdź do właściwości ChildNodes w pętli
  4. Na koniec wyświetl wartości właściwości.

Poniższy przykładowy kod pokazuje, jak załadować i odczytać scenę 3D przy użyciu języka Java.

// Ten przykład kodu demonstruje, jak odczytać scenę 3D z pliku FBX
// Zainicjuj obiekt klasy Scene
Scene scene = new Scene();

// Załaduj istniejący dokument 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();

        // Wyświetl listę wszystkich właściwości za pomocą fore
        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

Zdobądź bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować Aspose.3D for Java bez ograniczeń ewaluacyjnych.

Bezpłatne zasoby edukacyjne

Oprócz tworzenia lub czytania prostych scen 3D możesz dowiedzieć się więcej o bibliotece i poznać różne inne funkcje, korzystając z poniższych zasobów:

Wniosek

W tym artykule dowiedzieliśmy się, jak stworzyć scenę 3D w Javie. Widzieliśmy także, jak renderować scenę 3D w formacie FBX i programowo czytać jej notatki i właściwości podrzędne w Javie. Wykorzystując Aspose.3D for Java, możesz uprościć programowanie grafiki 3D w aplikacjach Java. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym bezpłatnym forum pomocy technicznej.

Zobacz też