Light

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

Light yra Entity kuris prideda šviesos šaltinį į 3D sceną. Kaip Camera, jis yra prijungtas prie Node kad kontroliuotų jo padėtį ir kryptį.

class Light(Camera):

Methods

A3DObjectSceneObjectEntityCameraLight

Light paveldi iš Camera. Dabartinėje versijoje, Light klasė pati neatskleidžia papildomų savybių, išskyrus tas, kurios paveldimos iš Camera ir Entity. Ši LightType enum egzistuoja šviesų kategorizavimui, tačiau nėra light_type savybės ant Light klasės.


Methods

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

Methods

MethodsMethodsMethods
namestrŠviesos objekto pavadinimas (paveldėtas iš A3DObject).

Light taip pat paveldi visus Camera savybės (near_plane, far_plane, ir t.t.), nors šios nėra prasmingos šviesos objektams. Pastaba: the Light klasė neatskleidžia light_type savybės dabartinėje API sąsajoje.


LightType reikšmės

from aspose.threed.entities import LightType
MethodsMethodsMethods
LightType.POINT"POINT"Skleidžia šviesą vienodai visomis kryptimis iš vieno taško.
LightType.DIRECTIONAL"DIRECTIONAL"Lygiagrečios spinduliai iš begalinio atstumo šaltinio (pvz., saulės šviesos).
LightType.SPOT"SPOT"Kūgio formos spindulys; svarbūs padėtis ir kryptis.
LightType.AREA"AREA"Šviesa, išskleidžiama iš stačiakampės srities.
LightType.VOLUME"VOLUME"Tūrinė / globali apšvietimo šviesa.

Naudojimo pavyzdžiai

Taškinė šviesa

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)

Kryptinė šviesa

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

Pridėti tiek Camera, tiek Light

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)

Išvardinti Light objektus importuotoje scenoje

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)

Žr. taip pat

 Lietuvių