디지털/Unity

[Unity] PrefabLightmapping Script (배경프리펩 라이트맵)

GaGil 2025. 3. 5. 08:00
반응형

 

프리펩에 라이트 매핑 데이터를 저장해 주는 스크립트

기존에는 씬에 배치된 배경 오브젝트들을 베이크 해서 씬에 귀속된 배경을 불러들이는 방식을 사용했다.

A 맵에서 C 맵을 가려면 C 맵의 씬으로 전환. 많은 씬 작업이 필요하고, 이동이나 여러개의 씬을 동시에 불러들여 배경을 합치거나 할 수는 없고 추가 작업이 필요하다.

씬은 하나로만 사용하고 배경은 프리펩으로 불러오는 방식으로 진행하자는 의견이 나왔다.

가벼움을 위해서 실시간 라이트는 사용하지 않는다고 했다.

배경에 사용되는 오브젝트들은 리소스를 절약하기 위해 한 스테이지 맵 외의 다른 곳에서도 사용해야 해서 한 스테이지 고정용으로 만들 수도 없었다.

라이트의 변화로 다양한 색감, 그림자를 주려면 무조건 라이트맵이 필수인데.

스테이지 배경 프리펩 마다 다른 라이트맵을 적용할 수 있나? 하는 의문점이 생겼고, 자료를 찾다 발견한 오픈소스.

얼마나 반갑던지. 만들어주신 분 복받으실 거예요. >___<

프리펩에 라이트맵이 귀속되기 때문에, 씬을 하나로 사용하고 배경을 프리펩으로 불러오는 작업으로 진행될 때 유용. 프리펩을 불러오는 것이기 때문에 한 씬에 배경 여러개를 적용하는 것도 가능하고 Transform 변경이 편리.

적용시에는 클라에서 적용 가능하게 설정 해주셔야 하다 보니, 사용 여부 가능은 클라와 미리 의논.

프리펩에 적용한 스크립트 사용여부 체크가 풀리는 경우가 있는데, 라이트맵은 잘 적용되긴 한다.

보이는 거에는 문제 없지만, 클라에서 체크해야 하는 메세지가 계속 나온다고 하셨다.

상의 끝에 기능적으로 문제가 없으니 해당 메세지는 무시하고 나오지 않도록 하기로 하고 진행.

마무리 단계의 프로젝트라 사용하지 않다 보면 또 잊어버릴 테니, 기록.

 

http://https://github.com/Ayfel/PrefabLightmapping

 

1. [PrefabLightmapping-master]의 [LightProbeRuntime], [PrefabLightmapData]를 배경 프리펩 [Inspector]에 넣어준다.

2. 변경된 내용 Prefab 저장 (꼭 프리펩 저장하고 뽑을 것)

3. 기존 라이트맵 추출과 같게, 라이트 세팅과 프랍들 Lighting - Lightmaps 사용한다고 설정. 후에

[Assets - Bake Prefab Lightmaps] 베이크

 

4. 베이크 진행하면 초록색 영역의 빈 내용에 새롭게 뽑힌 라이트맵의 정보 나타남

반응형