목차
라이트 탐지기(Light Probes)
비록 라이트매핑(lightmapping)이 씬(scene)의 현실성에 매우 더해주지만, 씬 내의 비 정적인(non-static) 오브젝트는 비현실적으로 랜더링 되고 결과적으로 동떨어져 보이는 단점을 가지고 있습니다. 움직이는 오브젝트에 대한 라이트매핑(lightmapping)의 실시간 계산은 불가능하나 light probes
을 사용하여 유사한 효과를 얻는 것은 가능합니다. 그 방법은 라이트를 씬 내 전략적 지점에서 샘플링 하여, 탐지기(probes) 위치로 표시하는 것입니다. 어떤 위치의 라이트이든 가장 가까운 탐지기(probe)에 의해 채취한 샘플 사이의 보간에 의해서 어림할 수 있습니다. 이 보간은 게임 중에 사용될 수 있을 만큼 빠르며 씬 내에서 움직이는 오브젝트의 조명과 정적인 라이트매핑(lightmapping) 오브젝트 간의 단절을 피하는데 기여합니다.
Adding Light probes 라이트 탐지기(probes)의 추가
Light Probe Group 컴포넌트 (메뉴: Component → Rendering → Light Probe Group)는 씬 내에서 사용할 수 있는 모든 오브젝트에 추가할 수 있습니다. 인스펙터는 그룹에 새로운 탐지기(probe)을 추가하는 데 사용될 수 있습니다. 탐지기는 씬에서 노란 구로 나타나면 게임오브젝트(GameObjects)와 같은 방직으로 배치할 수 있습니다. 선택한 탐지기는 일반적인 단축키(ctrl+d/cmd+d)로 복제할 수 있습니다.
라이트 탐지기(Light Probe) 위치의 선택
사용자가 원하는 위치에 샘플 라이트나 샘플 어둠을 배치하는 것을_ 기억하기 바랍니다. 공간의 분할이 제대로 이루어지려면 그 탐지기는 씬 내에서 _입체감(volume)을 형성_해야 합니다.
가장 간단한 배치 방법은 일반적인 3D 그리드(grid) 패턴에 그것들의 배열하는 것 입니다. 이 설정은 간단하고 효과적인 반면, 메모리를 많이 사용합니다 (각 라이트 탐지기가(probe)는 본질적으로 샘플 지점에서 본 구형의 파노라마 HDR 이미지 입니다). 탐지기가 해당 플레이어, NPC 혹은 다른 동적 오브젝트가 실제로 이동할 수 있는 지역에만 필요하다는 것은 가치가 없을 것 입니다. 또한 라이트 상태가 탐지기 사이의 위치에 대해 보정이 되었으므로, 라이트가 별로 변하지 않는 구역에 이들을 많이 배치할 필요는 없을 것 입니다. 예를 들어, 일정한 그림자가 지는 넓은 구역은 많은 탐지기가 필요하지도 않고, 반사되는 오브젝트에서 멀리 떨어진 밝은 구역도 그러할 것 입니다. 탐지기는 일반적으로 라이트 상태가 갑자기 변하는 곳에 필요한 데 예를 들면 그늘진 구역의 가장자리는 풍경의 각 부분이 다른 색을 가진 곳과 같은 장소 입니다.
경우에 따라서는, 게임의 인프라가 라이트 탐지기(light probe)의 위치를 결정하는 데 유용할 것 입니다. 예를 들면, 레이싱 게임은 A1 및 다른 목적으로 트랙 주위의 중간지점을 사용합니다. 이들은 탐지기의 좋은 후보지점이 될 수 있고 편집기 스크립트에서 이 지점을 정하는 것은 매우 간단할 것 입니다. 유사하게, 탐색 메쉬(navigation meshes)는 일반적으로 플레이어가 도달할 수 있는 구역을 설정하는데 이들 역시 탐지기에 있어 자동화된 지점을 제공합니다.
여기 라이트 탐지기가 인물들이 걸어 다니는 표면 위에 구워졌으나, 캡쳐해야 할 주목할 만한 조명의 변화가 존재한 곳에만 해당합니다:
평평한 2D 레벨
현재로써는, 라이트 탐지기(probe) 시스템은 평평한 탐지기 무리를 완전히 굽지는 못합니다. 그러므로 만일 사용자의 모든 인물들이 평면 위에서만 움직인다 해도, 사용자는 여전히 높은 레이어에 일부 탐지기를 배치하는데 신경을 써야 하는데, 그럼으로써 입체감이 형성되고 보간(interpolation)이 제대로 이루어질 것 입니다.
_Good_: 이는 원래의 탐지기(probe) 배치입니다. 인물은 램프(ramp) 위와 박스 위를 움직일 수 있으므로 그 위에서 조명(lighting)을 샘플 하는 것도 좋은 선택입니다.
_Good_: 여기서는 인물은 평면 위에서만 움직일 수 있다고 가정합니다. 여전히 두어 개의 탐지기는 약간 높이 배치되어서, 입체감이 형성되고 얇은 셀을 피할 수 있습니다.
_Bad_: 탐지기가 너무 평평하게 배치되어서, 아주 길고 얇은 셀을 생성하고 결과적으로 직관적이지 못한 보간 결과를 생성합니다.
라이트 탐지기(Light Probes)의 사용
메쉬가 탐지 시스템으로부터 조명을 받게 하려면, 사용자는 그 MeshRenderer 상에 Use Light Probes 옵션을 활성화 하여야 합니다:
탐지 보간(probe interpolation)은 조명을 받은 메쉬의 지점을 표시하는 공간상의 한 점이 필요합니다. 기본값으로, 메쉬의 경계상자의 중심이 사용되지만 이는 Transform을 MeshRenderer's Light Probe Anchor로 적절하게 드래그하여 덮어 설정할 수 있습니다 (이 Transform의 지점은 대신 보간 점으로 사용될 것 입니다). 이는 오브젝트가 두 개의 인접한 메쉬를 포함할 때 유용할 수 있습니다; 만일 두 메쉬가 그 경계 박스(bounding box)의 위치에 따라 개별적으로 빛을 받는다면 그 조명은 그들이 합쳐지는 장소에서는 연결이 끊기게 될 것 입니다. 이는 양 MeshRenderers 에 대한 보간 점으로 같은 Transform(부모 혹은 자식 오브젝트)을 사용하여 방지할 수 있습니다.
라이트 탐지기(probes)을 사용하는 오브젝트가 Light Probes Scene View 모드에서 활성화되어 선택된 오브젝트라면, 그 보간 지점은 프리뷰를 위하여 그 상단에 랜더링 될 것 입니다. 보간 된 탐지기(probe)는 해당 오브젝트를 랜더링 하는 데 사용된 것으로 그것이 보간 되는 사이의 탐지기와 4개의 얇은 푸른색 선으로 연결되어 있습니다(탐지기 볼륨 밖 일 경우 3개):
듀얼 라이트맵(Dual Lightmaps)과 단독 라이트맵(single Lightmaps) 모드의 비교
단독 라이트맵(Single Lightmaps) 모드에서는 모든 정적 조명('Auto' 라이트 매핑 모드로 설정된 라이트 포함)은 라이트 탐지기(probes)로 구워진다.
듀얼 라이트맵(Dual Lightmaps) 모드에서는 'Near' 라이트맵과 같은 설정에서 라이팅을 저장할 것 입니다. 예를 들면 하늘로부터 오는 조명, 발광 물질, 지역 조명과 '굽기 전용' 라이트 등이나, 'Auto' 라이트에서 오는 간접조명은 제외합니다. 오브젝트는 'Auto' 라이트와 함께 실시간으로 점등을 할 수 있고 실시간 그림자와 같은 동적 요소의 이점을 활용할 수도 있지만, 동시에 이 조명에 의해 씬에 추가된 간접 조명도 받을 수 있다는 것은 다행한 것입니다.
- 출처: 유니티코리아위키 (CC BY-NC-SA 2.0)