Light
Methods: aspose.threed.entities (aspose-3d-foss)
Light ist ein Entity der eine Lichtquelle zu einer 3D‑Szene hinzufügt. Wie Camera, ist es an einem Node um seine Position und Richtung zu steuern.
class Light(Camera):Methods
A3DObject → SceneObject → Entity → Camera → Light
Light erbt von Camera. In der aktuellen Version, die Light Klasse selbst stellt keine zusätzlichen Eigenschaften bereit, die über die von Camera und Entity. Die LightType Enum existiert zur Kategorisierung von Lichtern, aber es gibt keinen light_type Eigenschaft auf dem Light Klasse.
Methods
Light(name: str = None)| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | `str | None` | None |
Methods
| Methods | Methods | Methods |
|---|---|---|
name | str | Name des Lichtobjekts (geerbt von A3DObject). |
Light erbt auch alle Camera Eigenschaften (near_plane, far_plane, usw.), obwohl diese für Lichtobjekte nicht sinnvoll sind. Hinweis: die Light Klasse stellt keinen light_type Eigenschaft in der aktuellen API-Oberfläche.
LightType‑Werte
from aspose.threed.entities import LightType| Methods | Methods | Methods |
|---|---|---|
LightType.POINT | "POINT" | Emittiert Licht gleichmäßig in alle Richtungen von einem einzigen Punkt aus. |
LightType.DIRECTIONAL | "DIRECTIONAL" | Parallele Strahlen von einer unendlich entfernten Quelle (wie Sonnenlicht). |
LightType.SPOT | "SPOT" | Kegelförmiger Strahl; Position und Richtung sind wichtig. |
LightType.AREA | "AREA" | Licht, das von einer rechteckigen Fläche ausgeht. |
LightType.VOLUME | "VOLUME" | Volumetrisches/globales Beleuchtungslicht. |
Verwendungsbeispiele
Punktlicht
from aspose.threed import Scene, FileFormat
from aspose.threed.entities import Light, LightType
scene = Scene()
light = Light("PointLight")
node = scene.root_node.create_child_node("light", light)
node.transform.set_translation(0.0, 10.0, 0.0)
scene.save("lit-scene.glb", FileFormat.GLTF)Richtungslicht
from aspose.threed import Scene
from aspose.threed.entities import Light, LightType
scene = Scene()
sun = Light("Sun")
node = scene.root_node.create_child_node("sun", sun)
# Direction is controlled by the node's rotation
node.transform.set_euler_angles(-45.0, 30.0, 0.0) # degrees
scene.save("directional-light.glb")Füge sowohl eine Kamera als auch ein Licht hinzu
from aspose.threed import Scene, FileFormat
from aspose.threed.entities import Camera, Light, LightType, ProjectionType
scene = Scene()
# Camera
cam = Camera("Cam", ProjectionType.PERSPECTIVE)
cam.field_of_view = 60.0
cam_node = scene.root_node.create_child_node("camera", cam)
cam_node.transform.set_translation(0.0, 5.0, 15.0)
# Directional light
light = Light("DirLight")
light_node = scene.root_node.create_child_node("light", light)
light_node.transform.set_euler_angles(-30.0, 45.0, 0.0)
scene.save("camera-and-light.glb", FileFormat.GLTF)Lichter in einer importierten Szene aufzählen
from aspose.threed import Scene
from aspose.threed.entities import Light
scene = Scene()
scene.open("model.glb")
def find_lights(node, depth=0):
if isinstance(node.entity, Light):
print(f"{' ' * depth}Light: {node.name}")
for child in node.child_nodes:
find_lights(child, depth + 1)
find_lights(scene.root_node)