WinCNT

유니티의 Bakery(라이트 맵 생성 에셋) 적용기 본문

Unity/Unity 관련

유니티의 Bakery(라이트 맵 생성 에셋) 적용기

WinCNT_SSS 2023. 6. 20. 11:43

서론

Bakery라는 에셋을 적용하면서 삽질했던 것을 정리해봤다

참고로 Bakery는 라이트 맵을 생성해주는 에셋이며 아래의 페이지에서 구입할 수 있다

Bakery - GPU Lightmapper

 

Bakery - GPU Lightmapper | 레벨 디자인 | Unity Asset Store

Get the Bakery - GPU Lightmapper package from Mr F and speed up your game development process. Find this & other 레벨 디자인 options on the Unity Asset Store.

assetstore.unity.com


DllNotFoundException

unitypackage의 에셋을 임포트하면 메뉴 바에 Bakery라는 항목이 생긴다

그리고 바로 Render lightmap…를 열어서 실행해보니…!!

DllNotFoundException이라는 에러가 발생했다…

실제로 임포트한 파일에는 해당 DLL이 없는 상태였다

 

원인은 임포트했던 unitypackage가 패치용이었던 것

다행히 원본 unitypackage도 있길래 매뉴얼에 따라서 도입하니 DllNotFoundException가 사라졌다


Parallel Import 설정과 최신 버전의 함정

그래서 실행해보니 라이트 맵이 잘 만들어졌다

정확히는 라이트 맵의 파일 잘 만들어졌다

근데 만들어진 라이트 맵의 적용이 이상하다는 문제에 직면했다!

 

여기서부터 꽤나 삽질을 했는데, 하나씩 정리해자

직접적인 원인은 Texture Type

정상적인 라이트 맵(좌) / 문제 발생한 라이트 맵(우)

일단 문제의 직접적인 원인은 라이트 맵의 Texture Type이 Lightmap이 아니라 Default로 설정되었다는 것이었다!

그 외에도 Max Size가 다르다는 등의 문제도 발생하고 있었다

ftTextureProcessor에서 원인 찾기

단순히 만들고 나서 수동으로 바꾸는 문제가 아니겠다 싶어서 좀 더 조사를 진행했다

처음에는 어떻게 조사해야 할지 막막했지만, 라이트 맵의 밑에 ftTextureProcessor라는 문구가 수상해서 일단 살펴보기로 했다

(참고로 Bakery의 스크립트에는 ft가 붙어있다)

일단 해당 스크립트에 브레이크 포인트를 걸고 살펴본 결과, 역시나 Texture Type이 Default로 설정되고 있었다

여기까지 살펴보고 나니, 이건 개인적으로 살짝 수정한다고 가능할 문제가 아니라는 것을 확신했다

Bakery의 Forum thread를 검색해보기

직접적인 원인은 찾았지만 근본적인 원인을 찾지 못 해서 Bakery의 공식 페이지를 찾아봤다

아쉽게도 FAQ에는 관련 정보를 찾지 못 했기에 Forum thread로 가서 ftTextureProcessor란 키워드로무식하게 검색해봤다

매우 다행히도 나랑 같은 현상을 겪은 사람이 있었으며, 근본적인 원인도 찾은 상태였다!

Bakery - GPU Lightmapper (v1.95) + RTPreview [RELEASED]

 

Bakery - GPU Lightmapper (v1.95) + RTPreview [RELEASED]

Asset store link: https://assetstore.unity.com/packages/tools/level-design/bakery-gpu-lightmapper-122218 Link to RTPreview plugin for Bakery:...

forum.unity.com

Bakery - GPU Lightmapper (v1.95) + RTPreview [RELEASED]

 

Bakery - GPU Lightmapper (v1.95) + RTPreview [RELEASED]

Asset store link: https://assetstore.unity.com/packages/tools/level-design/bakery-gpu-lightmapper-122218 Link to RTPreview plugin for Bakery:...

forum.unity.com

근본적인 원인은 프로젝트 설정 > Editor의 Parallel Import였다

유니티의 버전 업(아마 2021.2?)으로 추가된 설정인데, Bakery가 그 설정에 대응하지 않았기 때문에 발생한 이슈였다


결과

시험삼아 Parallel Import를 끄니 라이트 맵이 제대로 만들어졌다

그리고 Bakery도 최신 버전에는 해당 설정을 대응했다고 한다

(참고로 이슈가 발생했던 버전은 1.9이다)


마무리

에셋의 도입만으로 상당한 삽질을 도입한 태스크였다

이 뒤에 라이트 맵을 적용하는데도 진짜 상당히 삽질했다

아무튼 에셋이든 앱이든 최대한 최신 버전을 쓰도록 하자는 교훈을 얻을 수 있었다


참고 사이트

Bakery - GPU Lightmapper (v1.95) + RTPreview [RELEASED]

 

Bakery - GPU Lightmapper (v1.95) + RTPreview [RELEASED]

Asset store link: https://assetstore.unity.com/packages/tools/level-design/bakery-gpu-lightmapper-122218 Link to RTPreview plugin for Bakery:...

forum.unity.com

Bakery - GPU Lightmapper (v1.95) + RTPreview [RELEASED]

 

Bakery - GPU Lightmapper (v1.95) + RTPreview [RELEASED]

Asset store link: https://assetstore.unity.com/packages/tools/level-design/bakery-gpu-lightmapper-122218 Link to RTPreview plugin for Bakery:...

forum.unity.com