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 η απαρίθμηση υπάρχει για την κατηγοριοποίηση των φωτισμών, αλλά δεν υπάρχει light_type ιδιότητα στο Light κλάση.
Methods
Light(name: str = None)| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | `str | None` | None |
Methods
| Methods | Methods | Methods |
|---|---|---|
name | str | Όνομα του αντικειμένου φωτός (κληρονομείται από A3DObject). |
Light κληρονομεί επίσης όλα Camera ιδιότητες (near_plane, far_plane, κ.λπ.), αν και αυτά δεν έχουν νόημα για αντικείμενα φωτός. Σημείωση: το Light η κλάση δεν εκθέτει μια light_type ιδιότητα στην τρέχουσα επιφάνεια 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)Απαρίθμηση Φώτων σε Εισαγόμενη Σκηνή
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)