Özellikler ve fonksiyonlar

Özellikler ve fonksiyonlar

Özellikler ve fonksiyonlar

Bu sayfa her önemli özellik alanını kapsamaktadır. Aspose 3D-Foss 26.0 İndir Java örnekleri ile çalışıyoruz.


Sahne yükleme ve tasarruf

scene.open() bir dosyayı yüklemek; scene.save() İhracat yapıyor :

import com.aspose.threed.Scene;

Scene scene = new Scene();
scene.open("input.obj");
scene.save("output.glb");

Statik fabrika alternatifi:

Scene scene = Scene.fromFile("input.fbx");
scene.save("output.stl");

Format Özel Seçenekler

Pasaport LoadOptions veya SaveOptions Fine-gelen kontrol için alt sınıflar:

import com.aspose.threed.*;

Scene scene = new Scene();
ObjLoadOptions opts = new ObjLoadOptions();
opts.setFlipCoordinateSystem(true);
scene.open("model.obj", opts);

GltfSaveOptions saveOpts = new GltfSaveOptions();
saveOpts.setFlipCoordinateSystem(true);
scene.save("model.glb", saveOpts);

Not : FBX yalnızca ithalat için desteklenir; FBx ihracatı FOSS versiyonunda uygulanmaz. İkili FBX Dosyalar ithalat için desteklenir — ASCII FBX atar ImportException.


Bir sahne grafikleri oluşturmak

Node oluşturun ve entiteleri ekleyin:

Scene scene = new Scene();
Node root = scene.getRootNode();

Mesh mesh = new Mesh("myMesh");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.createPolygon(0, 1, 2);

Node meshNode = root.createChildNode("triangle", mesh);

Mesh Operasyonları

A oluşturmak Mesh Kontrol noktaları ve poligonları ile programlı olarak:

Mesh mesh = new Mesh("custom");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.getControlPoints().add(new Vector4(0, 10, 0));
mesh.createPolygon(0, 1, 2, 3);

Transformasyonlar

Herkesin Node A taşıyıcı Transform:

Node node = scene.getRootNode().createChildNode("moved", new Mesh());
node.getTransform().setTranslation(10, 0, 5);
node.getTransform().setScale(2, 2, 2);

Dünya uzayını okuyun node.getGlobalTransform().getMatrix().


Malzeme

Nodeye malzeme ayırın:

import com.aspose.threed.*;

PbrMaterial mat = new PbrMaterial("shiny");
mat.setAlbedo(new Vector4(0.8, 0.2, 0.2, 1.0));
mat.setMetallicFactor(0.5);
mat.setRoughnessFactor(0.3);

scene.getRootNode().createChildNode("red_mesh", mesh, mat);

Malzeme türleri : Material ( Bir temel olarak, PbrMaterial (PBR metal sertliği ile ilgili).


İpuçları ve En İyi Uygulamalar

  • Kullanım Scene.fromFile() Özel seçenekler gerekmediğinde tek çizgi yükler için
  • Programlı olarak yapıştırma ile yapılır. createPolygon() Özel Geometri için
  • Kullanım .glb Kompakt ikili glTF çıkış için uzantı
  • kontrolü node.getEntity() != null casting önce
  • STL ihracat yapıyor Hayır Üçgen poligon yüzü otomatik olarak. Binary STL ihracatı, her poligon yüzünün sadece ilk 3 dikeyini yazar - çeyrek veya n-gon yüzleri sessizce kaydırılır. ASCII ST L ihraç tüm vertex göstergelerini yazır, bu da üçgen olmayan yüzler için bozuk yüz bloklarını üretir. Her zaman veri kaybını veya geçersiz çıkışını önlemek için STl ihranına önceden üçgülli mesheler (tüm üçge yüzlerini) geçer.

ortak sorunlar

KonusebepleriFix
Ücretsiz yükDesteklenmemiş veya yolsuz dosyaDosya açılır kontrol 3D izleyicide
OBJ yükünden sonra kaybolan malzeme.mtl Dosya bulunamadıYerleri .mtl yanında .obj;• Malzemeye izin verilmesini sağlamak
İthalat Sonrası Ölçüm SıkıntısıFarklı birim sistemleriA uygulama Transform Yükleme sonrası ölçek

FAQ

Bir dosya biçimini nasıl tespit edebilirim?

FileFormat format = FileFormat.detect("unknown.bin");
System.out.println(format.getExtension());

Bir akımdan yükleyebilir miyim?

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

Hangi formatı hem ithalat hem de ihracat destekler?

OBJ, STL ve glTF/GLB her iki yönde de destekler. FBX sadece ithal edilir; ihracat FOSS versiyonunda uygulanmaz.


API Referans Özetleri

Sınıf / YöntemAçıklama
SceneÜst düzey 3D sahne konteynerleri
scene.open()3D dosyayı yol veya akım ile yükleyin
scene.save()Dosya veya akış için ihraç sahne
Scene.fromFile()Yükleme ve geri dönüş için statik fabrika a Scene
NodeSezon hierarşisi node
node.createChildNode()Bir çocuk düğmesi oluşturun ve yapıştırın
MeshKontrol noktaları ve yüz listeleri ile poligon çubukları
mesh.createPolygon()Poligon yüzü tanımlayın
Mesh.toMesh()Konvert veya klon mesh geometri
TransformYerel çeviri, dönüş ve ölçek
FileFormatFormatlar için kayıt ve dedektör
 Türkçe