【Unity5】ゆっくり動き始めて、ゆっくり止まる補間を実装する
カメラやキャラクターの移動で、以下のグラフのような補間を実装する方法を共有。ゲームで一番よく使う補間方法です。
正式名称(?)はEase-in, Ease-Outとのこと。
動き始めはゆっくりと、真ん中で最高速度になって、ゆっくり止まります。
具体的な式は以下のとおり。
t=0〜1の間で増える値(経過時間/待ち時間 など)
void Update () { float t = Mathf.Min (time / LEAP_TIME, 1f); float leapt = (t * t) * (3f - (2f * t)); transform.position = Vector3.Lerp (startPosition, endPosition, leapt); time += Time.deltaTime; } private float time; private const float LEAP_TIME = 2f; private Vector3 startPosition; private Vector3 endPosition;
ゲームプログラムの基本中の基本みたいです。