Light — Aspose.3D FOSS for Python API Reference
Properties: aspose.threed.entities (aspose-3d-foss)
Light er en Entity der tilføjer en lyskilde til en 3D-scene. Ligesom Camera, den er fastgjort til en Node for at kontrollere dens position og retning.
class Light(Camera):Properties
A3DObject → SceneObject → Entity → Camera → Light
Light arver fra Camera. I den aktuelle udgivelse er Light klasse selv eksponerer ikke yderligere egenskaber ud over dem, der er arvet fra Camera og Entity. Den LightType enum findes for at kategorisere lys, men der er ingen light_type egenskab på Light klassen.
Properties
Light(name: str = None)| Properties | Properties | Properties | Properties |
|---|---|---|---|
name | `str | None` | None |
Properties
| Properties | Properties | Properties |
|---|---|---|
name | str | Navn på lysobjektet (arvet fra A3DObject). |
Light arver også alle Camera egenskaber (near_plane, far_plane, osv.), selvom disse ikke er meningsfulde for lysobjekter. Bemærk: den Light klasse eksponerer ikke en light_type egenskab i den aktuelle API-overflade.
LightType-værdier
from aspose.threed.entities import LightType| Properties | Properties | Properties |
|---|---|---|
LightType.POINT | "POINT" | Udsender lys lige i alle retninger fra et enkelt punkt. |
LightType.DIRECTIONAL | "DIRECTIONAL" | Parallele stråler fra en uendeligt fjern kilde (som sollys). |
LightType.SPOT | "SPOT" | Kegleformet stråle; position og retning er vigtige. |
LightType.AREA | "AREA" | Lys udsendt fra et rektangulært område. |
LightType.VOLUME | "VOLUME" | Volumetrisk/global belysning. |
Brugseksempler
Punktlys
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)Retningslys
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")Tilføj både et kamera og et lys
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)Enumerér lys i en importeret scene
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)