寄 日本デジタルゲーム学会稿

デジタルゲーム学研究

Digital Games Research Association JAPAN

Journal of Digital Games Research

書評「キャラクタアニメーションの数理とシステム -3 次元ゲームにおける身体運動生成と人工知能-」
今給黎 隆
東京工芸大学 芸術学部 ゲーム学科
t.imagire@game.t-kougei.ac.jp

1. 概要
本書[1]は、ゲーム開発の R&D の全員が読むべき本です。
キャラクタアニメーションは、学ぶのがとても難しい分野です。構造はややこしいし、データは作り難い。ゲームエンジ
ン・アーキテクチャ[2]やゲームプログラミング C++[3]のような書籍でも説明はされていますが、数多い章の一つの章だけでしか扱われません。しかも、今どきはゲームエンジンがコア部分の面倒を見てくれます。そのため、職業プログラマでも実装したことがある人は少ないと思われます。他には、少数でニッチな CG アニメーション研究者（失礼）しか、まじめに実装したことはないのではないでしょうか。逆に、だからこそ、技術系ゲーム開発者・研究者、もしくは志す人であれば、どこかの時期に時間を取って、きちんした基礎知識として机に向かって学ばなくてはならない知識と言えるでしょう。そのような中、理論的に系統だってまとめられている適当な教科書というのが今までありませんでした。いやぁ、本当にありませんでした。皆さん、どうされていました？自分は DirectX のサンプルやいろいろなサイトで学んだように思いますが、かなり回り道をしながら理解してきた気がします。若い頃にこの本があったら良かったなぁ。本書は、特定の言語や SDK に依存しない話で構成されていますので、書籍としての寿命は、かなり長いのではないでしょうか。爆発的に売れる気はしませんが、非常に長い期間に渡って売れる書籍ではないかと思います（コロナ社さん、売れなくても絶版にしちゃダメですよ）。ということで、本書はかなり貴重な書籍なのですが、偏ってもいます。本書はキャラクタアニメーションに関して横断的に紹介していますが、実装の話は一切載っていません。従って、今、アニメーションシステムを実装しようかなぁという人には役に立ちません。本書の第一の想定読者は、キャラクタアニメーションの「理論」を身に着けたい人と思われます。直ぐには役に立たなくても、将来、どこかのタイミングで本書の知見が活きて、「読んでいてよかったなぁ」と思うたぐいの本です。そして次の対象読者は、ジュニアではない技術者ではないでしょうか。本文中の説明や数式から、頭の中で完成形が描け、それから具体的なプログラムを組み立てられる人であれば、本書の内容は非常に面白く読めると思います。まとめると、将来、技術系の職種でゲーム開発になりたいと知識を蓄えている学生か、既に業界にいるプログラマが読むべき本です。特に、アニメーションの体系を学んだゲームプログラマは少ないでしょうから、教養として全員が読むと良いでしょう。

2. 先行研究?
本書の内容について、著者ら自らが説明している動画 [4]が YouTube に上げられています。また、CGWORLD.jp でのJournal of Digital Games Research Vol.13 No.2, 2020

著者らへのインタビュー[5]が Web 上で読めるので、ぜひ見ていただくと良いと思います。

3. 著者らについて
本書の著者らには非常に分かりやすい共通点があります。
全員がスクウェア・エニックスの現役か元の R&D 技術者です。
三宅陽一郎さんは、本学会理事なので研究会でお会いしてこのほんいるのではないでしょうか。ちょうど、学 会誌 の 本号 で論文も掲載されています。ゲーム AI の大家で今はいろいろなメディアに引っ張りだこです。向井智彦先生は、先ほど CG アニメーション研究者はニッチと言いましたが、そのアニメーション研究者の中でも世界的に活躍されていて、SIGGRAPH 等の国際会議でリアルタイムアニメーションの研究を何度も発表されています。また業界的にもプラチナゲームス社と共同研究されていて、積極的に産学連携されています。川地克明さん
は、昔、omo 氏（森田創さん）が管理されていたゲーム関連技術系のアンテナサイトである「ドジ研アンテナ」に日記サイトが登録されていて、私は剛体物理エンジンや技術的トピックスについて、学ばせていただいておりました。もう、20 年ぐらい前の話になるんですね…。閑話休題、リアルタイム物理シミュレーションの黎明期のころから新進気鋭の研究者として活躍されていて、確固した技術を持たれているお方です。
CEDEC でも何度も講演されています。ということで、著者は、ゲームにおけるアニメーション技術に関して、日本で有数の知識を持たれている方々であり、本書の内容はとても安心です。

4. 各章の内容
4.1 第 1 章 概論
デジタルゲームにおけるアニメーションシステムが概説されます。アニメーションシステムが行う処理や制約、ゲームシステム全体の中での立ち位置が説明されます。また、アニメーションデータに関して、それらを作成するツールやゲームで実際に使用する際の制約についても触れられています。

4.2 第 2 章 形状変形アニメーション
3D モデルの変形方法が紹介されています。物体を直接変形する頂点アニメーションやブレンドシェイプ、ポーズスペース変形方が扱われています。これらを知ることで、フェイシャルアニメーションの手法の一つを知ることができるでしょう。
また、自由形状変形がわかればグミのような柔らかな変形が理解できます。
後半は、後に続く章の基礎が紹介されます。スキンモデル・物理シミュレーション・リグは、キャラクタアニメーションの29

日本デジタルゲーム学会

デジタルゲーム学研究

Digital Games Research Association JAPAN

Journal of Digital Games Research

基礎ですが、それらの低レベルな領域での仕組みが解説されています。

の流れが、事例とともに解説されています。

4.3 第 3 章 スケルトンアニメーション

付録では、数式で使われる行列の具体的な姿が記されています。特に実装に強いプログラマは、付録を確認しながら読み進めると良いではないでしょうか。

スキンモデルの計算方法やスケルトンの標準的な構造が説明されます。特にルートジョイントの説明にページが割かれています。ルートジョイントは、アニメーションデータとプログラム制御の境界に位置する存在です。ルートを詳細に把握することが実践で重要なことが見て取れます。また、フォワードキネマティクスとして、アニメーション処理の一連の流れや補間方法の説明がされていると同時に、処理順番などの注意点も述べられています。
補助ジョイントやアニメーションデータの圧縮といったトピックスが扱われています。これらは、現場では広く使われているものの、技術的な解説は少ないため、貴重な情報といえます。

4.4 第 4 章 アニメーションシステム
複数のアニメーションデータをつなげる処理が説明されます。具体的には、ステートマシンなどのアニメーション切り替えの上位のシステムや、切り替え時の補間方法が扱われます。アニメーションを滑らかに繋げて切り替えるのは非常に難しいのですが重要な技術です。普段、ゲームをしていて、キャラクターがかくっと向きを変えると白けますよね（自分だけ？）。本書では、𝐶𝐶𝐶𝐶 𝑛𝑛𝑛𝑛 連続性についてページを取って説明されています。連続性の概念を知りながらアニメーションを作成するのとしないのでは、ゲーム中の動きが明らかに変わるので、𝐶𝐶𝐶𝐶1 連続でない動きをさせていたら是非読んで欲しいです。
また、アニメーションレイヤーやブレンドツリーによる部位コントロールや、モーショングラフやモーションマッチング等の、最適な切り替えキーを自動的に検出する手法も紹介されています。

4.8 付録5. 最後に教員としてキャラクタアニメーションを教える時に、堅牢な本があるというのは何よりも心強いことです。私は、ゲームプログラム論という授業で、キャラクタアニメーションを説明してきたのですが、授業で使う際の資料は、いろいろな書籍やサイトを参考に独自でまとめてきました。今後は、本書の内容を授業の基本的な骨子として構成して、より詳細な情報や、最新のトピックスを追加する形で準備をすればよいかと考えています。キャラクタアニメーション教育の標準化が進んでいくのではないでしょうか。本書は、キャラクタアニメーションの原理を教えるメディア系の授業で長期にわたって使われていくものと思われます。

参 考 文 献[1] 向井智彦・川地克明・三宅陽一郎（2020）『キャラクタアニメーションの数理とシステム』, コロナ社.
[2] グレゴリー, J. (著), 大貫宏美・田中幸（訳）, 湊和久（訳・監修）,今給黎隆（監修）（2020）『ゲームエンジン・アーキテクチャ』 第３版, ボーンデジタル.
[3] Madhav, S (著), 今給黎隆 (監修), 吉川邦夫 (翻訳）（2018）『ゲームプログラミング C++』 翔泳社.
[4] 『 キ ャ ラ ク タ ア ニ メ ー シ ョ ン の 数 理 と シ ス テ ム 』 , YouTube,
https://www.youtube.com/watch?time_continue=5&v=JORxulcW
wF8. （最終確認日：2020 年 8 月 6 日）
[5] 小野憲史（2020 『プログラマとアーティストに共通言語を届けたい～書籍『キャラクタアニメーションの数理とシステム』出版記念イン
タビュー』, https://cgworld.jp/interview/202007-charabook.html（最終確認日：2020 年 8 月 6 日）

4.5 第 5 章 環境への適応
キャプチャーデータや手付けアニメではない、IK や動力学が扱われるのがこの章です。関節一つのシンプルなシチュエーションから多くの関節を持つシチュエーションへと、複数の方法を扱いながら、数式を踏まえて、それぞれの仕組みが紹介されます。
また、めり込み防止やつま先合わせなどの交差判定の話も本章の内容です。どのように代表形状を構成するかという設計に注力されているので、商用ゲームエンジンの物理エンジンを使う際にも有効な知識と言えます。

4.6 第 6 章 連携と疎通
キャラクターに対してアニメーションを指示するシステムと連携をする方法が扱われます。外部システムから情報を受ける方法や、伝える方法の定番の定式化方法が説明されています。具体的には、AI のシステムとやり取りをする方法が説明されています。

4.7 第 7 章 キャラクタアニメーションと人工知能
キャラクターに指示を出す AI のシステム構成や意思決定30

デジタルゲーム学研究 Vol.13 No.2, 2020