Light

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

Light là một Entity thêm một nguồn sáng vào cảnh 3D. Giống như Camera, nó được gắn vào một Node để điều khiển vị trí và hướng của nó.

class Light(Camera):

Methods

A3DObjectSceneObjectEntityCameraLight

Light kế thừa từ Camera. Trong phiên bản hiện tại, Light lớp tự nó không tiết lộ các thuộc tính bổ sung nào ngoài những thuộc tính được kế thừa từ CameraEntity. LightType enum tồn tại để phân loại ánh sáng nhưng không có light_type thuộc tính trên Light lớp.


Methods

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

Methods

MethodsMethodsMethods
namestrTên của đối tượng ánh sáng (kế thừa từ A3DObject).

Light cũng kế thừa tất cả Camera các thuộc tính (near_plane, far_plane, v.v.), mặc dù chúng không có ý nghĩa đối với các đối tượng ánh sáng. Lưu ý: đó Light lớp không công khai một light_type thuộc tính trong bề mặt API hiện tại.


Giá trị LightType

from aspose.threed.entities import LightType
MethodsMethodsMethods
LightType.POINT"POINT"Phát sáng đều theo mọi hướng từ một điểm duy nhất.
LightType.DIRECTIONAL"DIRECTIONAL"Các tia song song từ một nguồn vô cùng xa (như ánh sáng mặt trời).
LightType.SPOT"SPOT"Chùm sáng dạng hình nón; vị trí và hướng là quan trọng.
LightType.AREA"AREA"Ánh sáng phát ra từ một khu vực hình chữ nhật.
LightType.VOLUME"VOLUME"Ánh sáng thể tích/global illumination.

Ví dụ sử dụng

Đèn điểm

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)

Đèn định hướng

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

Thêm cả Camera và 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)

Liệt kê các Light trong một Scene đã nhập

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)

Xem thêm

 Tiếng Việt