Light

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

Light bir Entity 3D sahneye bir ışık kaynağı ekleyen. Like Camera, bir Node konumunu ve yönünü kontrol etmek için.

class Light(Camera):

Methods

A3DObjectSceneObjectEntityCameraLight

Light mirâs alır Camera. Mevcut sürümde, the Light sınıfı, miras alınanların ötesinde ek özellikler sunmaz Camera ve Entity. LightType enum, ışıkları sınıflandırmak için vardır ancak light_type özelliği Light sınıfta.


Methods

Light(name: str = None)
NameTypeAccessDescription
namestrRead/WriteGets or sets the name.
parent_nodes``ReadGets the parent nodes.
excludedboolRead/WriteGets or sets the excluded.
parent_node``Read/WriteGets or sets the parent node.
rotation_mode``Read/WriteGets or sets the rotation mode.
near_planefloatRead/WriteGets or sets the near plane.
far_planefloatRead/WriteGets or sets the far plane.
aspectfloatRead/WriteGets or sets the aspect.
ortho_heightfloatRead/WriteGets or sets the ortho height.
up``Read/WriteGets or sets the up.
look_at``Read/WriteGets or sets the look at.
direction``Read/WriteGets or sets the direction.
target``Read/WriteGets or sets the target.
aperture_mode``Read/WriteGets or sets the aperture mode.
field_of_viewfloatRead/WriteGets or sets the field of view.
field_of_view_xfloatRead/WriteGets or sets the field of view x.
field_of_view_yfloatRead/WriteGets or sets the field of view y.
widthfloatRead/WriteGets or sets the width.
heightfloatRead/WriteGets or sets the height.
aspect_ratiofloatRead/WriteGets or sets the aspect ratio.
magnification``Read/WriteGets or sets the magnification.
projection_typestrRead/WriteGets or sets the projection type.
scene``Read/WriteGets or sets the scene.
propertiesPropertyCollectionReadGets the properties.

Methods

SignatureDescription
__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 aynı zamanda tüm Camera özellikler (near_plane, far_plane, vb.), ancak bunlar hafif nesneler için anlamlı değildir. Not: Light sınıfı bir şey ortaya koymaz light_type mevcut API yüzeyindeki özellik.


LightType Değerleri

from aspose.threed.entities import LightType
MethodsMethodsMethods
LightType.POINT"POINT"Tek bir noktadan tüm yönlere eşit olarak ışık yayar.
LightType.DIRECTIONAL"DIRECTIONAL"Sonsuz uzak bir kaynaktan (güneş ışığı gibi) paralel ışınlar.
LightType.SPOT"SPOT"Konik şekilli ışın demeti; konum ve yön önemlidir.
LightType.AREA"AREA"Dikdörtgen bir alandan yayılan ışık.
LightType.VOLUME"VOLUME"Hacimsel/genel aydınlatma ışığı.

Kullanım Örnekleri

Nokta Işığı

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)

Yönlü Işık

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

Hem Kamera hem de Işık ekleyin

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)

İçe Aktarılan Sahnedeki Işıkları Listele

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)

Ayrıca Bakınız

 Türkçe