Camera

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

Camera bir Entity 3D bir sahnede bakış açısını tanımlayan bir şeydir. Sahnenin 2D bir görüntü düzlemine nasıl yansıtıldığını kontrol eder. Bir kamera bir Node sahnedeki konumunu ve yönünü ayarlamak için.

class Camera(Entity):

Methods

A3DObjectSceneObjectEntityCamera


Uygulama Notları

aspose-3d-foss’un bu sürümünde, Camera sınıf bir bildirim taslağı. Sadece projection_type ve name fonksiyonel olarak depolanır ve geri alınabilir. Diğer tüm özellikler (near_plane, far_plane, field_of_view, aspect_ratio, vb.) ayarlayıcıları etkisizdir; atanan değerler tutulmaz. Bu özelliklerin geri okunması, atanan ne olursa olsun sınıfın varsayılan değerini döndürür.

3D dosyadan (glTF, FBX) kamera verileri içe aktarılırken, projection_type doğru bir şekilde ayrıştırılır. Diğer kamera öznitelikleri, format bunları sahne grafiği meta verisi olarak depoluyorsa kullanılabilir.


Methods

Camera(name: str = None, projection_type: str = "PERSPECTIVE")
MethodsMethodsMethodsMethods
name`strNone`None
projection_typestr"PERSPECTIVE"İlk projeksiyon türü. Kullan ProjectionType.PERSPECTIVE veya ProjectionType.ORTHOGRAPHIC.

Methods

MethodsMethodsMethods
projection_typestrProjeksiyon modu: "PERSPECTIVE" veya "ORTHOGRAPHIC". Şununla ayarla ProjectionType sabitler.
near_planefloatYakın kırpma düzlemine olan mesafe. Bu mesafeden daha yakın geometri render edilmez. Varsayılan 0.1.
far_planefloatUzak kırpma düzlemine olan mesafe. Bu mesafeden daha uzak geometri render edilmez. Varsayılan 1000.0.
field_of_viewfloatDikey görüş alanı derece cinsinden (yalnızca perspektif kameralar). Varsayılan 0.0.
field_of_view_xfloatYatay görüş alanı derece cinsinden. Varsayılan 0.0.
field_of_view_yfloatDerece cinsinden dikey görüş alanı (aynı gibi field_of_view). Varsayılan 0.0.
aspect_ratiofloatEn-boy oranı (çıktı görüntüsü). Varsayılan 1.0.
ortho_heightfloatOrtografik görüş hacminin yüksekliği, dünya birimlerinde (yalnızca ortografik kameralar). Varsayılan 100.0.
namestrKamera nesnesinin adı.

Kullanım Örnekleri

Methods: Bu sürümde, yalnızca projection_type işlevsel olarak depolanır. Özellik atamaları için near_plane, far_plane, field_of_view, ve aspect_ratio hatasız kabul edilir ancak kalıcı değildir.

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

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

İçe Aktarmadan Sonra Kamerayı Oku

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

Ayrıca Bakınız

 Türkçe