Camera — Aspose.3D FOSS for Python API Reference
Enumerations: aspose.threed.entities (aspose-3d-foss)
Camera adalah satu Entity yang mendefinisikan sudut pandang dalam adegan 3D. Ia mengawal bagaimana adegan diproyeksikan ke atas satah imej 2D. Kamera dipasang pada Node untuk menempatkan dan mengorientasikannya dalam adegan.
class Camera(Entity):Enumerations
A3DObject → SceneObject → Entity → Camera
Nota Pelaksanaan
Dalam edisi aspose-3d-foss ini, Camera kelas ialah satu stub deklarasi. Hanya projection_type dan name disimpan secara fungsional dan boleh diambil semula. Semua sifat lain (near_plane, far_plane, field_of_view, aspect_ratio, dll.) mempunyai setter yang tidak berfungsi; nilai yang diberikan tidak disimpan. Membaca semula sifat-sifat ini mengembalikan nilai lalai kelas tanpa mengira apa yang telah ditetapkan.
Apabila mengimport data kamera daripada fail 3D (glTF, FBX), projection_type diparse dengan betul. Atribut kamera lain tersedia jika format menyimpannya sebagai metadata graf-adegan.
Enumerations
Camera(name: str = None, projection_type: str = "PERSPECTIVE")| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
name | `str | None` | None |
projection_type | str | "PERSPECTIVE" | Jenis proyeksi awal. Gunakan ProjectionType.PERSPECTIVE atau ProjectionType.ORTHOGRAPHIC. |
Enumerations
| Enumerations | Enumerations | Enumerations |
|---|---|---|
projection_type | str | Mod proyeksi: "PERSPECTIVE" atau "ORTHOGRAPHIC". Tetapkan dengan ProjectionType pemalar. |
near_plane | float | Jarak ke satah pemotongan dekat. Geometri yang lebih dekat daripada ini tidak akan dirender. Lalai 0.1. |
far_plane | float | Jarak ke satah pemotongan jauh. Geometri yang lebih jauh daripada ini tidak akan dirender. Lalai 1000.0. |
field_of_view | float | Medan pandangan menegak dalam darjah (hanya kamera perspektif). Lalai 0.0. |
field_of_view_x | float | Medan pandangan mendatar dalam darjah. Lalai 0.0. |
field_of_view_y | float | Medan pandangan menegak dalam darjah (sama dengan field_of_view). Lalai 0.0. |
aspect_ratio | float | Nisbah lebar kepada tinggi imej output. Lalai 1.0. |
ortho_height | float | Ketinggian volum pandangan ortografik dalam unit dunia (hanya kamera ortografik). Lalai 100.0. |
name | str | Nama objek kamera. |
Contoh Penggunaan
Enumerations: Dalam edisi ini, hanya projection_type disimpan secara fungsional. Penetapan sifat untuk near_plane, far_plane, field_of_view, dan aspect_ratio diterima tanpa ralat tetapi tidak berterusan.
Kamera Perspektif
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")Kamera Ortografik
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)Baca Kamera Selepas Import
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}")