ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 보간 : 사이값(간)을 보조
    언리얼 2023. 10. 16. 17:36

     

    Lerp 활용 방법 정리본.

    보간은 다양한 곳에서 사용되는 개념으로, 예를 들어

    네트워크 상에서 캐릭터의 손 애니메이션 중 손을 핀 것이 0, 주먹을 쥔 것이 1이라 했을 때

    핀 상태에서 주먹을 쥐는 모션이 부드럽게 표현될 수 있도록 하는 데 보간을 활용하기도 한다.

     

    언리얼 상에서 lerp 노드는 선형 보간으로 alpah 값에 따라 값이 일정하게 변화한다. 

    tick에서 이를 활용하여 액터의 움직임을 자연스럽게 표현하기 위해서는 tick의 호출 시점, 

    deltaTime의 개념을 정확히 짚고 넘어가야 한다. 

     

    tick 호출 시점

    현재 프레임에서 다음 프레임으로 업데이트 될 때 호출.

     

    fps(frame rate)

    초당 재생되는 프레임의 개수

     

    DeltaTime (= Get World Delta Seconds) 개념

    현재 프레임에서 다음 프레임으로 넘어가는 데 걸리는 시간.

    따라서 delta time = 1 / fps로 표현할 수 있다. 

     

     

    5초 동안 Target 을 A지점에서에서 B지점까지 값을 이동시키려면,

    delta seconds를 5로 나눈 값을 누적해서 lerp에 적용시켜주면 된다.

     

    언리얼 내부에서 제공하는 VInterp to Constant는 Lerp노드와 동일하게 동작한다.

    다만 lerp 노드의 경우 A값과 B값 간격에서 alpha 값에 해당하는 값을 반환하는 반면,

    Interp to 노드의 경우, target에 도달하기 위해 현재값과 target 사이의 거리값을 기준으로 보간을 진행한다.

     

    다만 parameter 값이 lerp와 다름에 유의하자. 

    current : 현재 위치값

    target : 목표 지점의 위치값

    delta time : 프레임 간 소요시간

    interp speed : 보간 속도 

     

    constant가 아닌 Interp to 노드의 경우,

    current 지점과 target 지점 간의 거리가 가까워질수록 속도가 느려지는 효과를 준다.

    Interp to가 현재 지점과 target 지점 간의 거리값에 대해 보간이 이루어 지기 때문에

    현재 지점이 target 지점에 가까워질수록 거리값이 줄어들면서 속도가 주는 효과를 주게 된다.

     

     

Designed by Tistory.