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 커뮤니티나 포럼을 통해 진행할 수 있습니다.