일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- C언어
- Three(Two) Tone Shading
- 게임 수학
- URP로 변경
- Rim Light
- working set
- AppSW
- 3d
- Toon Shader
- URP
- 프로그래밍 기초
- ColorGradingLutPass
- 가상 바이트
- 작업 집합
- Windows Build
- Cell Shader
- ASW(Application SpaceWarp)
- OculusMotionVectorPass
- VR
- 벡터
- 메모리 누수
- 개인 바이트
- Virtual Byte
- Specular
- Cartoon Rendering
- Cell Look
- Private Bytes
- Today
- Total
WinCNT
유니티의 Bakery(라이트 맵 생성 에셋) 적용기 본문
서론
Bakery라는 에셋을 적용하면서 삽질했던 것을 정리해봤다
참고로 Bakery는 라이트 맵을 생성해주는 에셋이며 아래의 페이지에서 구입할 수 있다
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]
근본적인 원인은 프로젝트 설정 > 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]
'Unity > Unity 관련' 카테고리의 다른 글
Unity에서 Slack으로 파일 업로드 해보기 (0) | 2023.07.27 |
---|---|
유니티의 UI 시스템(uGUI)에 대해 조금 알아보기 (0) | 2023.07.24 |
유니티 스크립트 게임 오브젝트의 레이어와 카메라의 컬링 마스크를 설정하기 (0) | 2023.05.19 |
유니티 에디터 모드에서 다이얼로그(Dialogue)창 띄우기 (0) | 2023.04.26 |
URP에서 특정 카메라의 렌더링 후에 호출되는 함수 (0) | 2023.04.25 |