Light

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

Light είναι ένα Entity που προσθέτει μια πηγή φωτός σε μια 3D σκηνή. Όπως Camera, είναι προσαρτημένο σε ένα Node για να ελέγχει τη θέση και την κατεύθυνσή του.

class Light(Camera):

Methods

A3DObjectSceneObjectEntityCameraLight

Light κληρονομεί από Camera. Στην τρέχουσα έκδοση, το Light η κλάση αυτή καθαυτή δεν εκθέτει πρόσθετες ιδιότητες πέρα από αυτές που κληρονομούνται από Camera και Entity. Το LightType η απαρίθμηση υπάρχει για την κατηγοριοποίηση των φωτισμών, αλλά δεν υπάρχει light_type ιδιότητα στο Light κλάση.


Methods

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

Methods

MethodsMethodsMethods
namestrΌνομα του αντικειμένου φωτός (κληρονομείται από A3DObject).

Light κληρονομεί επίσης όλα Camera ιδιότητες (near_plane, far_plane, κ.λπ.), αν και αυτά δεν έχουν νόημα για αντικείμενα φωτός. Σημείωση: το Light η κλάση δεν εκθέτει μια light_type ιδιότητα στην τρέχουσα επιφάνεια API.


Τιμές LightType

from aspose.threed.entities import LightType
MethodsMethodsMethods
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)

Απαρίθμηση Φώτων σε Εισαγόμενη Σκηνή

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)

Δείτε επίσης

 Ελληνικά