キャラクタアニメーションの数理とシステム 3次元ゲームにおける身体運動生成と人工知能

キャラクタアニメーションの数理とシステム - 3次元ゲームにおける身体運動生成と人工知能 -

インタラクティブな3次元CGの映像における,キャラクタの動きを生成する技術を解説

ジャンル
発行年月日
2020/08/06
判型
A5
ページ数
240ページ
ISBN
978-4-339-02909-3
キャラクタアニメーションの数理とシステム 3次元ゲームにおける身体運動生成と人工知能
在庫あり

定価

3,520(本体3,200円+税)

カートに入れる

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • 著者紹介
  • 広告掲載情報

【本書の特徴】
本書は,インタラクティブな3次元コンピュータグラフィックス (3次元CG) 映像における,キャラクタのアニメーション生成技術に焦点を当てた教科書です。対象とする読者は3次元CGの数理的な基礎知識を持っていることと,動的なキャラクタアニメーションを担うソフトウェアシステムに必要な技術要素とその構成方法について初めて学ぶことを想定しています。

その内容は後述のとおり,ゲームエンジンにおけるアニメーションシステムの位置付けから,各種アニメーション計算アルゴリズム,アニメーションシステムの基本構成,映像シーンに適応したアニメーションの生成,アニメーションシステムと外部のシステムとの連携,そしてキャラクタAIといったキャラクタアニメーション生成技術にわたります。3次元CGアプリケーションに特有の制作工程も踏まえつつ,著者自身が初学者のときに学びたかった基礎的知識を中心に説明しています。

【各章について】
はじめに1章では,インタラクティブ3次元CGアプリケーションにおけるアニメーションシステムの位置付けを俯瞰します。他のシステムコンポーネントとの関係や,アニメーションシステムが扱うデータ,そしてシステム構築に求められる要件を定義します。

2章では,キャラクタアニメーション制作に活用される代表的な形状変形手法とそのシステム構成について解説します。具体的には,頂点アニメーション,ブレンドシェイプ,自由形状変形法,スキンモデルなどの幾何学計算手法と,力学則に基づく技法のうち,質点力学の原理やフィードバック制御理論をリアルタイムアプリケーション向けに応用した技法について説明します。さらには,リグと呼ばれる形状変形機構を構築する方法と,リグを通じて形状変形を操作する方法をまとめます。

3章では,キャラクタアニメーションの代表的技法である,スケルトン法とキーフレーム法に基づくスキンモデルのアニメーション生成についてまとめています。特に,スケルトンを内部構造にもつキャラクタのスキン変形を,フォワードキネマティクスと,線形ブレンドスキニングによって計算する手順をまとめています。さらに,キーフレーム法によるアニメーション生成の計算と,それに基づくスケルトンアニメーションのデータ表現,およびランタイムでのアニメーション再生手順をまとめます。

4章では,アニメーションシステムを設計するために用いられる,主要な基盤技術や概念を解説します。アニメーションシステムの構成を特に入出力データの観点から説明した後,アニメーションクリップの構造と複数のクリップを連結・合成するための各種編集技法について説明します。そして,キャラクタの運動状態を抽象化して表現するステートマシンと,各ステートに対応する複数のクリップを管理・編集するモジュールであるブレンドツリーについて説明します。

5章では,キャラクタが置かれる環境の変化に対してそのアニメーションを適応させる手法について説明します。例えばキャラクタが立つ地面の傾きや凹凸へ適応するために用いられる,インバースキネマティクスを用いた幾何学的なアニメーション補正や,動力学シミュレーションを応用してリアクション動作を生成する原理を取り上げます。さらに,これらの手法の境界条件を決定するために,キャラクタの外的環境を効率よく検査するために利用される手法についても説明します。

6章では,アニメーションシステムと外部のシステムが互いに情報をやり取りするために利用されるイベントシステムやトリガーシステムと呼ばれる仕組みと,アニメーションクリップに特殊なデータに付加して利用する手法について説明します。さらに,このような仕組みをアニメーションシステム自身の制御のために利用し,より多様なキャラクタの動作を生成するために応用した例についてもまとめます。

最後に7章では,キャラクタの意思決定を司るゲームAIの構成と,アニメーションシステムとの連携についてまとめます。メタAI,キャラクタAI,ナビゲーションAI,そしてボディ・レイヤの階層的構造を説明した後,ゲームAIへのサブサンプション・アーキテクチャの応用,そしてそれら意思決定システムとボディ・レイヤ,アニメーションシステムの連携の仕組みについて解説します。

さらに付録として,本書の読解に必要な3次元幾何学について概説します。特に3次元空間における座標変換と,3次元回転の各種表現方法についてまとめます。

【著者からのメッセージ】
本書にまとめた知識は,アニメーション生成技術の開発や研究だけでなく,各種ゲームエンジンで提供されているアニメーションシステムの動作を深く理解する手助けにもなると期待しています。また,可能な限り原典を掲載するとともに,比較的新しい研究事例についても紹介しています。本書をきっかけとしてキャラクタアニメーション技術に携わる開発者・研究者の同志が増えることで,さらに素晴らしいCGアニメーションを目にする機会に恵まれることを願います。

【キーワード】
キーフレーム,フォワードキネマティクス,インバースキネマティクス,スキニング,トランジション,アニメーションレイヤ,ブレンドツリー,ステートマシン,動力学シミュレーション, ラグドール,イベントシステム,キャラクタAI,ナビゲーションAI

本書は,インタラクティブな3次元コンピュータグラフィックス(3次元CG)の映像における,キャラクタの動きを生成する技術に焦点をあてた教科書である。対象とする読者は3次元CGの数理的な基礎知識を持つことを前提とし,動的なキャラクタアニメーションを担うソフトウェアシステムに必要な技術要素とその構成方法について,初めて学ぶことを想定している。

現在,3次元CGは映画やテレビコマーシャルなどの映像を作成する手段として広く利用されている。また,プレイヤの対話的な操作入力によって映像を動的に変化させることを目的として,ビデオゲームやバーチャルリアリティシステムといったソフトウェアにも応用されている。エンターテインメント作品では人間や動物に類する形態の魅力的なキャラクタがCG映像中に登場し,こうしたキャラクタは作品の表現を支える中心的な働きをする。

計算機の演算処理能力向上により,近年ではCG映像の中で高度に実在感のあるキャラクタの所作を表現することが可能になっている。これは同時に,映像を生成する計算機の処理能力によって表現力が制限されることを意味している。一般に,インタラクティブな映像生成システムで利用できる計算機の能力は,映画などの静的な映像制作に使用される計算能力よりもはるかに制限されたものになる。ビデオゲームの映像で身体運動の表現力が場面によって大きく変化する現象はその好例であり,キャラクタがプレイヤの入力操作によって動作している場面と,事前に準備した静的データに従って運動している場面とでは,利用している計算能力に大きな差があることを直接反映している。

本書では,計算能力に制約のある3次元CGアプリケーションにおけるアニメーションシステムの設計概念や各種要素技術について,体系的な説明を試みている。具体的には,プレイヤの操作入力やゲームAIの状況判断に応じてキャラクタの運動を高速かつ堅牢に即時生成するための基盤技術を取り扱う。

本書に類する題材を扱った書籍としては,ヒューマノイドロボットの運動生成に関する技術書が挙げられる。著者も含む多くのキャラクタアニメーション技術の研究開発者は,ロボット工学分野の書籍を通じてフォワードキネマティクス(3.4節)やインバースキネマティクス(5.1節),動力学計算(5.2節)などの要素技術を学んできた。しかし,現実世界のロボットとは異なり,ビデオゲームなどのアプリケーションでは物理法則よりも制作者の演出意図を優先する必要があり,専門技能を持つアニメータの手によってキャラクタの振舞いがデザインされている。本書ではこのようなCGアプリケーションに特有の制作工程を踏まえ,著者自身が初学者のときに学びたかった内容を中心に,キャラクタアニメーション生成技術の基礎知識を網羅的に説明している。なお,本書の執筆分担は,向井(第2~4章,付録),川地(第1,5,6章,付録),三宅(第7章)である。

本書にまとめた知識は,アニメーション生成技術の開発や研究だけでなく,各種ゲームエンジンで提供されているアニメーションシステムの動作を深く理解する手助けにもなると期待している。また,可能な限り原典を掲載するとともに,比較的新しい研究事例についても紹介している。本書を手にとった学生・開発者・研究者の一助になればたいへん幸いである。

そして,本書で解説したキャラクタアニメーションの技術構成は,あくまで現時点での局所的な最適解の一つであることに留意してほしい。将来,革新的な人工知能のアルゴリズムがキャラクタの振舞いを司ることで,先進的な映像出力デバイス上にいままでにない遊びの楽しさが現れるであろうことを見据え,これをキャラクタの身体運動として実現するアニメーション技術にもまた革新が必要である。本書をきっかけとしてキャラクタアニメーション技術に携わる開発者・研究者の同志が増えることで,素晴らしいCGアニメーションを目にする機会に恵まれることを願う。

2020年6月   著者一同

1.概論
1.1 ゲームプログラムにおけるアニメーションシステム
1.2 ソフトウェア機能部品としてのアニメーションシステム
1.3 アニメーションシステムのための静的データ
1.4 アニメーション計算処理アルゴリズムの特徴
 1.4.1 計算の即応性に関する制約
 1.4.2 計算の制御性に関する制約
 1.4.3 計算の安定性に関する制約
1.5 まとめ

2.形状変形アニメーション
2.1 形状変形アニメーションのデータ表現
2.2 頂点アニメーション
2.3 ブレンドシェイプ
 2.3.1 ブレンドシェイプの原理
 2.3.2 線形ブレンドシェイプ
 2.3.3 加算ブレンドシェイプ
2.4 ポーズスペース変形法
 2.4.1 区分線形補間法
 2.4.2 散布データ補間法
2.5 自由形状変形
2.6 スキンモデル
 2.6.1 スキンモデルの概要
 2.6.2 スキンモデルの形状変形
 2.6.3 スキンモデルとスケルトン
2.7 物理シミュレーション
 2.7.1 質点系力学に基づく形状変形
 2.7.2 バネ-マス-ダンパモデル
 2.7.3 フィードバック制御
2.8 リグ
2.9 発展的な話題

3.スケルトンアニメーション
3.1 キャラクタスキンモデル
 3.1.1 ジョイント座標系
 3.1.2 ワールド座標変換
 3.1.3 線形ブレンドスキニング
 3.1.4 行列パレット
3.2 スケルトン
 3.2.1 スケルトンの概要
 3.2.2 ジョイント階層構造
 3.2.3 アニメーションジョイント
 3.2.4 ルート
3.3 副次ジョイント
 3.3.1 補助ジョイント
 3.3.2 アタッチメントジョイント
3.4 フォワードキネマティクス
 3.4.1 ローカル姿勢とワールド姿勢
 3.4.2 ローカル行列の構成
 3.4.3 ワールド行列の計算
3.5 スケルトンアニメーションデータ
 3.5.1 キーフレームアニメーション
 3.5.2 キーポーズ
 3.5.3 区分線形キーフレーム補間法
 3.5.4 スプライン補間法
3.6 アニメーションデータの圧縮
 3.6.1 定数キーの省略
 3.6.2 アニメーションキーの圧縮
 3.6.3 キーフレームリダクション
3.7 発展的な話題

4.アニメーションシステム
4.1 アニメーションシステムの概要
4.2 アニメーションの滑らかさ
4.3 アニメーションクリップ
 4.3.1 アニメーションクリップのデータ構造
 4.3.2 サンプリング
 4.3.3 クリップの即時切り替え再生
 4.3.4 ループアニメーション
4.4 ポーズブレンド
 4.4.1 線形ポーズブレンド
 4.4.2 加算ポーズブレンド
 4.4.3 パラメトリックポーズブレンド
4.5 トランジション
 4.5.1 線形クロスフェード
 4.5.2 イーズイン・アウトクロスフェード
 4.5.3 フリーズトランジション
 4.5.4 慣性補間
 4.5.5 補間トランジション
4.6 アニメーションレイヤ
4.7 ステートマシン
 4.7.1 ステートマシンの概要
 4.7.2 単一クリップをステートとする構成
 4.7.3 アニメーションレイヤとステートマシン
4.8 ブレンドツリー
 4.8.1 ブレンドツリーの概要
 4.8.2 ステートマシンとブレンドツリーの連携
4.9 ステート遷移の自動化
 4.9.1 位相情報を用いた周期的動作の同期
 4.9.2 モーショングラフ
 4.9.3 モーションマッチング
4.10 発展的な話題

5.環境への適応
5.1 インバースキネマティクス
 5.1.1 外的環境への対応
 5.1.2 姿勢のブレンドによる関節位置の誤差
 5.1.3 1関節のインバースキネマティクス
 5.1.4 2関節のインバースキネマティクス
 5.1.5 3関節以上のインバースキネマティクス
 5.1.6 CCD IK
 5.1.7 パーティクルIK
5.2 動力学の利用
 5.2.1 動力学シミュレーション手法の利用
 5.2.2 動力学シミュレーションのパラメータ
 5.2.3 代表形状による身体形状表現
 5.2.4 体節に働く力と運動の変化の関係
 5.2.5 力と加速度に対する拘束条件
 5.2.6 動力学シミュレーションにおける摩擦とダンピング
 5.2.7 パーティクルIKによるラグドールシミュレーション
 5.2.8 PD制御による動きの重畳
5.3 環境形状の検査
 5.3.1 線分との交差判定
 5.3.2 複雑な形状との交差判定
 5.3.3 移動する形状との交差判定
 5.3.4 地形の凹凸に沿った移動
 5.3.5 交差判定のための代表形状
 5.3.6 交差判定の効率化
 5.3.7 交差判定の集約

6.連携と疎通
6.1 アニメーションシステムの外部連携
 6.1.1 外部システムとの連携メカニズム
 6.1.2 通知のコールバックとキュー
 6.1.3 通知の優先度
 6.1.4 通知データの作成と記録
 6.1.5 時間幅を持つ通知
6.2 アニメーション付加情報の活用
 6.2.1 アニメーション特徴情報の補間
 6.2.2 位相情報を利用したアニメーションの遷移
6.3 アニメーションシステムとAIシステムの間の情報伝達

7.キャラクタアニメーションと人工知能
7.1 身体と知能を持つゲームキャラクタ
7.2 キャラクタ制作
7.3 キャラクタ周りの人工知能
7.4 階層の具体的なシステム
 7.4.1 アニメーションシステムとAIの多階層化
 7.4.2 身体の知識表現
7.5 サブサンプション・アーキテクチャ
7.6 意思決定とアニメーションの間の領域
 7.6.1 1アクションの場合
 7.6.2 2アクション以上の場合
 7.6.3 物や地形を使うシステム「スマートオブジェクト」
 7.6.4 同期アニメーション
7.7 まとめ

付録
A.1 数式の表記
A.2 3次元空間における座標変換
A.3 3次元回転のパラメータ表現

引用・参考文献
索引

向井 智彦

向井 智彦(ムカイ トモヒコ)

東京都立大学システムデザイン学部インダストリアルアート学科にて,コンピュータソフトウェア技術を中心としたデザインに関する教育研究に携わっています。コンピュータグラフィックスやヒューマノイドアニメーション技術を専門としつつ,コンピュテーショナルデザイン技術全般に関しても興味があります。

川地 克明

川地 克明(カワチ カツアキ)

デジタルゲームにおけるプロシージャルなキャラクタアニメーション生成に関する研究・開発に従事。

三宅 陽一郎

三宅 陽一郎(ミヤケ ヨウイチロウ)

デジタルゲームにおける人工知能が専門。2004年から大型ゲームを中心に人工知能技術の研究・開発に従事。身体と知能の統合システムに興味がある。2018年には『ゲーム情報学概論』(伊藤毅志氏、保木邦仁氏との共著、コロナ社)で「CEDEC AWARDS 著述賞」を受賞。

掲載日:2020/06/12

芸術科学会誌「DiVA」48号広告

本著者,川地克明先生がCEDEC2017での講演で取り上げたキャラクタアニメーション技術の一例

「FINAL FANTASY XVにおける障害物とのインタラクション制御手法~キャラの環境認識と適応した行動について」

詳細は下記URL先の記事をご覧ください。

(4Gamer.netレポート記事:https://www.4gamer.net/games/075/G007535/20170911060/


本著者,向井智彦先生のキャラクタアニメーション技術に関する研究事例

・「歩行制御プロシージャルアニメーション他最新アニメーション技術紹介」

詳細は下記URL先をご覧ください。

第1回スクウェア・エニックス オープンカンファレンス(2011年10月8日) 資料公開ページ:http://www.jp.square-enix.com/tech/openconference/library/2011/


・「不整地上のキャラクタ歩行モーションのインタラクティブ生成技術」

詳細は下記URL先をご覧ください。

向井研究室Webサイト「Motion Rings for Interactive Gait Synthesis」:https://mukai-lab.org/projects/motion-rings/