Camera

Methods: aspose.threed.entities (aspose-3d-foss)

Camera es un Entity que define un punto de vista en una escena 3D. Controla cómo se proyecta la escena en un plano de imagen 2D. Una cámara está adjunta a un Node para posicionarla y orientarla en la escena.

class Camera(Entity):

Methods

A3DObjectSceneObjectEntityCamera


Notas de implementación

En esta edición de aspose-3d-foss, el Camera clase es una esqueleto de declaración. projection_type Solo name ynear_plane, far_plane, field_of_view, aspect_ratio,se almacenan y pueden recuperarse funcionalmente. Todas las demás propiedades ( , etc.) tienen setters que no hacen nada; los valores asignados no se conservan. La lectura de estas propiedades devuelve el valor predeterminado de la clase sin importar lo que se haya asignado.

Al importar datos de cámara desde un archivo 3D (glTF, FBX), el projection_type se analiza correctamente. Otros atributos de cámara están disponibles si el formato los almacena como metadatos del grafo de escena.


Methods

Camera(name: str = None, projection_type: str = "PERSPECTIVE")
MethodsMethodsMethodsMethods
name`strNone`None
projection_typestr"PERSPECTIVE"Tipo de proyección inicial. Utilice ProjectionType.PERSPECTIVE o ProjectionType.ORTHOGRAPHIC.

Methods

MethodsMethodsMethods
projection_typestrModo de proyección: "PERSPECTIVE" o "ORTHOGRAPHIC". Establezca con ProjectionType constantes.
near_planefloatDistancia al plano de recorte cercano. La geometría más cercana que esto no se renderiza. Predeterminado 0.1.
far_planefloatDistancia al plano de recorte lejano. La geometría más lejana que esto no se renderiza. Predeterminado 1000.0.
field_of_viewfloatCampo de visión vertical en grados (solo cámaras en perspectiva). Predeterminado 0.0.
field_of_view_xfloatCampo de visión horizontal en grados. Predeterminado 0.0.
field_of_view_yfloatCampo de visión vertical en grados (igual que field_of_view). Predeterminado 0.0.
aspect_ratiofloatRelación ancho/alto de la imagen de salida. Predeterminado 1.0.
ortho_heightfloatAltura del volumen de vista ortográfica en unidades del mundo (solo cámaras ortográficas). Predeterminado 100.0.
namestrNombre del objeto cámara.

Ejemplos de uso

Methods: En esta edición, solo projection_type se almacena funcionalmente. Las asignaciones de propiedades para near_plane, far_plane, field_of_view, y aspect_ratio se aceptan sin error pero no persisten.

Cámara en 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ámara 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)

Leer cámara después de la importación

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}")

Ver también

 Español