Camera
Methods: aspose.threed.entities (aspose-3d-foss)
Camera és un Entity que defineix un punt de vista en una escena 3D. Controla com la escena es projeta sobre un pla d’imatge 2D. Una camera s’adjunta a una Node per posicionar‑la i orientar‑la a l’escena.
class Camera(Entity):Methods
A3DObject → SceneObject → Entity → Camera
Notes d’implementació
En aquesta edició d’aspose-3d-foss, el Camera class és una declaration stub. Només projection_type i name són emmagatzemats i recuperables funcionalment. Totes les altres propietats (near_plane, far_plane, field_of_view, aspect_ratio, etc.) tenen setters que són no-ops; els valors assignats no es conserven. La lectura d’aquestes propietats retorna el valor per defecte de la class independentment del que s’hagi assignat.
En importar dades de càmera des d’un fitxer 3D (glTF, FBX), el projection_type s’analitza correctament. Altres atributs de la càmera estan disponibles si el format els emmagatzema com a metadades del gràfic d’escena.
Methods
Camera(name: str = None, projection_type: str = "PERSPECTIVE")| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | `str | None` | None |
projection_type | str | "PERSPECTIVE" | Tipus de projecció inicial. Utilitzeu ProjectionType.PERSPECTIVE o ProjectionType.ORTHOGRAPHIC. |
Methods
| Methods | Methods | Methods |
|---|---|---|
projection_type | str | Mode de projecció: "PERSPECTIVE" o "ORTHOGRAPHIC". Estableix amb ProjectionType constants. |
near_plane | float | Distància al pla de retallada proper. La geometria més propera que això no es renderitza. Per defecte 0.1. |
far_plane | float | Distància al pla de retallada llunyà. La geometria més llunyana que això no es renderitza. Per defecte 1000.0. |
field_of_view | float | Camp de visió vertical en graus (només càmeres de perspectiva). Per defecte 0.0. |
field_of_view_x | float | Camp de visió horitzontal en graus. Per defecte 0.0. |
field_of_view_y | float | Camp de visió vertical en graus (igual que field_of_view). Per defecte 0.0. |
aspect_ratio | float | Relació amplada/alçada de la imatge de sortida. Per defecte 1.0. |
ortho_height | float | Alçada del volum de vista ortogràfica en unitats del món (només càmeres ortogràfiques). Per defecte 100.0. |
name | str | Nom de l’objecte càmera. |
Exemples d’ús
Methods: En aquesta edició, només projection_type es desa funcionalment. Les assignacions de propietats per a near_plane, far_plane, field_of_view, i aspect_ratio s’accepten sense error però no persisteixen.
Càmera de perspectiva
from aspose.threed import Scene
from aspose.threed.entities import Camera
from aspose.threed.entities import ProjectionType
scene = Scene()
# projection_type is stored and saved
cam = Camera("MainCamera", ProjectionType.PERSPECTIVE)
node = scene.root_node.create_child_node("camera", cam)
# Position the camera using node transform (this does persist)
node.transform.set_translation(0.0, 5.0, 20.0)
scene.save("scene-with-camera.glb")Càmera ortogràfica
from aspose.threed import Scene, FileFormat
from aspose.threed.entities import Camera, ProjectionType
scene = Scene()
# Only projection_type is retained; other property assignments are no-ops
cam = Camera("OrthoCamera", ProjectionType.ORTHOGRAPHIC)
scene.root_node.create_child_node("ortho_cam", cam)
scene.save("ortho-scene.glb", FileFormat.GLTF)Llegir la càmera després de la importació
from aspose.threed import Scene
from aspose.threed.entities import Camera
scene = Scene()
scene.open("model.glb")
for node in scene.root_node.child_nodes:
if isinstance(node.entity, Camera):
cam = node.entity
# projection_type is reliably populated; other numeric properties
# return default values (0.0 / 1.0) regardless of file content
print(f"Camera '{cam.name}': {cam.projection_type}")