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

A3DObjectSceneObjectEntityCamera


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")
MethodsMethodsMethodsMethods
name`strNone`None
projection_typestr"PERSPECTIVE"Tipus de projecció inicial. Utilitzeu ProjectionType.PERSPECTIVE o ProjectionType.ORTHOGRAPHIC.

Methods

MethodsMethodsMethods
projection_typestrMode de projecció: "PERSPECTIVE" o "ORTHOGRAPHIC". Estableix amb ProjectionType constants.
near_planefloatDistància al pla de retallada proper. La geometria més propera que això no es renderitza. Per defecte 0.1.
far_planefloatDistància al pla de retallada llunyà. La geometria més llunyana que això no es renderitza. Per defecte 1000.0.
field_of_viewfloatCamp de visió vertical en graus (només càmeres de perspectiva). Per defecte 0.0.
field_of_view_xfloatCamp de visió horitzontal en graus. Per defecte 0.0.
field_of_view_yfloatCamp de visió vertical en graus (igual que field_of_view). Per defecte 0.0.
aspect_ratiofloatRelació amplada/alçada de la imatge de sortida. Per defecte 1.0.
ortho_heightfloatAlçada del volum de vista ortogràfica en unitats del món (només càmeres ortogràfiques). Per defecte 100.0.
namestrNom 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}")

Vegeu també

 Català