Scene — Aspose.3D FOSS for Java
Example
Example Scene class in Aspose.3D, 3D içeriği için kök kapsayıcı görevi görür, üst düzey nesneleri yönetir ve sahne hiyerarşisi için ebeveyn/çocuk ilişki yönetimini etkinleştirir. Kök düğümlere ve alt sahnelere erişim sağlar, 3D sahnelerin yüklenmesi, oluşturulması ve kaydedilmesi için giriş noktasını oluşturur.
import com.aspose.threed.Scene;
// Create an empty scene
Scene scene = new Scene();
// Access the root node via getter method
Node root = scene.getRootNode();Example
Example Scene class, boş bir sahne oluşturmak için argümansız örneklenebilir veya isteğe bağlı parametrelerle oluşturulabilir.
| Example | Example | Example |
|---|---|---|
entity | Entity | Oluşturulurken kök düğüme eklenecek isteğe bağlı varlık |
parentScene | Scene | İsteğe bağlı üst sahne (alt sahneler için); bir isim gerektirir |
name | String | Sahne adı (yalnızca iki argümanlı Scene(Scene, String) yapıcı) |
import com.aspose.threed.Scene;
// Empty scene
Scene scene = new Scene();
// Scene with an initial entity
Scene scene = new Scene(new Mesh());
// Access the root node (getter method)
Node root = scene.getRootNode();Sınıf Metodları
| Example | Dönüş Tipi | Example |
|---|---|---|
Scene.fromFile(String filePath) | Scene | Belirtilen dosya yolundan bir sahneyi yükler, formatı otomatik olarak algılar. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | Format‑spesifik yükleme seçenekleriyle bir sahneyi yükler. |
import com.aspose.threed.Scene;
// Load from file (format detected from extension)
Scene scene = Scene.fromFile("model.obj");
// Load with options
ObjLoadOptions opts = new ObjLoadOptions();
Scene scene = Scene.fromFile("model.obj", opts);Example
Tüm özelliklere getter/setter metodları aracılığıyla erişilir.
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | Sahne hiyerarşisinin kök düğümü |
subScenes | List<Scene> | getSubScenes() | – | Bu sahne içinde iç içe geçmiş alt sahneler |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Yazar, oluşturma tarihi ve birimler gibi varlık meta verileri |
animationClips | List<AnimationClip> | getAnimationClips() | – | Sahnede tanımlı animasyon klipleri |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | Şu anda aktif olan animasyon klibi |
library | List<A3DObject> | getLibrary() | – | Sahneye eklenmiş kullanıcı tanımlı meta veri nesneleri |
name | String | getName() | setName(String) | Sahne nesnesinin adı |
properties | PropertyCollection | getProperties() | – | Sahneye eklenmiş özel özellikler |
Example
| Example | Dönüş Tipi | Example |
|---|---|---|
save(String filePath) | void | Sahneyi bir dosyaya kaydeder; format uzantıdan çıkarılır |
save(String filePath, FileFormat format) | void | Sahneyi belirtilen bir dosyaya kaydeder FileFormat |
save(String filePath, SaveOptions options) | void | Sahneyi biçim‑özel kaydetme seçeneklerini kullanarak kaydeder |
open(String filePath) | void | Bu sahneye bir dosya açar; biçim uzantıdan çıkarılır |
open(String filePath, LoadOptions options) | void | Biçim‑özel yükleme seçenekleriyle bir dosya açar |
getProperty(String name) | Object | Adına göre bir özellik değerini alır |
findProperty(String name) | Property | Adına göre bir özelliği bulur |
createAnimationClip(String name) | AnimationClip | Yeni adlandırılmış bir animasyon klibi oluşturur ve sahneye ekler |
getAnimationClip(String name) | AnimationClip | Adına göre mevcut bir animasyon klibini bulur, ya da null bulunamazsa |
clear() | void | Sahneden tüm içeriği temizler |
Example
Bir sahne oluşturun, bir mesh düğümü ekleyin ve GLB olarak kaydedin:
import com.aspose.threed.Scene;
import com.aspose.threed.FileFormat;
// Create scene and mesh
Scene scene = new Scene();
Mesh mesh = new Mesh();
mesh.getControlPoints().add(new Vector4(0, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(1, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(0.5, 1, 0, 1));
mesh.createPolygon(0, 1, 2);
// Add node to root
Node node = scene.getRootNode().createChildNode("triangle", mesh);
// Save as GLB
GltfSaveOptions glbOpts = new GltfSaveOptions();
glbOpts.setContentType(FileContentType.BINARY);
scene.save("triangle.glb", glbOpts);