Scene — Aspose.3D FOSS for Java

Example

Example Scene Η κλάση στο Aspose.3D λειτουργεί ως το ριζικό κοντέινερ για 3D περιεχόμενο, διαχειρίζεται αντικείμενα ανώτερου επιπέδου και επιτρέπει τη διαχείριση σχέσεων γονέα/παιδιού για την ιεραρχία της σκηνής. Παρέχει πρόσβαση σε ριζικούς κόμβους και υπο‑σκηνές, σχηματίζοντας το σημείο εισόδου για τη φόρτωση, την κατασκευή και την αποθήκευση 3D σκηνών.

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 Η κλάση μπορεί να δημιουργηθεί χωρίς ορίσματα για να δημιουργήσει μια κενή σκηνή, ή με προαιρετικές παραμέτρους.

ExampleExampleExample
entityEntityΠροαιρετική οντότητα για προσάρτηση στον ριζικό κόμβο κατά τη δημιουργία
parentSceneSceneΠροαιρετική γονική σκηνή (για υπο‑σκηνές); απαιτεί όνομα
nameStringΌνομα σκηνής (χρησιμοποιείται μόνο με τον δι‑ορισματικό Scene(Scene, String) κατασκευαστή)
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();

Μέθοδοι κλάσης

ExampleΤύπος ΕπιστροφήςExample
Scene.fromFile(String filePath)SceneΦορτώνει μια σκηνή από τη συγκεκριμένη διαδρομή αρχείου, ανιχνεύοντας αυτόματα τη μορφή.
Scene.fromFile(String filePath, LoadOptions options)SceneΦορτώνει μια σκηνή με επιλογές φόρτωσης ειδικές για τη μορφή.
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

Όλες οι ιδιότητες προσπελάζονται μέσω μεθόδων getter/setter.

ExampleExampleExampleExampleExample
rootNodeNodegetRootNode()Ριζικός κόμβος της ιεραρχίας της σκηνής
subScenesList<Scene>getSubScenes()Υπο‑σκηνές ενσωματωμένες σε αυτή τη σκηνή
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)Μεταδεδομένα περιουσιακού στοιχείου όπως ο συγγραφέας, η ημερομηνία δημιουργίας και οι μονάδες
animationClipsList<AnimationClip>getAnimationClips()Animation clips που ορίζονται στη σκηνή
currentAnimationClipAnimationClipgetCurrentAnimationClip()setCurrentAnimationClip(AnimationClip)Το τρέχον ενεργό animation clip
libraryList<A3DObject>getLibrary()Αντικείμενα μεταδεδομένων ορισμένα από τον χρήστη που είναι προσαρτημένα στη σκηνή
nameStringgetName()setName(String)Όνομα του αντικειμένου σκηνής
propertiesPropertyCollectiongetProperties()Προσαρμοσμένες ιδιότητες που έχουν προσαρτηθεί στη σκηνή

Example

ExampleΤύπος ΕπιστροφήςExample
save(String filePath)voidΑποθηκεύει τη σκηνή σε αρχείο· η μορφή προκύπτει από την επέκταση
save(String filePath, FileFormat format)voidΑποθηκεύει τη σκηνή σε αρχείο στην καθορισμένη FileFormat
save(String filePath, SaveOptions options)voidΑποθηκεύει τη σκηνή χρησιμοποιώντας επιλογές αποθήκευσης ειδικές για τη μορφή
open(String filePath)voidΑνοίγει ένα αρχείο σε αυτή τη σκηνή· η μορφή προκύπτει από την επέκταση
open(String filePath, LoadOptions options)voidΑνοίγει ένα αρχείο με επιλογές φόρτωσης ειδικές για τη μορφή
getProperty(String name)ObjectΛαμβάνει την τιμή μιας ιδιότητας με βάση το όνομα
findProperty(String name)PropertyΒρίσκει μια ιδιότητα με βάση το όνομα
createAnimationClip(String name)AnimationClipΔημιουργεί ένα νέο ονομασμένο animation clip και το προσθέτει στη σκηνή
getAnimationClip(String name)AnimationClipΒρίσκει ένα υπάρχον animation clip με βάση το όνομα, ή null αν δεν βρεθεί
clear()voidΚαθαρίζει όλο το περιεχόμενο από τη σκηνή

Example

Δημιουργήστε μια σκηνή, προσθέστε έναν κόμβο πλέγματος και αποθηκεύστε σε GLB:

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

Δείτε επίσης

 Ελληνικά