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)| Name | Type | Access | Description |
|---|---|---|---|
name | str | Read/Write | Gets or sets the name. |
parent_nodes | `` | Read | Gets the parent nodes. |
excluded | bool | Read/Write | Gets or sets the excluded. |
parent_node | `` | Read/Write | Gets or sets the parent node. |
rotation_mode | `` | Read/Write | Gets or sets the rotation mode. |
near_plane | float | Read/Write | Gets or sets the near plane. |
far_plane | float | Read/Write | Gets or sets the far plane. |
aspect | float | Read/Write | Gets or sets the aspect. |
ortho_height | float | Read/Write | Gets or sets the ortho height. |
up | `` | Read/Write | Gets or sets the up. |
look_at | `` | Read/Write | Gets or sets the look at. |
direction | `` | Read/Write | Gets or sets the direction. |
target | `` | Read/Write | Gets or sets the target. |
aperture_mode | `` | Read/Write | Gets or sets the aperture mode. |
field_of_view | float | Read/Write | Gets or sets the field of view. |
field_of_view_x | float | Read/Write | Gets or sets the field of view x. |
field_of_view_y | float | Read/Write | Gets or sets the field of view y. |
width | float | Read/Write | Gets or sets the width. |
height | float | Read/Write | Gets or sets the height. |
aspect_ratio | float | Read/Write | Gets or sets the aspect ratio. |
magnification | `` | Read/Write | Gets or sets the magnification. |
projection_type | str | Read/Write | Gets or sets the projection type. |
scene | `` | Read/Write | Gets or sets the scene. |
properties | PropertyCollection | Read | Gets the properties. |
Methods
| Signature | Description |
|---|---|
__init__(name: str, light_type) | |
move_forward(distance: float) | |
get_bounding_box() | Returns the bounding box. |
get_entity_renderer_key() | Not implemented in the FOSS edition — throws at runtime. Returns the entity renderer key. |
remove_property(property) | |
get_property(property: str) | |
set_property(property: str, value) | Sets the property value. |
find_property(property: str) |
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)