실외 라이팅과, 포그
실외 라이팅.
특정 조건이 따른다.
탁트인 넓은 환경이라면 다이나믹 쉐도우가 많고 아주 멀리서도 보게된다
퍼포먼스에 영향 이런점을 고려해서 다양한 방법으로 라이팅에 접근하여야한다.
디렉셔널라이트(태양광) (예제 무버블 세팅)
무버블로 설정 해서보면 실내에서는 빛은 들어 오게 되지만 반사광이 없어서
밝고 어두운곳이 명확하게 떨어져보인다.
(빛이 튕기지않는다. 부 자연스러운현상)
(빛은 튕기면서 밝고 어두운 부분이생기고 감쇠가 일어난다.(GI))
(이렇기 때문에 스테이셔너리라이트를 사용해서 베이킹을해 GI를 표현하고 다이나믹 라이트도 사용)
특별한 상황이아니라면
스테이셔너리로 사용하자.
디렉셔널라이트 그림자의 특징
다이나믹라이트에서 나온 그림자는 멀리서 보게되면 사라진다.
이 그림자들을 Cascaded shadows maps, CSM 이라고 한다.
기본적으로 캐스케이드 쉐도 맵은 자동 활성화 된다.(스테이셔너리,무버블 설정시)
CSM
그림자를 렌더링할때 퍼포먼스를위해 엔진은 카메라 거리에따라 그림자를 가짜로처리
지오메트리가 멀어지면 그림자를 제거하여 최적화를 돕는다.
디테일 페널에
Cascaded Shadow maps에 보면 CSM관련한 옵션들을 설정할 수 있다.
Dynamic Shadow Distance MovableLight -무버블 모빌리티 에서 그림자를 처리하는 거리값
Dynamic Shadow Distance StationaryLight-스테이셔너리 모빌리티에서 그림자를 처리하는 거리값
(수치가 낮아지면 그림자가 사라지는 거리는 줄어 들지만 그림자의 퀄리티는 올라간다.)
케스케이드쉐도우는
그림자를 계단식으로 처리한다.
카메라가 멀어지면 점점 흐려지고 멀어질수록 더 흐려지다가 사라진다.
이 특징을 옵션을 이용해서 수치를 조정할수있다.
Num Dynamic Shadow Cascades
단계를 의미한다 기본숫자 3단계(선명에서 블러처리 사라지는 단계를 나누는 수치)
5를 입력하면 5단계로 블러 처리가되고 멀어지면 사라짐.
----------------------------------------------------------
가까이 에서 보이는 그림자는 CSM을 이용해서 표현하였고
멀리서보이는 그림자는Distant fild Shadow를 이용
프로젝트세팅에서 따로 설정하여야 사용이가능하다.
프로젝트세팅 - Engine -Rendering - Generate Mesh Distance Fields 를 활성화
원리..
디스턴스 필드는 볼륨메트릭 텍스처에 저장된 모델과 유사한 형태를 보여준다.
모든 모델에 대해 텍스처를 생성하고, 그 텍스처는 볼륨메트릭 텍스처 역할을 합니다.
그러면 그정보를 사용하여 유사한 모델을 생성한다.
(나무 같은 경우는 정밀도가 떨어진다. 하지만 그림자를 만들기에는 충분하다.)
그림자를 만들때에 지오메트리가 아닌 디스턴스 필드 정보를 사용하여 그림자를 만든다.
퍼포먼스속도를 상당히 높일 수 있다. 환경 최적화 방법중하나.
예제에서 실제로 적용을 확인 하기위해 무버블 라이트인 상태에서
다이렉셔널라이트의 케스케이드 수치를 2천으로 낮추었다.
Distance Field Shadows에
RatTraced DistanceField Shadows를 활성화
껏다켯다 하다보면 가까이에있는 CSM 은 보이고 멀리있는오브젝트의 그림자는 사라지는데
사라진 CSM을 디스턴스 필드 쉐도우가 커버하는 모습을 볼수있다.
렌더링이 이루어 지는 것을 보면 CSM이먼저 적용되고 거리가 멀어짐에 따라 디스턴스필드 쉐도우가
적용이되는 걸 확인할 수 있다.
CSM과 디스턴스필드 섀도를 혼합해서 실외 그림자를 처리한다.
-----------------------------------------------------------------------
디스턴스 필드 앰비언트 오클루전(DFAO)
스카이라이트 에서 적용되는 옵션이다. 스카이라이트를 무버블로 사용.
디스턴스 필드 메시를 사용해서 가짜 반사광인 라이트앰비언트 오클루전을 만드는것
디스턴스 필드 메시의 정밀도가 떨어지기 때문에 결과가 꼭 좋지는않다.
스카이라이트의 디테일페널에보면
Distance FieldAmbient Occlusion
에서 관련 수치를 조절해 줄수있다.
이기능은 프로젝트마다 잘나올수도있고 안나올수도있다.
기본적으로 사용하는편
@스태틱 라이팅과 다이나믹 라이팅의 조합
스카이라이트
는 리플렉션 큐브맵을 캡처한다.
스카이 라이트 안에는 예비 리플렉션 큐브맵이있다.
스카이라이트의 Sky Distance 값의 수치를 낮추면 멀리서보는 하늘을 더잘 캡쳐한다.
예제 에서는 만오천으로 설정
하늘을 캡쳐 하여 배경 라이팅에 사용할 수 있다.
스카이라이트를 스태틱으로 설정하는것이 중요
대부분의 프로젝트에서 스카이라이트는 스태틱으로 설정한다.
그림자가 뚜렷하지 않고 효과도 미묘하지만 반사광을 나오게 하기위해 사용한다.
디렉셔널 라이트도 스테이셔너리로 설정한다.
스테이셔너리는 2가지 방식의 장점을 제공하기때문
예제에서
Dynamic Shadow Distance StationaryLight 수치를
5천으로 마추어서 5천 유닛을 벗어나면
디스턴스필드 쉐도우가 드리우게 세팅하였다.
모든 라이트를 스테이셔너리로 작업하였다.
무버블 라이트가 사용되는 예에는 물의 커스틱 표현,
램프의 인터렉션되는 껏다 켜지는 빛, 움직이는 조명 등에서 활용한다.
포폴준비할때
게임으로 패키징 할것이 아니라면 스태틱으로 그냥 구우면 될거같다.
영상으로 만들기위해 동적인 그림자가 필요하면 스테이셔너리
엔진에서 엠비언트 오클루전은 환경 내부에서 활성화 되는데
무버블 스카이라이트의 DFAO와는 다른다.
AO는 라이트를 빌드하면서 구워진다.
월드세팅에 라잇메스에서 AO베이킹관련한 옵션등을 설정해 줄 수 있다.
Compress Lightmaps - 라이트맵 압축
(이옵션을 끄게되면 최상의 퀄리티를 얻을수 있다. 보통은 끄지 않는것이 좋다.
건축 시각화 같은 작업을 하는것이 아니라면, 포폴 작업할때 한번 건들여 봐야겟다.)
-------------------------------------------------------------------------------------------
무버블 라이트가 씬의 사실적인 라이팅에 적합하지 않은 이유는
반사광을 활용하지 못하기 때문이다.
실시간 렌더러 에서는
베이킹을 해서 사실적인 라이팅 씬을 구성하자.
포인트 라이트
Source Radius - 소스의 반경 크기
빛을 발하는 오브젝트나 모델을 Source 라고한다.
(수치를 올리면 라이트 주변의 노란 구체가 커지고 반사되는 빛의 라이트의 크기도 커졌다.)
Source Length- 소스의 길이,
(길어지면서 형광등처럼 표현된다.)
IES 라이트
스팟라이트와 잘맞는다.
빛을 투영하는것, 라이트의 모양을 풍부하게 하고 표면에 빛이 비치는 강도를 변화시킨다.
디테일페널에 Light Profiles - IES Texture 에 서 텍스쳐를 설정하여 적용시킬수 있다.
스테틱으로 베이킹할 수 있다.
라이트펑션(라이트함수)
라이트함수는 메테리얼과 라이트를 블렌딩 한다는뜻.
고급 라이팅 애니메이션이 필요할때 좋다.
예제 에서는 커스틱을 표현할때 무버블 세팅으로하여 사용하였다.
가짜 그림자를 만들때에도 사용한다.(구름의 그림자)
-----
포그
----------------------------------------------------------------------------------------
애트머스페릭포그
대기의 안개를 표현해준다.
사용할 때에는 꼭
다이렉셔널 라이트의 옵션을 확인해주자.
Atmosphere/Fog Sun Light
디렉셔널 라이트를 태양으로 인식하게 해주는 옵션
(옵션이 활성화 되면 디렉셔널 라이트의 각도에 따라 하늘색을 조절해 준다.)
노을을 만들수도있고, 태양을 보이게 안보이게 해 줄수도있다.
가끔 대기를 표현할 때에 이포그를 사용 하는 것이 적절하지 않을 수도 있다.
------------------------------------------------------------------------------------------------
익스포텐셜 하이트 포그
위치 높이에 따른 영향을 받는다.
라이트를 자동으로 인식한다.
안개낀 대기효과 만들기
다이렉셔널 라이트에서 포그 효과를 활성화 해야 한다.
다이렉셔널라이트 디테일페널에 Light Shafts 탭
라이트섀프 불룸-하늘을 바라볼때 빛줄기가 내리는 서광효과
라이트섀프 오클루전 - 하늘을 바라볼때 빛줄기가 내리는 서광효과
같은 효과 이지만 반대의 느낌이다. 같이 사용한다.
익스포텐션 하이트포그에서 활성화 할 수 있다.
Volumetric Fog - 안개에 빛줄기가 내리는 서광효과
(라이트의 영향을 받는다. 라이트마다 볼륨메트릭 스케터링 인텐시티라는 옵션을 만져서
안개 농도에 영향을 줄 수있다.)
제일 좋은 방법은 이 3가지를 사용하는것
-----------------------------------------------------------------------------------------------