Light

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

Light adalah sebuah Entity yang menambahkan sumber cahaya ke adegan 3D. Seperti Camera, ia terpasang pada sebuah Node untuk mengontrol posisinya dan arahnya.

class Light(Camera):

Methods

A3DObjectSceneObjectEntityCameraLight

Light mewarisi dari Camera. Pada rilis saat ini, kelas Light itu sendiri tidak menampilkan properti tambahan selain yang diwarisi dari Camera dan Entity. Enum LightType ada untuk mengkategorikan cahaya tetapi tidak ada light_type properti pada Light kelas.


Methods

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

Methods

MethodsMethodsMethods
namestrNama objek cahaya (warisan dari A3DObject).

Light juga mewarisi semua Camera properti (near_plane, far_plane, dll.), meskipun ini tidak bermakna untuk objek cahaya. Catatan: the Light kelas tidak mengekspos sebuah light_type properti dalam permukaan API saat ini.


Nilai LightType

from aspose.threed.entities import LightType
MethodsMethodsMethods
LightType.POINT"POINT"Memancarkan cahaya secara merata ke semua arah dari satu titik.
LightType.DIRECTIONAL"DIRECTIONAL"Sinar paralel dari sumber yang tak terhingga jauhnya (seperti sinar matahari).
LightType.SPOT"SPOT"Berbentuk kerucut; posisi dan arah penting.
LightType.AREA"AREA"Cahaya yang dipancarkan dari area persegi panjang.
LightType.VOLUME"VOLUME"Cahaya volumetrik/penerangan global.

Contoh Penggunaan

Point Light

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)

Directional Light

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

Tambahkan Kedua Camera dan 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)

Enumerasi Light dalam Scene yang Diimpor

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)

Lihat Juga

 Bahasa Indonesia