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

A3DObjectSceneObjectEntityCameraLight

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)
MethodsMethodsMethodsMethods
name`strNone`None

Methods

MethodsMethodsMethods
namestrNaam 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
MethodsMethodsMethods
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)

Zie ook

 Nederlands