UDN
Search public documentation:

DominantLightsKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 빛과 그림자 > 도미넌트 라이트
UE3 홈 > 레벨 디자이너 / 라이팅 아티스트 > 도미넌트 라이트

도미넌트 라이트


문서 변경내역: Daniel Wright 작성. 홍성진 번역.

개요


UE3의 기존 레벨 및 캐릭터 라이팅은 매우 일반적이고 유연합니다. 예를 들어 한 프리미티브에 영향을 끼치는 다이내믹 라이트나 섀도우 수에는 코드 제한이 없으며, 다양한 라이트 유형에 (섀도우 볼륨, 버텍스나 텍스처별 미리계산된 섀도우맵, 여러가지 섀도우맵 필터링 등) 여러가지 섀도잉 유형을 사용할 수 있습니다. 불행히도 특수한 라이팅 시나리오가 필요할 경우 이러한 일반성에는 성능 및 품질 비용이 들게 마련입니다. 태양이 가장 중요한 라이트고, 그 간접 라이팅과 하늘의 영향을 받는 야외 라이팅을 예로 들어 볼 수 있습니다. 소수의 중요한 빛을 통한 라이팅 구성에서 떨어지는 품질과 성능을 만회하기 위해 도미넌트 라이트가 등장했습니다.

주: 도미넌트 라이트는 라이트매스 를 사용하는 레벨에서만 지원됩니다!

버전


DominantDirectionalLight(도미넌트 디렉셔널 라이트) 액터는 2009년 7월 QA 승인 빌드 에 처음 도입되었습니다. DominantPointLight(도미넌트 포인트 라이트), DominantSpotLight(도미넌트 스포트 라이트) 및 모든 도미넌트 라이트에 대한 캐릭터 그림자 개선사항 (전그림자(preshadow), 변조 대신 일반 그림자) 등은 2009년 8월 QA 승인 빌드 에 도입되었습니다.

관련 테크블로그 항목


TechBlogKR도미넌트 디렉셔널 라이트, 캐릭터 섀도잉 개선 페이지를 참고해 보십시오.

라이트 종류


도미넌트 라이트 종류는 셋 있습니다: Dominant[Directional/Point/Spot]Light. 레벨에 놓을 수 있으며, 액터 클래스 브라우저에서 찾아볼 수 있습니다:

ActorClasses.png

스태틱 인바이언먼트에 영향을 끼치는 도미넌트 라이트


도미넌트 라이트는 전체 씬에 동적 그림자를 뿌릴 때의 큰 GPU 비용을 없애기 위해 미리계산된 그림자를 사용합니다. 도미넌트 라이트로부터 미리계산된 그림자는 토글가능 라이트와 마찬가지로 라이트맵별로 저장됩니다. 크게 두 가지 장점때문에 그렇습니다:

  • 다이내믹 섀도잉이 도미넌트 라이트에만 영향을 끼칠 수 있습니다. 라이트맵에 넣은 라이트는 이런 식으로 그림자를 드리울 수 없기에, 대신 변조된 그림자 로만 영향을 받을 수 있습니다.
  • 도미넌트 라이트로부터의 직접 그림자를 특수하게 저장할 수 있습니다. 직접 그림자는 라이팅 정보의 빈도가 가장 높은 곳으로, 다른 라이팅보다 높은 해상도로 저장될 수 있는 곳입니다. 그림자 데이터에는 다른 표현방식을 사용할 수도 있는데, 모든 도미넌트 라이트 종류에는 현재 디스턴스 필드 그림자 가 사용됩니다.
  • 도미넌트 라이트의 그림자만이 미리계산되며, 나머지 라이트에 영향받는 것은 동적입니다. 도미넌트 라이트로부터의 스페큘러(반사)는, 라이트맵에다 넣은 라이트에 사용된 라이트맵 스페큘러가 아닌, 다이내믹 라이트로부터의 스페큘러같아 보이게 됩니다. 라이트의 감쇠에 따른 그레디언트는 라이트맵 압축에 영향받지 않습니다.

라이트 인바이언먼트에 영향을 끼치는 도미넌트 라이트


라이트 인바이언먼트(빛 환경) 는 캐릭터 섀도잉 결정을 위해 광전 추적을 사용하여, 영향을 끼치는 스태틱 라이트의 영향을 합성하고, 그 라이트를 두 개의 가상 라이트와 하나의 변조 그림자로 표현합니다. 정적으로 채워지는 라이트가 많은 씬에서는 잘 작동하나, 태양으로부터의 환경 그림자 빈도가 높은 야외 씬에서는 효과가 떨어집니다. 도미넌트 라이트는 라이트 인바이언먼트와는 합성되지 않으며, 대신 다이내믹 라이트로써 라이트 인바이언먼트에 직접 영향을 끼칩니다. 라이트 인바이언먼트는 월드상에 도미넌트 라이트의 미리계산된 그림자와 혼합되는 일반 그림자를 갖게 되며, 변조 그림자처럼 지오메트리를 통해 투영되는 이중 그림자를 내지는 않습니다. 추가 장점으로는, 라이트 인바이언먼트에는 전그림자가 켜져 있습니다. 전그림자는 스태틱 인바이언먼트에서 다이내믹 오브젝트로 뿌려지는 동적인 그림자입니다. 이는 도미넌트 라이트가 스태틱 인바이언먼트에 선명한 그림자를 내기에, 도미넌트 디렉셔널 라이트가 활성화된 경우 캐릭터의 시각 효과용으로 특히나 중요합니다. 캐릭터가 기존 라이트로의 on/off 표시여부 추적을 통해 그늘진 경우, 제 위치에서 벗어나 보이게 될 것입니다.

이 씬은 스태틱 인바이언먼트 위에 디스턴스 필드 그림자를 포함한 도미넌트 디렉셔널 라이트의 모습입니다. 라이트 인바이언먼트를 사용하여 캐릭터에 동적인 전그림자를 드리우고 있으며, 캐릭터의 일반 그림자가 월드상의 미리계산된 그림자와 혼합되고 있습니다.

Character.jpg

Character2.jpg

성능 영향


도미넌트 라이트는 그 직사광을 동적으로 렌더링하기에, 디렉셔널 라이트처럼 완전히 라이트매핑된 라이트보다는 비용이 높습니다. 콘솔에서의 도미넌트 라이트는 최적의 성능을 위해 베이스 패스에 병합됩니다만, PC에서는 활용할 수 있는 보간기가 적어서 별도의 더하기 패스에서 렌더링됩니다. 즉 PC에서 도미넌트 라이트를 켰을 때 셰이더 복잡도로는 레벨 비용이 높아진다고 정확히 표시가 되나, 부가 비용은 레벨을 콘솔에서 실행할 때와 거의 비슷할 것입니다. 도미넌트 라이트는 렌더링 쓰레드 셋업 작업을 많이 필요로 하는 전그림자를 사용하기에 부하가 늘어나게 됩니다.

Xbox 360 전용 성능 정보에 대해서는, DominantLightsXenonKR 문서를 참고해 주시기 바랍니다.

제한사항


도미넌트 라이트는 디스턴스 필드 그림자를 사용하기에, 똑같은 제한사항을 적용받습니다.

도미넌트 라이트 에러


한 프리미티브에 영향을 끼치는 도미넌트 라이트가 여럿 있을 때의 지시사항이 셋 있는데, 콘솔에서는 바르게 렌더링되지 않는다는 뜻이겠습니다:

  • 맵 체크 에러 "맵의 한 프리미티브에 영향을 끼치는 도미넌트 라이트가 여럿 있습니다. 이런 것들은 라이팅 복잡도에 빨갛게 표시되며, 콘솔에서는 바르게 렌더링되지 않을 것입니다."
  • 각 프리미티브의 라이팅 결과 에러 "오브젝트가 다수의 도미넌트 라이트에 영향을 받고 있습니다. 각 프리미티브는 최대 하나의 도미넌트 라이트에만 영향을 받을 수 있습니다." 클릭하면 문제가 생긴 프리미티브로 이동하게 됩니다.
  • 라이트 복잡도 뷰모드에서 보면, 다이내믹/도미넌트 라이트가 하나만 있는 프리미티브는 파랗게 표시됩니다. 도미넌트 라이트 둘에 영향을 받은 프리미티브는 아래와 같이 빨갛게 표시됩니다. 빨강 바닥은 도미넌트 디렉셔널 라이트와 선택된 도미넌트 포인트 라이트 양측에서 영향을 받고 있습니다.

LightingComplexity.png