Unity 반사 프로브 사용 가이드

개요

Unity의 반사 프로브는 씬 내에서 오브젝트의 반사를 캡처하고 저장하는 데 사용됩니다. 반사 프로브는 베이크된, 실시간, 커스텀의 세 가지 기본 타입으로 제공됩니다. 이 문서에서는 각 타입의 사용법과 기능에 대해 설명합니다.

반사 프로브 타입

프로브 타입 설명
Baked 에디터 내에서 생성된 반사 큐브맵을 저장하여 사용합니다.
Realtime 런타임 중에 큐브맵을 생성하여 반사 상황을 실시간으로 업데이트합니다.
Custom 베이크된 프로브처럼 작동하지만, 사용자 정의 큐브맵을 사용하여 반사를 표현합니다.

1. 베이크된 반사 프로브

  • 장점: 처리 오버헤드가 적고 실시간으로 갱신할 필요가 없는 환경에서 유용합니다.
  • 사용법:
  • 반사 프로브의 Type 프로퍼티를 Baked로 설정합니다.
  • Reflection Probe Static으로 표시된 오브젝트만 반사가 가능합니다.
  • Bake 버튼을 클릭하여 큐브맵을 업데이트합니다.

베이크 프로브의 특징

  • 반사는 “동결” 상태로 유지되어 런타임 중에 변경사항에 반응하지 않습니다.
  • 자동 베이킹을 설정하면, 씬 뷰에 오브젝트를 배치할 때 자동으로 업데이트됩니다.

2. 실시간 반사 프로브

  • 장점: 씬 내의 변화를 실시간으로 반영하며, 동적인 오브젝트의 반사를 지원합니다.
  • 사용법:
  • 반사 프로브의 Type 프로퍼티를 Realtime으로 설정합니다.
  • Culling Mask 및 Clipping Planes 속성을 사용하여 반사 큐브맵에서 오브젝트를 선택적으로 제외할 수 있습니다.

실시간 프로브의 특징

  • 동적인 오브젝트에 대해 반사를 즉시 업데이트하지만, Reflection Probe Static 오브젝트가 변경될 때만 반사 큐브맵이 업데이트됩니다.
  • 성능은 상대적으로 더 높은 오버헤드를 요구하지만, 자연스러운 반사 효과를 만듭니다.

3. 커스텀 반사 프로브

  • 장점: 기본적으로 베이크된 프로브와 유사하게 작동하나, 더 많은 사용자 정의 기능을 제공합니다.
  • 사용법:
  • 반사 프로브의 Type 프로퍼티를 Custom으로 설정합니다.
  • Dynamic Objects 프로퍼티를 통해 Reflection Probe Static으로 표시되지 않은 오브젝트도 반사 가능하게 설정할 수 있습니다.

커스텀 프로브의 특징

  • Cubemap 프로퍼티를 통해 고유한 큐브맵을 할당할 수 있어, 특정 상황에서 더 특정한 반사 효과 가능합니다.

예시 코드

아래는 Unity에서 Baked 반사 프로브를 설정하는 코드 예제입니다:

using UnityEngine;

public class ReflectionProbeSetup : MonoBehaviour
{
    public ReflectionProbe reflectionProbe;

    void Start()
    {
        // 반사 프로브를 베이크된 타입으로 설정
        reflectionProbe.mode = ReflectionProbeMode.Baked;
        // 베이크 실행
        reflectionProbe.Bake();
    }
}

결론

Unity의 반사 프로브는 씬 내에서의 조명과 반사를 관리하는 데 있어 매우 유용한 도구입니다. 각 프로브 타입의 장단점을 이해하고 상황에 맞게 사용하면 보다 현실적이고 성능이 우수한 씬을 만들 수 있습니다.