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
A3DObject → SceneObject → Entity → Camera
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")| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | `str | None` | None |
projection_type | str | "PERSPECTIVE" | İlk projeksiyon türü. Kullan ProjectionType.PERSPECTIVE veya ProjectionType.ORTHOGRAPHIC. |
Methods
| Methods | Methods | Methods |
|---|---|---|
projection_type | str | Projeksiyon modu: "PERSPECTIVE" veya "ORTHOGRAPHIC". Şununla ayarla ProjectionType sabitler. |
near_plane | float | Yakın kırpma düzlemine olan mesafe. Bu mesafeden daha yakın geometri render edilmez. Varsayılan 0.1. |
far_plane | float | Uzak kırpma düzlemine olan mesafe. Bu mesafeden daha uzak geometri render edilmez. Varsayılan 1000.0. |
field_of_view | float | Dikey görüş alanı derece cinsinden (yalnızca perspektif kameralar). Varsayılan 0.0. |
field_of_view_x | float | Yatay görüş alanı derece cinsinden. Varsayılan 0.0. |
field_of_view_y | float | Derece cinsinden dikey görüş alanı (aynı gibi field_of_view). Varsayılan 0.0. |
aspect_ratio | float | En-boy oranı (çıktı görüntüsü). Varsayılan 1.0. |
ortho_height | float | Ortografik görüş hacminin yüksekliği, dünya birimlerinde (yalnızca ortografik kameralar). Varsayılan 100.0. |
name | str | Kamera 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}")