Unity 오클루전 컬링 사용 가이드
개요
이 문서는 Unity에서 오클루전 컬링을 사용하는 방법에 대해 설명합니다. 오클루전 컬링은 게임에서 카메라에 보이지 않는 객체를 렌더링하지 않아 성능을 최적화하는 기법입니다. 이 가이드는 오클루전 컬링 데이터를 어떻게 베이크하고, 다양한 씬 로딩 방식에 어떻게 적합하게 사용하는지를 설명합니다.
오클루전 컬링 기본 개념
Unity에서는 한 번에 하나의 오클루전 컬링 데이터 에셋만 로드할 수 있습니다. 이는 로드되는 씬의 수에 따라 오클루전 데이터가 달라진다는 것을 의미합니다.
씬 로딩 모드
- 단일 씬 로딩 (
LoadSceneMode.Single
) - 다중 씬 로딩 (
LoadSceneMode.Additive
)
오클루전 컬링 데이터 베이킹
1. 단일 씬 로딩 시
단일 씬을 로드할 경우, 각 씬에 대해 다음 단계를 수행해야 합니다.
- Unity 에디터에서 로드할 씬을 엽니다.
- 해당 씬의 오클루전 컬링 데이터를 베이크합니다.
- 생성된 데이터를
Assets/[Scene name]/OcclusionCullingData.asset
로 저장합니다. - 씬을 저장합니다.
이 과정을 각 씬마다 반복합니다.
2. 여러 씬 로딩 시
여러 씬을 로드할 경우, 각 씬에 대해 다음과 같은 절차를 따릅니다.
- Unity에서 첫 번째 씬을 엽니다.
- 그룹 내의 다른 씬들을 동시에 엽니다.
- 모든 씬의 오클루전 컬링 데이터를 베이크합니다.
- 데이터가 생성되면
Assets/[active Scene name]/OcclusionCullingData.asset
로 저장합니다. - 씬을 저장합니다.
런타임 씬 로딩
런타임에서 씬을 로드하는 방법은 다음과 같습니다.
단일 씬 로드
LoadSceneMode.Single
을 사용하여 씬을 로드합니다.- Unity는 활성 씬이 있을 경우 이를 언로드하고, 오클루전 데이터 에셋과 함께 씬을 로드합니다.
다중 씬 로드
LoadSceneMode.Additive
로 씬을 로드합니다.- 오클루전 데이터가 동일한 경우, 오클루전 컬링이 정상적으로 작동합니다.
팁 및 주의사항
- 공유 오클루전 데이터 에셋이 클수록 데이터 세트는 증가하지만, 런타임 성능에 영향은 없습니다.
- 다중 씬 작업에 대한 자세한 정보는 Unity의 다중 씬 편집 문서를 참조하세요.
결론
오클루전 컬링은 Unity에서 성능을 최적화하는 중요한 기술입니다. 이 가이드를 통해 효과적으로 오클루전 데이터를 설정하고, 다양한 씬 로딩 방식에 맞춰 최적화할 수 있습니다. 게임 개발 시 이 기법을 적극 활용하여 성능 개선에 도움을 받으세요.