본문 바로가기
유니티 엔진

유니티5의 라이트 맵핑 - 리얼타임 라이트맵

by 대마왕J 2015. 4. 3.

그럼 일단 기본적인 라이트맵을 가동시켜 볼까요

 

유니티5에서 라이트맵을 가동시키는 것은 매우 쉽습니다.

물체를 static으로 만들어 주기만 하면 되거든요!!!

 

라이트맵에 영향을 받거나, 영향을 끼칠 모든 물체를 static 으로 체크해 주기만 하면 됩니다. ( 서브메뉴에서 정확히 라이트맵 static을 체크하는게 정확하지만, 에이 뭐 그런것 까지..)

 

 

 

 

 

 

...정말일까요?

 

다시 static을 껐다가 켜 보겠습니다.

 

 

 

 

오른쪽이 static을 켠 상태고, 왼쪽이 끈 상태입니다.

오른쪽 아래가 약간 어두워 보입니다!!!

뭔가 있긴 한 모양이군요.

 

 

이건 오브젝트를 약간 이동해 보면 좀 더 확실해 집니다.

 

 

 

 

오브젝트를 약간 움직이자, 원래 오브젝트가 있던 자리 아래에 뭔가 멍 같은 자국이 보입니다!

그리고 약간 시간이 걸려서, 오른쪽 아래에 게이지가 지나간 후 멍자국은 다시 없어집니다 - 아니 정확히는 다시 공 아래로 옮겨갑니다.

 

즉 , 라이트맵이 Baking 되는 것입니다.

 

 

 

이 현상은 화면을 돌려, 공을 아래에서 위로 올려 보면 더 명확해집니다.

공 아래에 있는 plane은 뒷면이 되므로 안보이게 되니 말이죠.

 

아래에서 위로 올려보고, Light 창에서 General GI 옵션을 매우 낮춰 보면 ... 뭔가가 보일 겁니다. 낮은 해상도이므로 좀 더 정확히 보이는거죠.

구석진 부분이 어두워지는 것을 말입니다! 라이트맵이 작동하고 있는 거죠 . 직접 보시면 좀 더 잘 보일 겁니다.

저 옵션은 너무 낮은 채로 두면 오히려 좋지 않으므로, 잠깐 실험하고 Default로 돌려 놓으시는게 좋습니다.

 

 

 

 

뭐 어쨌건...  라이트맵이 뭔지는 여기서 설명하지 않겠지만 (Indirect 라이트라던가, radiosity라던가 하는 ... 그 얘기를 하면 너무 길어요) 라이트맵을 가동시키길 원하시는 분은 이렇게 가동시키면 되는 겁니다. 라이트맵이 뭔지를 원하시는 분은 다른 글을 찾아 보시는게 좋겠습니다. 아 무책임하고 참 좋다.

 

 

공을 흰 색으로 만드는 것 보다 붉게 만들면 이 현상이 더 잘 보일 겁니다.

붉은 색은 흰색보다 어두우니까요.

 

 

 

 

 

 

자 그럼, 이렇게 구석진 부분이 어둡게 되는게 라이트맵이라고 말했습니다 (언제?!??!?!?!?)

 

반대로 밝게 할 수도 있지요.

 

새 메터리얼을 만들어 주고 공에다가 적용시킨 후 Emission 을 올려주면

 

 

 

 

이렇게 되는걸 볼 수 있습니다.

 

이것이 Realtime Global illumination ,  즉 인라이튼입니다!

 

이렇게 한 번 구워놓고 나면, 위치 이동은 물론 안되지만 밝기나 색상 조정은 실시간입니다.

물론 실시간이라고 해서 플레이 중간에 바꿀 수 있다는 뜻은 압니다.

여기서 실시간이라는 말은 '다시 구울 빌요가 없다' 라는 말입니다.

이미 빛의 경로가 구워져 있기 때문에 빛 경로를 재 계산 할 필요가 없다는 말이지요. 흠. 리얼타임이라고 거창하게 말했지만 사실 반쪽뿐인 리얼타임이로군요.

 

어쨌거나 덕분에 강도와 색상은 자유자재로 바꿀 수 있습니다. 다시 구울 필요 없이!

 

 

 

 

 

여기서 추가적인 영향을 끼치는 것은.. General GI 옵션들입니다.

뭐.. 만져보시면 알겁니다. GI에 대한 개념만 조금만 있으셔도 뭔지 너무 잘 아실듯.

 

아, 참고로 이 기능은 현재 뭔가 옵션만 건드리면 자동으로 구워집니다.

 

 

이것은 Lighting 메뉴의 Continuous Baking 옵션 때문인데요.

이 기능 때문에 뭔가 옵션만 바꾸면 알아서 구워집니다.

그리고 그 내용은 캐쉬에 저장이 되지요. 이 캐쉬는 따로 저장이 되고, 자동으로 지워지지 않습니다.

 

 

 

그리고 여기서 수동으로 지워줘야 하죠.

안 지워 주시면 하드의 10g 정도를 캐쉬로 낭비하시게 될 겁니다.

 

뭐... 그리고 이제 이게 싫으시다면... 수동으로 굽고 싶으시다면

 

 

이렇게 옵션을 꺼주시고 빌드하시면 되는데요,

 

이렇게 빌드하면 마치 옛날 라이트맵처럼 파일이 생깁니다.

 

 

요렇게 두 개요.

하나는 라이트맵 데이터랑, 또 하나는 스카이 박스의 라이트 프로브 데이터입니다.

 

 

이 기능의 한계는 메뉴얼에서 밝히고 있습니다.

-----------------------------------------------------------

Not yet implemented features:

아직 개발되지 않은 기능입니다.

  • Terrain support.
    터레인 안됨 (주: 엌ㅋㅋㅋㅋㅋㅋㅋ)
  • Baked probes.
    프로브 베이크 (주: 응?????)
  • Baked environment lighting.
    인바이론먼트 라이팅을 베이킹하기
  • Baked area lights.
    에리어 라이트 베이킹
  • Baked transparency.
    반투명 베이킹
  • Baked cookies.
    쿠키 베이킹 (주: 엌ㅋㅋㅋㅋ)
  • Dynamic cubemaps.
    다이나믹 큐브맵
  • Skinned Mesh Renderers support.
    스킨드 메쉬 렌더러 서포트 (주: 캐릭터 안됨????)
  • Additive scene loading.
    에디티브 씬 로딩 기능
  • Cache Server for GI data sharing.
    GI 데이터 공유를 위한 캐쉬 서버
  • Dynamic visibility for point and spot lights (direct lighting for GI is not shadowed). This limitation does not affect baking.
    포인트와 스팟 라이트를 위한 실시간 보기 (GI를 위한 다이나믹 라이팅은 아직 그림자지지 않음). 이 한계는 베이킹에 영향을 끼치지 못합니다.
반응형

댓글