Light — Aspose.3D FOSS for Python API Reference
Enumerations: aspose.threed.entities (aspose-3d-foss)
Light adalah Entity yang menambah sumber cahaya kepada adegan 3D. Seperti Camera, ia dilampirkan pada Node untuk mengawal kedudukan dan arahannya.
class Light(Camera):Enumerations
A3DObject → SceneObject → Entity → Camera → Light
Light mewarisi dari Camera. Dalam keluaran semasa, Light kelas itu sendiri tidak memaparkan sifat tambahan selain yang diwarisi daripada Camera dan Entity. Enum LightType enum wujud untuk mengkategorikan cahaya tetapi tiada light_type sifat pada Light kelas.
Enumerations
Light(name: str = None)| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
name | `str | None` | None |
Enumerations
| Enumerations | Enumerations | Enumerations |
|---|---|---|
name | str | Nama objek cahaya (warisan dari A3DObject). |
Light juga mewarisi semua Camera ciri-ciri (near_plane, far_plane, dll.), walaupun ini tidak bermakna untuk objek cahaya. Nota: Light kelas tidak mendedahkan satu light_type ciri dalam permukaan API semasa.
Nilai LightType
from aspose.threed.entities import LightType| Enumerations | Enumerations | Enumerations |
|---|---|---|
LightType.POINT | "POINT" | Menerbitkan cahaya secara sama rata ke semua arah dari satu titik. |
LightType.DIRECTIONAL | "DIRECTIONAL" | Sinar selari dari sumber yang berada pada jarak tak terhingga (seperti cahaya matahari). |
LightType.SPOT | "SPOT" | Berus berbentuk kon; kedudukan dan arah penting. |
LightType.AREA | "AREA" | Cahaya yang dikeluarkan dari kawasan segi empat tepat. |
LightType.VOLUME | "VOLUME" | Cahaya volumetrik/iluminasi global. |
Contoh Penggunaan
Lampu Titik
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)Lampu Arah
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")Tambah Kedua-dua Kamera dan Lampu
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)Senaraikan Lampu dalam Adegan yang Diimport
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)