Camera
Methods: aspose.threed.entities (aspose-3d-foss)
Camera adalah sebuah Entity yang mendefinisikan sudut pandang dalam sebuah adegan 3D. Ini mengontrol bagaimana adegan diproyeksikan ke bidang gambar 2D. Sebuah kamera terpasang pada sebuah Node untuk menempatkan dan mengorientasikan kamera dalam adegan.
class Camera(Entity):Methods
A3DObject → SceneObject → Entity → Camera
Catatan Implementasi
Dalam edisi aspose-3d-foss ini, Camera kelas adalah sebuah stub deklarasi. Hanya projection_type dan name disimpan secara fungsional dan dapat diambil kembali. Semua properti lainnya (near_plane, far_plane, field_of_view, aspect_ratio, dll.) memiliki setter yang tidak melakukan apa-apa; nilai yang diberikan tidak disimpan. Membaca kembali properti ini mengembalikan nilai default kelas terlepas dari apa yang telah ditetapkan.
Saat mengimpor data kamera dari file 3D (glTF, FBX), projection_type diparse dengan benar. Atribut kamera lainnya tersedia jika format menyimpannya sebagai metadata grafik-adegan.
Methods
Camera(name: str = None, projection_type: str = "PERSPECTIVE")| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | `str | None` | None |
projection_type | str | "PERSPECTIVE" | Tipe proyeksi awal. Gunakan ProjectionType.PERSPECTIVE atau ProjectionType.ORTHOGRAPHIC. |
Methods
| Methods | Methods | Methods |
|---|---|---|
projection_type | str | Mode proyeksi: "PERSPECTIVE" atau "ORTHOGRAPHIC". Atur dengan ProjectionType konstanta. |
near_plane | float | Jarak ke bidang pemotongan dekat. Geometri yang lebih dekat dari ini tidak dirender. Default 0.1. |
far_plane | float | Jarak ke bidang pemotongan jauh. Geometri yang lebih jauh dari ini tidak dirender. Default 1000.0. |
field_of_view | float | Sudut pandang vertikal dalam derajat (hanya kamera perspektif). Default 0.0. |
field_of_view_x | float | Sudut pandang horizontal dalam derajat. Default 0.0. |
field_of_view_y | float | Sudut pandang vertikal dalam derajat (sama dengan field_of_view). Default 0.0. |
aspect_ratio | float | Rasio lebar-tinggi gambar output. Default 1.0. |
ortho_height | float | Tinggi volume tampilan ortografis dalam satuan dunia (hanya kamera ortografis). Default 100.0. |
name | str | Nama objek kamera. |
Contoh Penggunaan
Methods: Dalam edisi ini, hanya projection_type disimpan secara fungsional. Penetapan properti untuk near_plane, far_plane, field_of_view, dan aspect_ratio diterima tanpa error tetapi tidak bertahan.
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 Ortografis
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 Setelah Impor
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}")