라이팅 쉐이딩
여기서 퍼포먼스 문제의 대부분이 발생한다.
-------------------------------------------------------------------------------------------
라이팅
엔진에서의 라이팅 모빌리티 3가지 타입
스태틱, 스테이셔너리, 무버블
각모빌리 유형에는 라이팅의 퍼포먼스 비용 면에서
서로 다른 기능이 있습니다.
스태틱
가장저렴하고 아무것도 하지못하는 라이팅을 의미한다.(정적 라이트, 고정된 라이트)
완전히 베이킹되고 아무것도 상호작용을 할 수 없다.
형태나 모양을 바꿀수없다.(바꾼 후에는 베이킹을 하여야 바꾼것을 확인할 수 있다.)
가장 저렴 하지만 베이킹을 하게 되면 이쁘고 빠르게 사용할 수 있다.
스테이셔너리
씬과 상호작용을 할 수 있다. 베이킹이된다.
스테이셔너리 라이트로 인해 생기는 쉐도우(다이나믹쉐도우)는
다이나믹 오브젝트가 해당 쉐도우와 어우러지게 해준다.
다이나믹 오브젝트
씬상에서 무버블(동적)로 설정 되어있는 오브젝트, 움직이는 오브젝트, 애니메이션이 들어간(스켈레탈)
오브젝트 들은 무버블로 세팅을 하거나 자동으로 설정된다 이 오브젝트들은 라이트맵을 굽지않는다.
비용이 살짝 비싸다. 그이유는 실시간 렌더링에서 스테이셔너리 라이트의
라이팅 색상과 강도를 실제로 바꿀수 있기 때문이나 라이팅을 움직이지는 못한다.
추가-
실시간 빛, 그림자(다이나믹쉐도우)를 지원,
베이킹된 그림자 위에 다이나믹 그림자를 만듬(서로 블랜딩)
이걸로 움직이는 오브젝트와 상호 작용을한다.
실시간으로 라이트의 색상 밝기등은 조절할 수 있다.
스테이셔너리 라이트를 움직 이거나 강도 색상등을 변경하거나
라이트에 비추어진 오브젝트들이 움직이면 다시 베이킹을 해주어야 한다.
다이나믹 쉐도우를 드리우되
스태틱 쉐도잉 시스템의 효과도 많이 가져온다.
양쪽의 장점을 조금씩 가져온 라이트
무버블
비용이 가장비싸다. 완전한 동적.
그림자에 감쇠가 없음. 딱딱하고 검다
베이킹을 하지않는다.
(감쇠 - 빛에서 멀리 떨어질수록 연해지는 그림자)
무버블을 사용해 좋은 퀄리티를 내기 위해서 여러가지 솔루션이 있다.
여러가지타입의 쉐도우를 상황에 맞게 다루어야 함. 매우 무겁다.
씬에 여러 라이트 타입을 조합하여 사용하는 것이 좋다
퍼포먼스 비용을 절약하는데 도움이된다.
--------------------------------------------------------------------------------------
라이트 베이킹을 할때에
라이팅 퀄리티
프리뷰 - 제일 낮은 세팅으로 라이팅과 섀도잉이 어떻게 보일지 기본적인 개념만 제시.
초반작업에 프리뷰로 라이트를 구우면서
내가원하는 라이팅이 나오는지 확인하는 용도로 사용 하여야함
미디엄- 약간더 나은결과
하이-마찬가지
프로덕션 - 최고 퀄리티의 라이팅을 보여준다. 시간이 가장 오래 걸린다.
프리뷰로 짧게 라이팅 느낌을보고 최종적으론 프로덕션으로 굽는다.
월드세팅의 라잇매스도 영항을 받아 구워진다.
----------------------------------------------------------------------
스태틱쉐도잉과 다이나믹라이트에서의 쉐도잉 그리고 3가지 솔루션
언리얼에서 쉐도잉을 하는방법은 다양한데
쉐도잉을 완벽하게 해내는 방법이 하나만이 아니기 때문이다.
---------------------------------------------------------------------
2가지의 주요 쉐도잉 유형
스태틱 쉐도 와 다이내믹 쉐도
스태틱쉐도는 비용은 저렴하 지만 상호작용X
다이나믹쉐도
스테이셔너리와 무버블 라이트에서 나온다.
무겁다. 상호작용이 가능하다.
----------------------------------------------------------------------------
다이나믹쉐도우에는 특이한 쉐도우 유형이 3가지가있다.
다양한 쉐도잉 문제를 해결하는데 사용할 수 있다.
특이한 쉐도 유형 3가지
캐스케이드쉐도맵(CSM)
실제로 스태틱 쉐도와 다이나믹 쉐도의 최고 장점들을 합칠수 있다.
거리에 따라서 가까이 에선 다이나믹쉐도가 드리우고
멀리 떨어지게되면 스태틱 쉐도로 전환되어서 쉐도가 움직이지 않는다.
디렉셔널 라이트에서만 사용할수 있다.
디스턴스필드쉐도
메시 디스턴스 필드를 사용해서
실제로 라이팅과 쉐도의 상호작용을 생성하여 쉐도우의 감쇠를 만들어낸다.
이 기능은 비용이 굉장히 높다. 딱 포폴용
프로젝트세팅에서 Generate Mesh Distance Fields 를 활성화
컨택트쉐도
스크린 스페이스에 구성되는 쉐도우
작은 디테일을 결정하고 그림자를 나타낼때 사용
예제) 포인트라이트를 선택 디테일패널-
Contect Shadow- 숫자를 0에서 서서히 증가 시켜보며 비교
(수치가 1에 가까우면 기능이 망가진 다고함. 1이상 과용하지 않도록 사용)
패럴랙스 오클루전 매핑을 사용
정말 비용이 높은기능.
--------------------------------------------------------------------------------
안티에얼라이싱을 설정하려면
프로젝트세팅에서 Rendering- Default Settings에
Anti-Aliasing Method