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
A3DObject → SceneObject → Entity → Camera → Light
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ừ Camera và Entity. 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)| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | `str | None` | None |
Methods
| Methods | Methods | Methods |
|---|---|---|
name | str | Tê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| Methods | Methods | Methods |
|---|---|---|
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)