유니티

유니티 - lerp와 slerp

bugmin 2024. 6. 3. 23:53

lerp나 slerp나 결국 보간법이라 두 점을 잇는 방법을 얘기하는 것인데

 

lerp, slerp 둘다 인자의 의미는 같다.

 

lerp(From, To, Rate)로

 

From은 출발지, To는 목적지로 생각하면 되고 Rate는 비율로 생각하면 된다.

 

비율은 [0, 1] 사이의 수로 나타내며 0이 0%, 1이 100%로 0.1은 10%, 0.5는 50%로 이해하면 된다.

 

그래서 0.4(40%)의 비율은  무엇을 의미하는걸까?

lerp(A, B, 0.4f) 를 살펴보자

 

A를 출발점, B를 도착점으로 봤을때 40퍼센트까지 왔다는 것을 의미한다. (즉 도착까지 60퍼가 남은 거다)

 

lerp의 경우 선형보간이기 때문에 위와 같이 직선으로 출발점, 도착점을 잇고 비율에 따라 위치를 정해주면 된다.

 

반면 slerp은 구면 선형 보간으로 구면의 의미대로 원의 호를 따라 출발점과 도착점을 잇는 것이다.

 

아래는 slerp과 lerp의 차이를 보여준다.

 

 

출발점 A와 도착점 B를 잇는 초록색 현은 lerp에 이용되고

출발점 A와 도착점 B를 잇는 보라색 호는 slerp에 이용된다.

 

lerp의 값은 초록색 현에 위치하고 slerp의 값은 보라색 호에 위치하게 될 것이다.

또한 비율에 따라 위치가 정해지며 설명했듯이 비율이 높을 수록 도착점에 더 가까워질 것이다.

 

원의 호에 위치하는 slerp 값의 특성에 따라 이는 회전 연산에 주로 이용된다.

 

slerp의 비율값을 조절해 원하는 비율만큼 물체를 회전시킬수가 있게 되는 것이다.