オブジェクトの座標と回転を一定距離空けてトレースする。
HyperNovaのオプション砲移動処理にこのプログラムを使用しています。
- UnityEngine
- System.Collections.Generic
① STGOptionMovement.cs を任意のGameObjectにコンポーネントする
② STGOptionMovementにターゲットと追尾させるGameObjectをアタッチする
③ 座標の更新タイミング(updateType)をinspectorから選択
④ パラメータを調整
※ より違和感なく動かすために、updateTypeをmanualにして、ターゲットの座標を更新した直後にvoid Update_()を呼ぶことを推奨します。
void Update_()
ターゲットが一定距離進むごとにTransformの情報を保存し、それらの座標や回転を線形補間(Lerp)することによりオプションを動かしています。
動きをより滑らかにするためには、distanceにより小さな値を設定し、Body/stepにより大きな値を設定してください。 ただし、キャッシュを取る回数が増加するため処理は重くなります。
"STGOptionMovement" is under MIT license.