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

A3DObjectSceneObjectEntityCamera


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")
MethodsMethodsMethodsMethods
name`strNone`None
projection_typestr"PERSPECTIVE"Tipe proyeksi awal. Gunakan ProjectionType.PERSPECTIVE atau ProjectionType.ORTHOGRAPHIC.

Methods

MethodsMethodsMethods
projection_typestrMode proyeksi: "PERSPECTIVE" atau "ORTHOGRAPHIC". Atur dengan ProjectionType konstanta.
near_planefloatJarak ke bidang pemotongan dekat. Geometri yang lebih dekat dari ini tidak dirender. Default 0.1.
far_planefloatJarak ke bidang pemotongan jauh. Geometri yang lebih jauh dari ini tidak dirender. Default 1000.0.
field_of_viewfloatSudut pandang vertikal dalam derajat (hanya kamera perspektif). Default 0.0.
field_of_view_xfloatSudut pandang horizontal dalam derajat. Default 0.0.
field_of_view_yfloatSudut pandang vertikal dalam derajat (sama dengan field_of_view). Default 0.0.
aspect_ratiofloatRasio lebar-tinggi gambar output. Default 1.0.
ortho_heightfloatTinggi volume tampilan ortografis dalam satuan dunia (hanya kamera ortografis). Default 100.0.
namestrNama 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}")

Lihat Juga

 Bahasa Indonesia