Java içinde 3D Modelleri Nasıl Yüklenir

Java içinde 3D Modelleri Nasıl Yüklenir

aspose-3d-foss Java için 3D dosyalarını açmak için basit bir API sağlar. Bir dosyayı bir Scene nesneye yükledikten sonra düğüm hiyerarşisini gezebilir ve geometri verilerini okuyabilirsiniz.

Adım Adım Kılavuz

Adım 1: Paketi Yükleyin

Maven bağımlılığını ekleyin:

<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>aspose-3d-foss</artifactId>
  <version>26.1.0</version>
</dependency>

Adım 2: Scene Sınıfını İçe Aktarın

import com.aspose.threed.Scene;
import com.aspose.threed.Node;
import com.aspose.threed.Mesh;

Adım 3: Bir Dosya Yükleyin

Scene scene = new Scene();
scene.open("model.obj");

Veya statik fabrikayı kullanın:

Scene scene = Scene.fromFile("model.obj");

Desteklenen formatlar: OBJ, STL, glTF 2.0 / GLB, FBX (yalnızca ikili — ASCII FBX desteklenmez ve hata verir ImportException).


Adım 4: Scene Düğümlerini Gezin

void walk(Node node, int depth) {
    String indent = " ".repeat(depth * 2);
    System.out.println(indent + "Node: " + node.getName());
    for (Node child : node.getChildNodes()) {
        walk(child, depth + 1);
    }
}

walk(scene.getRootNode(), 0);

Adım 5: Mesh Verilerine Erişin

for (Node node : scene.getRootNode().getChildNodes()) {
    if (node.getEntity() instanceof Mesh) {
        Mesh mesh = (Mesh) node.getEntity();
        System.out.println("Mesh '" + node.getName() + "': " +
            mesh.getControlPoints().size() + " vertices, " +
            mesh.getPolygonCount() + " polygons");
    }
}

Yaygın Sorunlar ve Çözümler

Yükleme sırasında İstisna

Dosyanın bozulmadığını ve formatın desteklendiğini (OBJ, STL, glTF, FBX) doğrulayın.

Varlığa erişirken NullPointerException

Her düğüm geometri taşımaz. Her zaman kontrol edin node.getEntity() instanceof Mesh dönüştürmeden önce.

Koordinat sistemi uyumsuzluğu

Kullan ObjLoadOptions.setFlipCoordinateSystem(true) veya yükleme sonrasında bir dönüş uygulayın.


Sık Sorulan Sorular (SSS)

Hangi formatları yükleyebilirim?

OBJ, STL (ikili ve ASCII), glTF 2.0 / GLB ve FBX. FBX için yalnızca ikili FBX desteklenir. ASCII FBX dosyaları hata verir ImportException("ASCII FBX format not yet supported - only binary FBX is supported").

Bir InputStream’den yükleyebilir miyim?

Evet. scene.open() bir kabul eder InputStream.

Kütüphane çoklu iş parçacığı (thread) güvenli mi?

Her Scene örnek bağımsızdır. Ayrı dosyaları ayrı örneklerde ayrı iş parçacıklarından yüklemek güvenlidir.

 Türkçe