유니티 라이트 맵 베이크 -2

250x250

유니티 라이트 맵 베이크 -2

안녕하세요.

오늘은 유니티에서 라이트맵 베이크를 해보려고 합니다.

Bake(베이크)= 미리 연산되어 저장된 라이트로 런타임에서 동적으로 움직이는 물체에는 적용할 수 없음.

  • 유니티 라이트와 그림자(이전글).
  • 라이트맵 Bake를 사용하는 이유.
  • 라이트맵 Bake.

유니티 라이트와 그림자(이전글).

라이트와 그림자에 대해 간단하게 만져본 글은 아래를 보시면 됩니다.

[프로그래밍/유니티] - 유니티 라이트 그림자 -1

 

유니티 라이트 그림자 -1

유니티 라이트 그림자 안녕하세요. 오늘은 유니티 유니티에서 기본적으로 제공해주는 라이트와 그림자에 대한 내용입니다. 내용은 그냥 제가 필요해서 이것저것 오브젝트랑 라이트 만져본 것

intunknown.tistory.com

라이트맵 Bake를 사용하는 이유.

위에서 말했다시피 베이크를 통해 라이트맵을 구워서 사용할 수 있습니다.

이 라이트맵을 굽는다는 것은 움직이지 않는 정적인 물체에 대해 조명효과를 미리 계산해 텍스쳐로 만드는 것을 말합니다.

이것을 사용하는 이유는 실시간 조명은 효과가 좋지만 너무 무겁기 때문에(계산이 많아서) 비교적 가볍게 사용할 수 있고(미리 계산해서 계산이 적은) 비슷한 효과를 줄 수 있기 때문입니다.

물론 텍스쳐로 조명효과를 주기 때문에 반사광이 표현되지 않는다거나 하는 여러가지 단점이 있지만 어느정도 해결할 수 있는 방안(Light Probes)과 성능과 퀄리티라는 큰 장점이 있기 때문에 라이트맵을 이용합니다.

라이트맵 Bake.

그건 나중에 이야기 하고 일단 베이크를 보여드리도록 하겠습니다.

아래 사진에는 Cube*2, Plane*1, DirectionLight*1개가 있습니다.

빛의 방향은 사진에 빨간색으로 표시해 놓았습니다.

현재 이게 Realtime DirectionLight입니다.

Bake전1

물체를 움직여보면 이렇게 그림자가 따라서 움직입니다.

bake전2

다시 원래 상태로 돌려놓고 이제 Bake를 해보겠습니다.

먼저 Directional Light의 모드를 Bake로 바꿔주겠습니다.

빛의 모드를 Bake로 바꾸었는데 아직 해야할 것이 더 있습니다.

위에서 설명했을때 움직이지 않는 정적인 물체에 대해 조명효과를 미리 계산해 텍스쳐를 만든다고 했습니다.

그러니 Static(Contribute Gl)을 체크하거나 인스펙터창의  MeshRenderer-> Light-> Contribute Global Illuminating을 체크합니다.

3D Cube object

유니티 에디터 상단의 window -> Rendering -> Lighting으로 들어갑니다.

Lighting에서 원하는 세팅을 선택합니다.

저는 이렇게 대충 선택했습니다.

Realtime조명이 없어서 Realtime lighting쪽은 체크하지 않았습니다.

이후 제일 아래 보이는 Generate Lighting을 눌러 라이트맵을 생성했습니다.

Generate Lighting을 누르면 파란색 막대기가 생기면서 로딩이 진행됩니다.

시간은 꽤 오래걸리는 편입니다.

이 파란 막대기를 다 기다리면 알아서 적용이 됩니다.

Bake적용 후.

별로 달라보이는 것이 없지만 큰 큐브를 한번 옮겨보도록 하겠습니다.

큐브를 옮겼지만 베이킹하여 텍스쳐로 구워진 그림자는 옮겨지지 않는 것을 확인할 수 있습니다.

그럼 이번에는 베이킹된 맵에 큐브 하나를 생성해 보겠습니다.

그 결과 다른 오브젝트들은 빛의 영향을 받는 것 처럼 밝지만 방금 생성한 큐브는 어두운 것을 확인할 수 있습니다.

현재 생성한 큐브를 Static으로 설정하지 않았기 때문에 다시 구워도 그대로인 것을 확인할 수 있을겁니다.

이전글에서 보았던 조명 종류중에 Bake해서 사용하는 조명이 하나 있었습니다.

하이라키창에 추가하고 적당한 위치에 추가하고 빨간색조명으로 변경해주겠습니다.

조명의 표시는 나오지만 역시 Baked only라서 아직 작동하지 않는 것을 확인할 수 있습니다.

다시 Lighting으로 가서 Generate Lighting을 눌러 베이크를 진행하였습니다.

(Directional Light때문에 잘 안보여서 Directional Light를 비활성화 하고 진행했습니다.)

베이크 전에 보이지 않았던 Area Light를 볼 수 있었습니다.

유니티 조명 베이킹.

Designed by JB FACTORY