Camera

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

Camera ir Entity kas definē skatpunktu 3D ainas. Tas kontrolē, kā aina tiek projekcēta uz 2D attēla plaknes. Kamera ir pievienota Node lai to novietotu un orientētu ainas vidū.

class Camera(Entity):

Methods

A3DObjectSceneObjectEntityCamera


Implementācijas piezīmes

Šajā aspose-3d-foss izdevumā, Camera klase ir deklarācijas šablons. Tikai projection_type un name tiek funkcionāli saglabāti un atgūti. Visas citas īpašības (near_plane, far_plane, field_of_view, aspect_ratio, utt.) ir ar iestatītājiem, kas nav operācijas; piešķirtās vērtības netiek saglabātas. Atgriežot šīs īpašības, tiek atgriezta klases noklusējuma vērtība neatkarīgi no tam piešķirtā.

Importējot kameras datus no 3D faila (glTF, FBX), projection_type tiek pareizi parsēts. Citi kameras atribūti ir pieejami, ja formāts saglabā tos kā ainas grafika metadatus.


Methods

Camera(name: str = None, projection_type: str = "PERSPECTIVE")
MethodsMethodsMethodsMethods
name`strNone`None
projection_typestr"PERSPECTIVE"Sākotnējais projekcijas veids. Izmantojiet ProjectionType.PERSPECTIVE vai ProjectionType.ORTHOGRAPHIC.

Methods

MethodsMethodsMethods
projection_typestrProjekcijas režīms: "PERSPECTIVE" vai "ORTHOGRAPHIC". Iestatīt ar ProjectionType konstantes.
near_planefloatAttālums līdz tuvākajai apgriešanas plaknei. Ģeometrija, kas ir tuvāk nekā šis, netiek renderēta. Noklusējums 0.1.
far_planefloatAttālums līdz tālākajai apgriešanas plaknei. Ģeometrija, kas ir tālāk nekā šis, netiek renderēta. Noklusējums 1000.0.
field_of_viewfloatVertikālais skata lauks grādos (tikai perspektīvas kameras). Noklusējums 0.0.
field_of_view_xfloatHorizontālais skata lauks grādos. Noklusējums 0.0.
field_of_view_yfloatVertikālais redzes lauks grādos (tāds pats kā field_of_view). Noklusējums 0.0.
aspect_ratiofloatIzvades attēla platuma‑augstuma attiecība. Noklusējums 1.0.
ortho_heightfloatOrtogrāfiskā skata tilpuma augstums pasaules vienībās (tikai ortogrāfiskām kamerām). Noklusējums 100.0.
namestrKameras objekta nosaukums.

Lietošanas piemēri

Methods: Šajā izdevumā tiek saglabāts tikai projection_type tiek funkcionāli saglabāts. Īpašību piešķiršanas priekš near_plane, far_plane, field_of_view, un aspect_ratio tiek pieņemti bez kļūdām, bet neturpinās.

Perspektīva kamera

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

Ortogrāfiska kamera

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)

Kameras nolasīšana pēc importēšanas

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

Skatīt arī

 Latviešu