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

A3DObjectSceneObjectEntityCameraLight

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)
EnumerationsEnumerationsEnumerationsEnumerations
name`strNone`None

Enumerations

EnumerationsEnumerationsEnumerations
namestrNama 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
EnumerationsEnumerationsEnumerations
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)

Lihat Juga

 Bahasa Melayu