Unity Skybox 컴포넌트 가이드
개요
Skybox 컴포넌트는 Unity에서 게임 오브젝트의 카메라가 그리는 스카이박스를 제어하는 데 사용됩니다. 이 컴포넌트를 통해 씬 내 여러 카메라가 서로 다른 스카이박스를 렌더링할 수 있습니다.
렌더링 파이프라인 호환성
Skybox 컴포넌트는 다음과 같은 렌더링 파이프라인에서 호환됩니다:
파이프라인 | Built-in | URP | HDRP |
---|---|---|---|
Skybox 컴포넌트 지원 여부 | 지원 | 지원 | 미지원 |
주의: HDRP는 이 컴포넌트를 지원하지 않지만, 다양한 스카이 생성 솔루션을 제공합니다.
프로퍼티 설명
Skybox 컴포넌트의 주요 프로퍼티는 다음과 같습니다:
프로퍼티 | 설명 |
---|---|
Custom Skybox | 카메라가 그리는 스카이박스입니다. 이 프로퍼티에 할당되는 머티리얼은 반드시 스카이박스 셰이더를 사용해야 합니다. |
활용 예제
기본 Skybox 설정
using UnityEngine;
public class BasicSkybox : MonoBehaviour
{
public Material skyboxMaterial;
void Start()
{
RenderSettings.skybox = skyboxMaterial;
}
}
위 예제는 게임이 시작될 때 기본 스카이박스를 설정합니다.
카메라 별 Skybox 변경
using UnityEngine;
public class MultiCameraSkybox : MonoBehaviour
{
public Camera camera1;
public Camera camera2;
public Material skybox1;
public Material skybox2;
void Start()
{
camera1.clearFlags = CameraClearFlags.Skybox;
camera1.GetComponent<Skybox>().material = skybox1;
camera2.clearFlags = CameraClearFlags.Skybox;
camera2.GetComponent<Skybox>().material = skybox2;
}
}
이 코드는 두 개의 카메라가 각각 다른 스카이박스를 보여줄 수 있게 설정합니다.
동적 Skybox 변경
using UnityEngine;
public class DynamicSkybox : MonoBehaviour
{
public Material[] skyboxes;
private int currentSkyboxIndex = 0;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
currentSkyboxIndex = (currentSkyboxIndex + 1) % skyboxes.Length;
RenderSettings.skybox = skyboxes[currentSkyboxIndex];
}
}
}
위 코드는 스페이스 키를 누를 때마다 스카이박스가 변경되도록 설정합니다.
결론
Skybox 컴포넌트는 다양한 게임 내 환경을 만들기 위해 매우 유용한 도구입니다. 스카이박스를 적절히 활용하여 더욱 몰입감 있는 게임을 만들어 보세요.