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
A3DObject → SceneObject → Entity → Camera → Light
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)| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | `str | None` | None |
Methods
| Methods | Methods | Methods |
|---|---|---|
name | str | Nama 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| Methods | Methods | Methods |
|---|---|---|
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)