Unity 그래픽스 조명 소개

Unity에서 광원은 게임 오브젝트의 셰이딩을 계산하는 데 중요한 역할을 합니다. 적절한 조명 없이 오브젝트는 화면에서 잘 보이지 않을 수 있습니다. 이 문서에서는 Unity의 광원 관련 정보를 설명하고, 이를 활용한 다양한 예제를 소개합니다.

1. 광원 이해하기

광원은 오브젝트에 비치는 빛의 강도, 방향, 컬러 등의 정보를 제공합니다. 이러한 정보를 바탕으로 Unity는 각 오브젝트의 셰이딩을 처리하고 현실감 있는 장면을 만들어냅니다.

광원의 종류

광원 유형 설명
점광원 모든 방향으로 빛을 방출하는 광원
방향광원 특정 방향으로만 빛을 방출하는 광원
주광원 태양과 같은 구체적인 광원, 주로 강한 조명을 제공
면광원 넓은 면적에서 고르게 빛을 방출하는 광원

2. Light 컴포넌트

Light 컴포넌트를 통해 Unity에서 광원의 속성을 설정할 수 있습니다. 각 속성은 다음과 같습니다:

  • Type: 광원의 유형 선택 (점광원, 방향광원 등)
  • Intensity: 광원의 밝기 조절
  • Color: 빛의 색상 조정

예제 코드

아래 코드는 Light 컴포넌트를 추가하여 점광원을 설정하는 간단한 스크립트입니다.

using UnityEngine;

public class LightSetup : MonoBehaviour
{
    void Start()
    {
        GameObject lightObject = new GameObject("Light");
        Light light = lightObject.AddComponent<Light>();
        light.type = LightType.Point; // 점광원
        light.intensity = 1.5f; // 밝기 설정
        light.color = Color.white; // 흰색 빛
    }
}

3. 발광 머티리얼

발광 머티리얼은 자체적으로 빛을 방출하는 특성을 가진 머티리얼입니다. 이 머티리얼을 사용해 장면의 분위기를 조정할 수 있습니다.

예제 코드

발광 머티리얼을 설정하기 위한 스크립트 예제입니다.

using UnityEngine;

public class GlowMaterial : MonoBehaviour
{
    public Material glowMaterial;

    void Start()
    {
        Renderer renderer = GetComponent<Renderer>();
        renderer.material = glowMaterial; // 발광 머티리얼 적용
    }
}

4. 주변광 조명 소개

주변광은 장면의 모든 오브젝트에 기본적인 조명을 제공합니다. 이 조명은 명암을 줄이며, 보다 부드러운 시각적 효과를 만들어냅니다.

사용 예

주변광을 설정하는 방법은 아래와 같습니다:

using UnityEngine;

public class AmbientLightSetup : MonoBehaviour
{
    void Start()
    {
        RenderSettings.ambientLight = Color.gray; // 주변광 색상 설정
    }
}

결론

Unity의 광원 기능을 이해하고 활용하면, 게임의 시각적 품질을 크게 향상시킬 수 있습니다. 다양한 광원과 머티리얼을 조합하여 원하는 분위기를 조성해 보세요. 추가적인 질문이나 도움 요청은 Unity 커뮤니티나 포럼을 통해 진행할 수 있습니다.