Scene
Methods
Methods Scene La classe dans Aspose.3D sert de conteneur racine pour le contenu 3D, gérant les objets de niveau supérieur et permettant la gestion des relations parent/enfant pour la hiérarchie de la scène. Elle fournit l’accès aux nœuds racines et aux sous‑scènes, constituant le point d’entrée pour le chargement, la construction et l’enregistrement des scènes 3D.
from aspose.threed import Scene
# Create an empty scene
scene = Scene()
# Access the root node: root_node is a property, not a method call
root = scene.root_nodeMethods
Methods Scene La classe peut être instanciée sans arguments pour créer une scène vide, ou avec des paramètres optionnels.
| Methods | Methods | Methods |
|---|---|---|
name | str | Nom optionnel de la scène |
entity | Entity | Entité optionnelle à attacher au nœud racine lors de la création |
parent_scene | Scene | Scène parent optionnelle (pour les sous‑scènes) |
from aspose.threed import Scene
# Empty scene
scene = Scene()
# Access the root node (property, not a method)
root = scene.root_nodeMéthodes de classe
| Methods | Type de retour | Methods |
|---|---|---|
Scene.from_file(file_path) | Scene | Charge une scène depuis le chemin de fichier spécifié, en détectant automatiquement le format. Accepte exactement un argument. |
from aspose.threed import Scene
from aspose.threed.formats import ObjLoadOptions
# Load from file (format detected from extension)
scene = Scene.from_file("model.obj")
# To pass load options, use scene.open() instead:
opts = ObjLoadOptions()
scene = Scene()
scene.open("model.obj", opts)Methods
root_node et d’autres attributs au niveau de la scène sont des propriétés; accédez-y sans parenthèses.
| Methods | Methods | Methods |
|---|---|---|
root_node | Node | Nœud racine de la hiérarchie de la scène. Accédez-y comme une propriété : scene.root_node |
sub_scenes | list[Scene] | Sous‑scènes imbriquées dans cette scène |
asset_info | AssetInfo | Métadonnées de l’actif telles que l’auteur, la date de création et les unités |
animation_clips | list[AnimationClip] | Clips d’animation définis dans la scène |
current_animation_clip | `AnimationClip | None` |
library | list[CustomObject] | Objets de métadonnées définis par l’utilisateur attachés à la scène. |
name | str | Nom de l’objet de scène |
properties | PropertyCollection | Propriétés personnalisées attachées à la scène |
Methods
| Methods | Type de retour | Methods |
|---|---|---|
save(file_path) | None | Enregistre la scène dans un fichier ; le format est déduit de l’extension |
save(file_path, format) | None | Enregistre la scène dans un fichier dans le format spécifié FileFormat |
save(file_path, options) | None | Enregistre la scène en utilisant des options d’enregistrement spécifiques au format |
get_property(name) | Any | Obtient la valeur d’une propriété par son nom |
find_property(name) | Optional[Property] | Trouve une propriété par son nom |
create_animation_clip(name) | AnimationClip | Crée un nouveau clip d’animation nommé et l’ajoute à la scène |
get_animation_clip(name) | `AnimationClip | None` |
clear() | None | Efface tout le contenu de la scène |
Remarque : root_node est un propriété sur le Scene classe, pas une méthode. Ne pas écrire scene.root_node(); l’accès correct est scene.root_node.
Methods
Créez une scène, ajoutez un nœud maillage et enregistrez en GLB :
from aspose.threed import Scene
from aspose.threed.entities import Mesh
from aspose.threed.formats import GltfSaveOptions
from aspose.threed.utilities import Vector4
# Create scene and mesh
# Note: control_points returns a copy — use _control_points to add vertices
scene = Scene()
mesh = Mesh()
mesh._control_points.append(Vector4(0, 0, 0, 1))
mesh._control_points.append(Vector4(1, 0, 0, 1))
mesh._control_points.append(Vector4(0.5, 1, 0, 1))
mesh.create_polygon(0, 1, 2)
# Add node to root: root_node is a property
node = scene.root_node.create_child_node("triangle", mesh)
# Save as GLB using GltfSaveOptions with binary_mode
opts = GltfSaveOptions()
opts.binary_mode = True
scene.save("triangle.glb", opts)