Camera

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

Camera est un Entity qui définit un point de vue dans une scène 3D. Il contrôle la façon dont la scène est projetée sur un plan d’image 2D. Une caméra est attachée à un Node pour la positionner et l’orienter dans la scène.

class Camera(Entity):

Methods

A3DObjectSceneObjectEntityCamera


Notes d’implémentation

Dans cette édition de aspose-3d-foss, le Camera class est un declaration stub. Seuls projection_type et name sont fonctionnellement stockés et récupérables. Toutes les autres propriétés (near_plane, far_plane, field_of_view, aspect_ratio, etc.) ont des mutateurs qui ne font rien ; les valeurs assignées ne sont pas conservées. La lecture de ces propriétés renvoie la valeur par défaut de la classe, quel que soit ce qui a été assigné.

Lors de l’importation des données de caméra à partir d’un fichier 3D (glTF, FBX), le projection_type est analysé correctement. D’autres attributs de caméra sont disponibles si le format les stocke comme métadonnées du graphe de scène.


Methods

Camera(name: str = None, projection_type: str = "PERSPECTIVE")
MethodsMethodsMethodsMethods
name`strNone`None
projection_typestr"PERSPECTIVE"Type de projection initial. Utilisez ProjectionType.PERSPECTIVE ou ProjectionType.ORTHOGRAPHIC.

Methods

MethodsMethodsMethods
projection_typestrMode de projection : "PERSPECTIVE" ou "ORTHOGRAPHIC". Définir avec ProjectionType constantes.
near_planefloatDistance au plan de coupe proche. La géométrie plus proche que cela n’est pas rendue. Valeur par défaut 0.1.
far_planefloatDistance au plan de coupe lointain. La géométrie plus éloignée que cela n’est pas rendue. Valeur par défaut 1000.0.
field_of_viewfloatChamp de vision vertical en degrés (caméras perspective uniquement). Par défaut 0.0.
field_of_view_xfloatChamp de vision horizontal en degrés. Par défaut 0.0.
field_of_view_yfloatChamp de vision vertical en degrés (identique à field_of_view). Par défaut 0.0.
aspect_ratiofloatRatio largeur/hauteur de l’image de sortie. Par défaut 1.0.
ortho_heightfloatHauteur du volume de vue orthographique en unités du monde (caméras orthographiques uniquement). Par défaut 100.0.
namestrNom de l’objet caméra.

Exemples d’utilisation

Methods: Dans cette édition, uniquement projection_type est stocké fonctionnellement. Les affectations de propriétés pour near_plane, far_plane, field_of_view, et aspect_ratio sont acceptées sans erreur mais ne persistent pas.

Caméra perspective

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

Caméra orthographique

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)

Lire la caméra après importation

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

Voir aussi

 Français