移動するプレイヤーを追尾するように敵キャラクタの位置を動かしたい時や、ターゲットを注視するように頭の方向を調整したい場合には、目標をスムーズに追いかけるアニメーション動作が必要になります。こうしたアニメーションをプログラム処理として実装する方法として、関数で定義した曲線を利用して位置や方向を表す値をなめらかに変化させるアルゴリズムがよく利用されます。その一方で、機械工学の分野でよく利用されるフィードバック制御のアルゴリズムを値を変化させる処理に応用することで、目標値がダイナミックに変化する場合や、制御対象の値に外乱が加わるような場合をより簡単に扱うことができます。本セッションでは、後者のようなフィードバック制御手法の数学的な性質とアニメーションへの応用方法について解説し、ゲームプログラムにおける補間や追従のアニメーション処理に広く適用可能であることを説明します。また、実際に FINAL FANTASY XVI における視線方向の制御を行うIKシステムの一部としてこの手法を利用した例を紹介します。
講演者プロフィール
川地克明
2011年より、プロシージャルなキャラクタアニメーションの生成に関する研究・開発を担当
《講演者からのメッセージ》
目標を追従するようにキャラクタの位置や角度を変化させたいとき、スムーズな追従動作を簡単なフィードバック制御によって計算する方法について紹介します。追従処理をフィードバック制御の対象としてとらえることで、外乱がある場合にも対応できる追従処理を簡潔に実装できることや、ゲームに実装する際に注意が必要となる数学的性質があることについてそれぞれ実例に基づいて説明します。