“Inertialization”は、GDC2018で発表されたSmooth Transitionアルゴリズムで、遷移元モーションの変化速度に応じた慣性挙動を実現するInertial Transition(慣性遷移)の一種です。後にUnreal Engine 4に採用されたことでも話題になりました。
Inertializationでは計算で作り出した慣性差分を遷移先モーションに加算ブレンディングすることで遷移時の滑らかな補間を実現していますが、この加算ブレンディングに起因した挙動上の問題点がいくつか確認されています。
その中でも最大の問題点が、過大な慣性成分が生じた際に関節の可動域限界を容易に突破してしまうオーバーリミット問題です。本講演では、このオーバーリミットを始めとするInertializationの大小様々な挙動上の問題点について、それぞれの発生メカニズムと、その解決のために取った補正処理や設定項目について解説します。
また、実際には加算ブレンディング起因の問題点は、Inertializationへの補正処理だけでは完全には解決しきれませんでした。しかしながら、それらの問題についてはInertializationの技術を転用した別のInertial Transitionアルゴリズムを作り出すことで問題解決に繋げることができたので、こちらについても詳しく解説します。
講演者プロフィール
松本 浩太
1994年、セガ・エンタープライゼス(現セガ)に新卒入社。
『バーチャファイター』シリーズを始めとしたアーケード格闘アクションゲームの開発業務にプログラマーとして従事する傍ら、『スパイクアウト』シリーズ以降はキャラクターアニメーション関連処理を中心としたエンジン開発業務を並行して担当。
『初音ミクProject DIVA』シリーズの開発を担当したのを契機に、『ミクの日感謝祭39's Giving Day』などのライブコンサート用の映像ソースの制作にも参加。
現在は『Fate/Grand Order Arcade』の開発業務(主にインゲームやエンジン)に従事。
《講演者からのメッセージ》
"Inertialization"は、イナーシャライゼイションと読みます。慣性化という意味です。まずはこれだけでも覚えてもらえると嬉しいです。
既存のSmooth Transitionアルゴリズムの代替手法を探している方や、Inertializationを試してみたけどうまく行かなくて諦めたという方は、今回提案する手法を試してみてください。
その上で、今後のより優れたアルゴリズム開発の足掛かりになればと思っています。