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
A3DObject → SceneObject → Entity → Camera
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")| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | `str | None` | None |
projection_type | str | "PERSPECTIVE" | Sākotnējais projekcijas veids. Izmantojiet ProjectionType.PERSPECTIVE vai ProjectionType.ORTHOGRAPHIC. |
Methods
| Methods | Methods | Methods |
|---|---|---|
projection_type | str | Projekcijas režīms: "PERSPECTIVE" vai "ORTHOGRAPHIC". Iestatīt ar ProjectionType konstantes. |
near_plane | float | Attālums līdz tuvākajai apgriešanas plaknei. Ģeometrija, kas ir tuvāk nekā šis, netiek renderēta. Noklusējums 0.1. |
far_plane | float | Attā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_view | float | Vertikālais skata lauks grādos (tikai perspektīvas kameras). Noklusējums 0.0. |
field_of_view_x | float | Horizontālais skata lauks grādos. Noklusējums 0.0. |
field_of_view_y | float | Vertikālais redzes lauks grādos (tāds pats kā field_of_view). Noklusējums 0.0. |
aspect_ratio | float | Izvades attēla platuma‑augstuma attiecība. Noklusējums 1.0. |
ortho_height | float | Ortogrāfiskā skata tilpuma augstums pasaules vienībās (tikai ortogrāfiskām kamerām). Noklusējums 100.0. |
name | str | Kameras 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}")