Scene
Methods
Methods Scene class in Aspose.3D는 3D 콘텐츠의 루트 컨테이너 역할을 하며, 최상위 객체를 관리하고 씬 계층 구조의 부모/자식 관계 관리를 가능하게 합니다. 루트 노드와 서브 씬에 대한 접근을 제공하여 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 클래스는 인자를 제공하지 않아 빈 씬을 생성하거나, 선택적 매개변수를 사용하여 인스턴스화할 수 있습니다.
| Methods | Methods | Methods |
|---|---|---|
name | str | 씬의 선택적 이름 |
entity | Entity | 생성 시 루트 노드에 연결할 선택적 엔티티 |
parent_scene | Scene | 선택적 부모 씬(서브 씬용) |
from aspose.threed import Scene
# Empty scene
scene = Scene()
# Access the root node (property, not a method)
root = scene.root_node클래스 메서드
| Methods | 반환 타입 | Methods |
|---|---|---|
Scene.from_file(file_path) | Scene | 지정된 파일 경로에서 씬을 로드하며, 형식을 자동으로 감지합니다. 정확히 하나의 인자를 받습니다. |
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 및 기타 씬 수준 속성은 속성; 괄호 없이 접근합니다.
| Methods | Methods | Methods |
|---|---|---|
root_node | Node | 씬 계층 구조의 루트 노드. 속성으로 접근: scene.root_node |
sub_scenes | list[Scene] | 이 씬에 중첩된 서브 씬 |
asset_info | AssetInfo | 작성자, 생성 날짜, 단위와 같은 에셋 메타데이터 |
animation_clips | list[AnimationClip] | 씬에 정의된 애니메이션 클립 |
current_animation_clip | `AnimationClip | None` |
library | list[CustomObject] | 사용자 정의 메타데이터 객체가 씬에 첨부됨. |
name | str | 씬 객체의 이름 |
properties | PropertyCollection | 씬에 부착된 사용자 정의 속성 |
Methods
| Methods | 반환 유형 | Methods |
|---|---|---|
save(file_path) | None | 장면을 파일에 저장합니다; 형식은 확장자에서 추론됩니다 |
save(file_path, format) | None | 지정된 위치에 장면을 파일에 저장합니다 FileFormat |
save(file_path, options) | None | 형식별 저장 옵션을 사용하여 장면을 저장합니다 |
get_property(name) | Any | 이름으로 속성 값을 가져옵니다 |
find_property(name) | Optional[Property] | 이름으로 속성을 찾습니다 |
create_animation_clip(name) | AnimationClip | 새로운 이름이 지정된 애니메이션 클립을 생성하고 장면에 추가합니다 |
get_animation_clip(name) | `AnimationClip | None` |
clear() | None | 장면의 모든 내용을 지웁니다 |
참고: root_node 는 속성 에 있는 Scene 클래스이며, 메서드가 아닙니다. 작성하지 마세요 scene.root_node(); 올바른 접근 방식은 scene.root_node.
Methods
씬을 생성하고, 메시 노드를 추가한 뒤 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)