나는 주로 유니티에서 간단하게 움직이는 스크립트를 짤 때
Lerp 함수를 자주 이용한다.
근데 문제는 이동에 뭔가 색다른 효과를 주고 싶을 때
처음에는 느리다가 점점빨라지거나
갑자기 뒤로갔다가 반동으로 튀어나가거나
그런 동작을 추가하려면 뭔가 복잡한 처리를 해야한다는 것 이었다
근데 AnimationCurve 클래스를 최근에 알게 되었다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public AnimationCurve curve;//인스펙터에서 조정하면 됨
IEnumerator Close()
{
float progress = 0;
while (true)
{
progress += Time.DeltaTime;
cutOff = Mathf.Lerp(0, 1, curve.Evaluate(progress));//여기 가 중요한 부분
if (progress > 1) yield break;
yield return 0;
}
}
|
cs |
인스펙터에는 이런식으로 뜬다
클릭하면 나오는 창에서 잘 조정하면 된다
밑에있는 톱니바퀴를 누르면
지금 편집하고 있던 커브를 프리셋으로 등록할 수도 있다.
'프로그래밍 > 유니티' 카테고리의 다른 글
유니티 스프라이트 밝게 만들기 (0) | 2019.05.09 |
---|---|
반사각구하기 (0) | 2019.03.07 |
유니티 좌표에 따른 정렬 기준 바꾸기 (0) | 2019.01.16 |
유니티 : 클릭했을때 UI인거 확인하기 (0) | 2018.06.02 |
유니티 2018.1 새로운 기능 (0) | 2018.05.05 |