[내일배움캠프 Unity 9기]

05/19 TIL 스카이 박스의 애니메이션 설정, 조명 처리

kyvv 2025. 5. 19. 21:24

📘 TIL – Unity 강의 정리 (Light, AnimationCurve)

🔦 Light

**라이트(Light)**는 게임 혹은 3D 렌더링에서 씬에 광원을 추가하는 데 사용되는 요소로, 씬 내 오브젝트의 조명 효과 및 그림자 표현에 중요한 역할을 한다.

✅ 주요 라이트 유형

  • 점 광원 (Point Light)
    한 지점을 기준으로 모든 방향으로 빛을 발산하는 광원.
  • 방향성 라이트 (Directional Light)
    멀리서 오는 평행한 광선을 나타내며, 주로 태양빛처럼 한 방향으로 빛을 쏘는 데 사용됨.
  • 스포트라이트 (Spot Light)
    특정 지점에서 원뿔 형태로 빛을 쏘는 광원. 손전등이나 스테이지 조명에 적합.
  • 면 광원 (Area Light)
    일정 면적(사각형)의 한 면에서 균일하게 빛을 발산. 리얼리즘이 중요할 때 사용되며 성능 부담이 큼 (렌더링 비용이 크므로 주로 베이킹용).

✅ 라이트 속성

  • 위치 (position)
  • 방향 (direction)
  • 강도 (intensity)
  • 색상 (color)
  • 범위 (range)
  • 각도 (angle)

✅ 그림자

  • 라이트가 오브젝트에 닿을 때, 그 뒤쪽에 그림자가 생긴다.
  • 그림자를 사용할수록 성능에 영향이 큼 → 최적화 필요.

✅ 성능 관련 요소

  • 라이트는 렌더링에 부담을 주는 요소이며, 특히 실시간 그림자는 성능 저하의 주범이 될 수 있음.
  • 효율적인 광원 사용 및 베이크 처리로 성능 최적화 필요.

✅ 주요 설정값

  • Lighting Intensity Multiplier: 전체 광원의 밝기를 조정.
  • Reflecting Intensity Multiplier: 반사되는 빛의 강도 조정.

🎞️ AnimationCurve

**AnimationCurve**는 시간에 따른 값을 키프레임 기반으로 보간(interpolation)해주는 Unity 클래스이다. 움직임, 크기, 회전 등 다양한 속성의 변화에 활용 가능하다.

✅ 구성 요소

  • 키프레임 (Keyframe):
    시간(t)과 그에 대응하는 값(value)으로 구성된 점.
  • 보간 방식 (Interpolation Mode):
    키프레임 간의 값 변화를 정의하는 방식 (기본적으로 부드러운 곡선(Cubic Bezier)).

✅ 주요 메서드 및 사용법

csharp
복사편집
using UnityEngine; public class ExampleScript : MonoBehaviour { private AnimationCurve curve; private void Start() { // 새 커브 생성 및 키 추가 curve = new AnimationCurve(); curve.AddKey(0f, 0f); curve.AddKey(1f, 1f); } private void Update() { // 시간에 따른 값을 평가 (보간) float time = Time.time; float value = curve.Evaluate(time); Debug.Log("Time: " + time + ", Value: " + value); } }
  • AddKey(time, value): 새로운 키프레임 추가
  • Evaluate(time): 해당 시간에 대한 보간된 값 반환
  • keys: 전체 키프레임 배열에 접근 (수정, 삭제 가능)

✅ 사용 예시

  • 오브젝트 움직임 패턴 제어
  • 애니메이션 속도 변화
  • 점프나 대미지 그래프 조정 등 다양한 게임 메커니즘에 활용

✍️ 느낀 점

  • 라이트의 종류와 특성을 이해하면, 보다 현실감 있는 씬 연출이 가능하다는 걸 배움.
  • AnimationCurve는 단순한 애니메이션 이상의 기능을 제공해, 시간에 따른 값 제어를 정교하게 할 수 있어 매우 유용하다는 것을 느낌.
  • 라이트와 커브 모두 성능과 직결되기 때문에, 연출과 최적화의 균형이 중요함을 인지함.