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
A3DObject → SceneObject → Entity → Camera
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")| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | `str | None` | None |
projection_type | str | "PERSPECTIVE" | Tipo de proyección inicial. Utilice ProjectionType.PERSPECTIVE o ProjectionType.ORTHOGRAPHIC. |
Methods
| Methods | Methods | Methods |
|---|---|---|
projection_type | str | Modo de proyección: "PERSPECTIVE" o "ORTHOGRAPHIC". Establezca con ProjectionType constantes. |
near_plane | float | Distancia al plano de recorte cercano. La geometría más cercana que esto no se renderiza. Predeterminado 0.1. |
far_plane | float | Distancia al plano de recorte lejano. La geometría más lejana que esto no se renderiza. Predeterminado 1000.0. |
field_of_view | float | Campo de visión vertical en grados (solo cámaras en perspectiva). Predeterminado 0.0. |
field_of_view_x | float | Campo de visión horizontal en grados. Predeterminado 0.0. |
field_of_view_y | float | Campo de visión vertical en grados (igual que field_of_view). Predeterminado 0.0. |
aspect_ratio | float | Relación ancho/alto de la imagen de salida. Predeterminado 1.0. |
ortho_height | float | Altura del volumen de vista ortográfica en unidades del mundo (solo cámaras ortográficas). Predeterminado 100.0. |
name | str | Nombre 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}")