Light
Methods: aspose.threed.entities (aspose-3d-foss)
Light یک Entity که یک منبع نور به یک صحنه 3D اضافه میکند. مشابه Camera,، به یک Node برای کنترل موقعیت و جهت آن.
class Light(Camera):Methods
A3DObject → SceneObject → Entity → Camera → Light
Light ارث میبرد از Camera. Light کلاس خود ویژگیهای اضافی را فراتر از آنچه از Camera و Entity. LightType یک enum برای دستهبندی نورها وجود دارد اما هیچ light_type property بر روی Light کلاس.
Methods
Light(name: str = None)| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | `str | None` | None |
Methods
| Methods | Methods | Methods |
|---|---|---|
name | str | نام شیء light object (ارثبری شده از A3DObject). |
Light همچنین تمام Camera properties (near_plane, far_plane, etc.)، اگرچه اینها برای شیء light objects معنیدار نیستند. توجه: the Light class یک … را در معرض قرار نمیدهد light_type property در سطح API فعلی.
مقادیر LightType
from aspose.threed.entities import LightType| Methods | Methods | Methods |
|---|---|---|
LightType.POINT | "POINT" | نور را بهصورت مساوی در تمام جهتها از یک نقطه واحد منتشر میکند. |
LightType.DIRECTIONAL | "DIRECTIONAL" | پرتوهای موازی از منبعی بینهایت دور (مانند نور خورشید). |
LightType.SPOT | "SPOT" | پرتو به شکل مخروط؛ موقعیت و جهت اهمیت دارند. |
LightType.AREA | "AREA" | نور منتشر شده از یک ناحیه مستطیلی. |
LightType.VOLUME | "VOLUME" | نور حجمی/نور روشنایی سراسری. |
مثالهای استفاده
نور نقطهای
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)نور جهتدار
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")افزودن همزمان یک Camera و یک 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)فهرستکردن Lightها در یک صحنهٔ وارد شده
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)