AnimationCurve
- 애니메이션의 Keyframe을 사용하여 값을 보간하는데 사용되는 클래스
- 시간에 따라 값을 부드럽게 변화시키는 커브를 정의할 수 있음
- 애니메이션 클립의 모든 프로퍼티 (아래 사진에서 왼쪽 목록들) 가 가질 수 있음
- 시간에 따라 해당 프로퍼티가 변경되는 방식을 제어하는 것!
- 유니티 애니메이션에서는 모드를 선택할 수 있다.
도프 시트 모드의 애니메이션 뷰에서는
각 프로퍼티의 애니메이션 값이 선형 트랙으로만 표시되지만
커브 모드에서는 그래프에서 선으로 시각화된 프로퍼티 값의 변화를 확인할 수 있다
어떤 모드를 사용하든 커브는 여전히 존재!
도프 시트 모드는 키프레임이 발생한 시점에만 데이터를 보여주는
단순화된 뷰를 제공할 뿐이다.
그렇다면 여기서 키프레임이란?
Keyframe
- 시간에 따른 값을 정의하는 점
- 시간과 해당 시간에 대응하는 값으로 이루어짐
- 각 key는 Curve Editor 의 커브에 작은 마름모 기호,
이 key를 가진 프레임을 keyframe 이라고 함
- 아래 버튼을 눌러 키프레임 추가 가능
보간 방식
- 인접한 키프레임 사이의 값을 보간하는 방법을 지정
- 기본적으로는 Cubic Bezier 보간이 사용되며, 선형, 스텝, 등 다양한 보간 방식 존재
AnimationCurve 사용 방법
1. 새로운 키프레임 추가
// 애니메이션 커브 선언
private AnimationCurve animationCurve = new AnimationCurve();
// 커브에 새로운 키프레임 추가
animationCurve.AddKey(0f,0f);
animationCurve.AddKey(시간, 값) 형태로 사용
2. 특정 시간에 해당되는 값을 보간하여 반환
// 시간 변수
float time = Time.time;
// 시간에 따라 값을 보간
float interpolationVal = animationCurve.Evaluate(time);
animationCurve.Evaluate(시간) 형태로 사용
-> 특정 시간의 값을 보간하여 반환해주는 메서드
출처 - 유니티 공식문서
애니메이션 커브 사용 - Unity 매뉴얼
애니메이션 클립 에서, 모든 애니메이션 가능 프로퍼티는 애니메이션 커브 를 가질 수 있습니다. 이것은 애니메이션 클립이 시간에 따라 해당 프로퍼티가 변경되는 방식을 제어함을 의미합니다
docs.unity3d.com
'Study > Unity' 카테고리의 다른 글
[Unity] Mathf (0) | 2024.05.29 |
---|---|
[Unity] TMPRO 한글 Import 하는 방법 (0) | 2024.05.27 |
[Unity] Raycast (0) | 2024.05.24 |
[Unity] Rigidbody - ForceMode (0) | 2024.05.24 |
[Unity] 스카이박스 (0) | 2024.05.24 |