라이트매핑은 정적이므로 동적으로 움직이는 객체에는 적용할 수 없다. 물론 실시간 조명의 Culling Mask를 사용해 주인공에게만 조명 효과를 부여할 수 있지만 라이팅매핑이 적용된 간접광원 또는 그림자영역에 들어갔을때 밝은 조명이 비치는 부자연 스러운 장면이 연출된다.
이를 개선하기 위해 유니티는 라이트 프로브(Light Probes)라는 기능을 제공한다. 라이트프로브는 스테이지 조명이 있는 곳 주변에 라이트 프로브를 배치하고 라이트맵을 베이크할때 해당 라이트프로브에 주변부의 광원 데이터를 미리 저장해 둔다. 저장된 광원데이터는 실행시 근처를 지나치는 동적 객체에 광원 데이터를 전달해 해당 객체의 색상과 보간시켜 마치 실시간 조명과 같은 효과를 내는 방식이다.
Light Probe Group
라이트 프로브를 만들어 주인공을 밝게 만들어보다 하이라키뷰의 _STAGE를 선택해 메뉴에서 [Light]->[Light Probe Group]을 선택해 Light Probe Group를 생성한다. _STABE하위에 생성한 Light Probe Group의 Position이 (0,0,0)인지 다시한번 확인한다.
Light Probe는 바닥위에 위치해야 효과를 낼수 있다 따라서 Y를 1.2로 설정해 라이트프로브가 모두 바닥위에 배치되도록한다.
Edit Light Probes를 클릭하면 4개의 버튼이 나타나고 Select All 버튼을 클릭하면 라이트 프로브가 파란색으로 바낀다.
Duplicate Selected를 클릭하면 변화가 없어 보이지만 복사가 되었다 Transform축을 클릭해 이동한다.
Selected All - duplicate Selected를 반복해 Floor를 채워보자
Lighting 뷰에서 베이크 해보면 이제 Player가 Point Light색에 따라 변화하는 걸 알수 있다.
Anchor Override
라이트 프로브는 Player가 근접한 4개의 라이트 프로브에서 베이크된 조명값을 전달한다.
Anchor Override기능을 이용해 보간되는 위치를 설정할 수 있다. 이 속성에 원하는 위치를 연결하면 그 위치부터 텍스처 색상이 보간되기 시작한다. 하이라키뷰의 Player를 선택하고 head를 열어 놓고 slade_mesh 3개를 선택하고 인스펙터의 Anchor Override 에 연결해준다
'유니티게임강좌 > 라이트매핑' 카테고리의 다른 글
[라이트매핑] 라이트매핑 (0) | 2023.03.20 |
---|---|
[라이트매핑] 광원 타입 (0) | 2023.03.19 |