DirectionalLight QML Type
씬에 방향성 조명을 정의합니다. 더 보기...
| Import Statement: | import QtQuick3D |
| Inherits: |
속성
- csmBlendRatio : real
(since 6.8) - csmNumSplits : int
(since 6.8) - csmSplit1 : real
(since 6.8) - csmSplit2 : real
(since 6.8) - csmSplit3 : real
(since 6.8) - lockShadowmapTexels : bool
(since 6.9)
상세 설명
방향성 광원은 무한히 멀리 떨어진, 식별할 수 없는 광원에서 한 방향으로 빛을 발산합니다. 이는 실제 생활에서 햇빛이 작용하는 방식과 유사합니다. 방향성 광원은 범위가 무한하며 강도가 약해지지 않습니다.
‘ castsShadow ’가 활성화되면 그림자는 빛의 방향과 평행하게 형성됩니다.
방향성 광원은 사실상 위치가 없으므로, 위치를 이동해도 아무런 효과가 없습니다. 빛은 항상 광원의 Z축 방향으로 방출됩니다.
X축이나 Y축을 따라 조명을 회전하면 빛이 방출되는 방향이 바뀝니다.
방향성 조명의 크기를 조정하는 것은 다음의 경우에만 효과가 있습니다:
- Z 스케일이 음수로 설정된 경우, 빛은 반대 방향으로 방출됩니다.
- 어떤 축의 스케일이 0으로 설정되면, 빛은 월드 좌표계의 Z축을 따라 방출됩니다.
참고: 이 경우 조명을회전시켜도 아무런 효과가 없습니다.
간단한 예제를 살펴보겠습니다:
import QtQuick
import QtQuick3D
View3D {
anchors.fill: parent
PerspectiveCamera { z: 600 }
DirectionalLight {
}
Model {
source: "#Sphere"
scale: Qt.vector3d(4, 4, 4)
materials: PrincipledMaterial {
baseColor: "#40c060"
roughness: 0.1 // make specular highlight visible
}
}
}여기서 DirectionalLight는 기본 색상인 white 을 사용하며, DirectionalLight 노드의 Z축 방향으로 빛을 방출합니다.

X축을 중심으로 60도 회전하면 다음과 같은 결과가 나타납니다. 빛이 Z축 방향으로 똑바로 방출되는 대신, 이제 60도 "아래쪽"을 향하고 있습니다:
DirectionalLight {
eulerRotation.x: 60
}
더 많은 사용 예제는 ‘Qt Quick 3D - Lights Example’을 참조하십시오.
PointLight, SpotLight 및 Shadow Mapping도 참조하십시오 .
속성 설명서
csmBlendRatio : real [since 6.8]
이 속성은 캐스케이드의 그림자가 이전 그림자와 어느 정도 혼합되어야 하는지를 정의합니다.
범위: [0.0, 1.0]
기본값: 0.05
이 속성은 Qt 6.8에서 도입되었습니다.
csmNumSplits : int [since 6.8]
이 속성은 섀도우 맵을 렌더링할 때 프러스텀을 분할해야 할 횟수를 정의합니다. 분할 횟수가 0인 경우, 섀도우 맵은 모든 그림자를 드리우는 객체와 그림자를 받는 객체의 바운딩 박스를 모두 포함하도록 렌더링됩니다.
범위: [0, 3]
기본값: 0
이 속성은 Qt 6.8에서 도입되었습니다.
csmSplit1, csmSplit2, csmSplit3도 참조하십시오 .
csmSplit1 : real [since 6.8]
이 속성은 CSM이 활성화된 상태에서 섀도 맵 분할의 첫 번째 캐스케이드가 발생하는 위치를 정의합니다.
범위: [0.0, 1.0]
기본값: 0.1
참고: 이 속성은 ` DirectionalLight::csmNumSplits `가 ` 0`보다 클 때만 사용됩니다.
이 속성은 Qt 6.8에서 도입되었습니다.
csmSplit2 및 csmSplit3항목도 참조하십시오 .
csmSplit2 : real [since 6.8]
이 속성은 CSM이 활성화된 상태에서 섀도우 맵 분할의 두 번째 캐스케이드가 발생하는 위치를 정의합니다.
범위: [0.0, 1.0]
기본값: 0.25
참고: 이 속성은 ` DirectionalLight::csmNumSplits `가 ` 1`보다 클 때만 사용됩니다.
이 속성은 Qt 6.8에서 도입되었습니다.
csmSplit1 및 csmSplit3항목도 참조하십시오 .
csmSplit3 : real [since 6.8]
이 속성은 CSM이 활성화된 상태에서 섀도우 맵 분할의 세 번째 캐스케이드가 발생하는 위치를 정의합니다.
범위: [0.0, 1.0]
기본값: 0.5
참고: 이 속성은 ` DirectionalLight::csmNumSplits `가 ` 2`보다 클 때만 사용됩니다.
이 속성은 Qt 6.8에서 도입되었습니다.
csmSplit1 및 csmSplit2도 참조하십시오 .
lockShadowmapTexels : bool [since 6.9]
이 속성을 활성화하면 섀도맵 텍셀의 위치가 월드 내에서 “고정”되어, 섀도맵 텍셀 크기가 커지는 대가로 그림자 가장자리의 깜빡임을 제거합니다. 이 기능은 각 캐스케이드에 대해 균일한 크기의 텍셀 정렬된 섀도맵을 사용하여 작동합니다.
기본값: false
이 속성은 Qt 6.9에서 도입되었습니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.