Camera
Methods: aspose.threed.entities (aspose-3d-foss)
Camera is een Entity die een gezichtspunt definieert in een 3D‑scène. Het bepaalt hoe de scène wordt geprojecteerd op een 2D‑beeldvlak. Een camera is gekoppeld aan een Node om deze te positioneren en te oriënteren in de scène.
class Camera(Entity):Methods
A3DObject → SceneObject → Entity → Camera
Implementatienotities
In deze editie van aspose-3d-foss, de Camera klasse is een declaratiestub. Alleen projection_type en name worden functioneel opgeslagen en opvraagbaar. Alle andere eigenschappen (near_plane, far_plane, field_of_view, aspect_ratio, etc.) hebben setters die geen effect hebben; de toegewezen waarden worden niet behouden. Het uitlezen van deze eigenschappen geeft de standaardwaarde van de klasse terug, ongeacht wat er was toegewezen.
Bij het importeren van cameragegevens uit een 3D‑bestand (glTF, FBX), wordt de projection_type correct geparseerd. Andere camera‑attributen zijn beschikbaar als het formaat ze opslaat als scene‑graph metadata.
Methods
Camera(name: str = None, projection_type: str = "PERSPECTIVE")| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | `str | None` | None |
projection_type | str | "PERSPECTIVE" | Initiële projectietype. Gebruik ProjectionType.PERSPECTIVE of ProjectionType.ORTHOGRAPHIC. |
Methods
| Methods | Methods | Methods |
|---|---|---|
projection_type | str | Projectiemodus: "PERSPECTIVE" of "ORTHOGRAPHIC". Instellen met ProjectionType constanten. |
near_plane | float | Afstand tot het nabije knipvlak. Geometrie die dichterbij ligt wordt niet gerenderd. Standaard 0.1. |
far_plane | float | Afstand tot het verre knipvlak. Geometrie die verder weg ligt wordt niet gerenderd. Standaard 1000.0. |
field_of_view | float | Verticaal gezichtsveld in graden (alleen perspectiefcamera’s). Standaard 0.0. |
field_of_view_x | float | Horizontaal gezichtsveld in graden. Standaard 0.0. |
field_of_view_y | float | Verticaal gezichtsveld in graden (hetzelfde als field_of_view). Standaard 0.0. |
aspect_ratio | float | Breedte-hoogteverhouding van de uitvoerafbeelding. Standaard 1.0. |
ortho_height | float | Hoogte van het orthografische kijkvolume in wereldeenheden (alleen orthografische camera’s). Standaard 100.0. |
name | str | Naam van het camera-object. |
Gebruiksexemplaren
Methods: In deze editie wordt alleen projection_type functioneel opgeslagen. Eigenschapstoewijzingen voor near_plane, far_plane, field_of_view, en aspect_ratio worden geaccepteerd zonder fout maar worden niet bewaard.
Perspective Camera
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")Orthografische Camera
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)Camera lezen na 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}")