Tool intended for switching pre-baked lightmaps, light probes and realtime lighting on a static scene at runtime. Depending on the platform or depending on the content, the switch might not be instant but take some seconds, this script just allows you avoid duplicating your scene if you just want to change the lighting. This version is compatible with unity 2019.3 and above, check previous releases for unity 5.5 - 5.6 version. If you want to use lightmaps of different resolutions in your different lighting scenarios you will probably need to disable static batching in the PlayerSettings (if you use the same lightmap resolution on all your lighting scenarios and the object packing in the lightmap atlas doesn't change accross lighting scenarios it's ok to keep static batching enabled). The system relies on this component : LevelLightmapData It references the different lighting scenes, builds the lighting, and stores the dependencies to the lightmaps. If your lighting scene contains Realtime/Mixed lights or Reflection probes, the script will consider it's necessary to load the lighting scene at runtime to replicate the full lighting. The lighting scene will thus need to be part of the "Scenes in Build" list in the Build settings (File/Build Settings). How it works :
Tutorial :
Supports :
Contributors :
1. 라이트맵이란? (Lightmap) 유니티에 라이트맵 기능은 이전부터 있어 왔습니다. 라이트맵이란, 렌더링에서 가장 무거운 요소인 조명과 그림자 연산을 실시간으로 하지 않기 위해서 미리 조명과 그림자 연산을 특정한 텍스쳐로 만들어 (굽는다고 표현합니다 : Bake) 입힘으로써, 조명 연산을 피하고자 하는 꼼수라고 할 수 있습니다. 참고로 유니티에는 가장 유명한 라이트맵 솔루션인 비스트 (Beast) 가 내장되어 있습니다. 이전에 있던 라이트맵은 싱글 라이트맵 (single lightmap) 이라 불리는 것으로, 보다 단순한 구조를 가지고 있습니다. 장점은 조명 계산을 하지 않아도 되므로 렌더링 부하가 줄어들고, 그래픽 카드나 각종 사양에 상대적으로 둔감하게 적용할 수 있다는 것입니다. 때문에 낮은 사양의 컴퓨터에서도 훌륭한 조명과 그림자 효과를 표현할 수 있습니다. 단점은 맵 제작시에 전체 맵을 전부 구워(Bake) 해 버리는 작업이 필요하므로 작업효율이 떨어지며, 추가의 UV가 필요한 버텍스 버퍼와 추가의 텍스쳐 이용으로 인한 메모리 소비 등이 있을 수 있겠습니다. 아참, 또하나로 노말맵이나 스페큘러 등의 효과가 전부 무시되어 버리는 단점이 있습니다. 열심히 작업한 배경의 노말맵이 모두 사라져 버리면 실망스럽겠지요. (이래서 프로젝트에서 라이트맵을 사용하지 않았던 것입니다.)
2. 듀얼 라이트맵이란? (Dual Lightmap) 듀얼 라이트맵이란. 이전에 가지고 있던 싱글 라이트맵의 단점을 개량해서 나온 새 기능으로, 이 기능을 간단하게 정의하자면, "리얼타임 라이트/셰도우와 구워진 라이트맵을 혼합해서 동시에 사용" 한다는 것이 기존의 라이트 맵과 다른 기능입니다.
이렇게 리얼타임 라이트/그림자와 , 라이트맵을 혼용해서 사용하면 다음과 같은 장단점이 있을 것으로 예상됩니다. 3. 듀얼 라이트맵의 장단점 듀얼 라이트맵의 장점
라이트맵은 기본적으로 Indirect light (간접광) 을 계산해서 구현하는 것이기 때문에 분위기 잡기에는 좋습니다.
<사진: 듀얼 라이트맵의 효과를 보여주고 있습니다. > - 가까이 있는 맨홀 뚜껑에는 노말과 스페큘러가 나타나고 있습니다. - 가까이 있는 드럼통은 폭발해야 할 동적 오브젝트입니다, 자연스럽게 동적 그림자를 드리우고 있습니다. - 라이트맵은 보통 그림자의 해상도가 좋지 못합니다. 넓은 면을 한 장의 그림자로 해결해야 하기 때문이죠. 하지만 이 방식을 쓰면 가까운 부분의 그림자 해상도가 좋아집니다. 듀얼 라이트맵의 단점
메모리를 더 차지합니다.
4. 그럼 현실적인 사용 방법은? 프로젝트에서 사용할 것인가? 4.0 에서는 라이트맵에서도 스페큘러와 노말맵이 사용 가능하게 된다는 정보가 있습니다. 잘만 되면 라이트맵 만으로도 전부 표현할 수 있다는 말이 되겠지요. 이렇게 라이트맵의 발전이 예상되는 관계로 체크하지 않고 갈 수 없겠지요. 단점에 비해 장점이 많다면 당연히 채용합니다. 그런 의미에서 다른건 괜찮지만, 제작 시간이 오래 걸린다는 것이 가장 큰 문제라고 할 수 있습니다.
|