Light

Methods: aspose.threed.entities (aspose-3d-foss)

Light on Entity joka lisää valonlähteen 3D‑kohtaukseen. Kuten Camera, se on kiinnitetty Node ohjaamaan sen sijaintia ja suuntaa.

class Light(Camera):

Methods

A3DObjectSceneObjectEntityCameraLight

Light perii Camera. Nykyisessä julkaisussa Light luokka itsessään ei paljasta ylimääräisiä ominaisuuksia sen perimien lisäksi Camera ja Entity. Luokka LightType enum on olemassa valojen luokittelemiseksi, mutta ei ole light_type ominaisuutta luokassa Light luokassa.


Methods

Light(name: str = None)
MethodsMethodsMethodsMethods
name`strNone`None

Methods

MethodsMethodsMethods
namestrValon objektin nimi (peritty A3DObject).

Light myös perii kaikki Camera ominaisuudet (near_plane, far_plane, jne.), vaikka nämä eivät ole merkityksellisiä valon objekteille. Huomaa: Light luokka ei paljasta light_type ominaisuutta nykyisessä API-rajapinnassa.


LightType‑arvot

from aspose.threed.entities import LightType
MethodsMethodsMethods
LightType.POINT"POINT"Lähettää valoa tasaisesti kaikissa suunnissa yhdestä pisteestä.
LightType.DIRECTIONAL"DIRECTIONAL"Paraelliset säteet äärettömän kaukaisesta lähteestä (esim. auringonvalo).
LightType.SPOT"SPOT"Kartion muotoinen säde; sijainti ja suunta ovat merkityksellisiä.
LightType.AREA"AREA"Valoa, joka säteilee suorakulmaiselta alueelta.
LightType.VOLUME"VOLUME"Tilavuus-/globaali valaistusvalo.

Käyttöesimerkit

Pistevalo

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)

Suuntavalo

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")

Lisää sekä kamera että valo

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)

Luettele valot tuodussa kohtauksessa

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)

Katso myös

 Suomi