Light
Methods: aspose.threed.entities (aspose-3d-foss)
Light is een Entity die een lichtbron toevoegt aan een 3D‑scène. Zoals Camera, is het gekoppeld aan een Node om de positie en richting te regelen.
class Light(Camera):Methods
A3DObject → SceneObject → Entity → Camera → Light
Light erft van Camera. Light klasse zelf stelt geen extra eigenschappen beschikbaar, behalve die geërfd van Camera en Entity. LightType enum bestaat voor het categoriseren van lichten, maar er is geen light_type eigenschap op de Light klasse.
Methods
Light(name: str = None)| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | `str | None` | None |
Methods
| Methods | Methods | Methods |
|---|---|---|
name | str | Naam van het lichtobject (geërfd van A3DObject). |
Light erft ook alles Camera eigenschappen (near_plane, far_plane, enz.), hoewel deze niet betekenisvol zijn voor lichte objecten. Opmerking: de Light class exposeert geen light_type eigenschap in het huidige API-oppervlak.
LightType-waarden
from aspose.threed.entities import LightType| Methods | Methods | Methods |
|---|---|---|
LightType.POINT | "POINT" | Zendt licht gelijkmatig in alle richtingen uit vanuit één punt. |
LightType.DIRECTIONAL | "DIRECTIONAL" | Parallelle stralen van een oneindig verre bron (zoals zonlicht). |
LightType.SPOT | "SPOT" | Kegelvormige straal; positie en richting zijn van belang. |
LightType.AREA | "AREA" | Licht uitgezonden vanuit een rechthoekig gebied. |
LightType.VOLUME | "VOLUME" | Volumetrisch/global illumination-licht. |
Gebruiksexemplaren
Puntlicht
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)Directioneel licht
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")Voeg zowel een Camera als een Light toe
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)Lichten opsommen in een geïmporteerde scène
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)