レビュー,書籍紹介・書評掲載情報
-
-
キャラクタアニメーションの数理とシステム - 3次元ゲームにおける身体運動生成と人工知能 -
本書では,動的なキャラクタアニメーションを担うソフトウェアシステムに必要な技術要素とその構成方法について初めて学ぶ読者を対象に,インタラクティブな3次元CGの映像における,キャラクタの動きを生成する技術を解説した。
- 発行年月日
- 2020/08/06
- 定価
- 3,520円(本体3,200円+税)
- ISBN
- 978-4-339-02909-3
レビュー,書籍紹介・書評掲載情報
-
「デジタルゲーム学研究」 2020年 第13巻2号 (日本デジタルゲーム学会)
掲載日:2021/03/11
出典元:デジタルゲーム学研究2020年第13巻2号29,30P
【以下,出典元より転載】
書評「キャラクタアニメーションの数理とシステム-3次元ゲームにおける身体運動生成と人工知能-」
今給黎隆 東京工芸大学芸術学部ゲーム学科 t.imagire@game.t-kougei.ac.jp
1.概要
本書[1]は、ゲーム開発のR&Dの全員が読むべき本です。
キャラクタアニメーションは、学ぶのがとても難しい分野です。構造はややこしいし、データは作り難い。ゲームエンジン・アーキテクチャ[2]やゲームプログラミングC++[3]のような書籍でも説明はされていますが、数多い章の一つの章だけでしか扱われません。しかも、今どきはゲームエンジンがコア部分の面倒を見てくれます。そのため、職業プログラマでも実装したことがある人は少ないと思われます。他には、少数でニッチなCGアニメーション研究者(失礼)しか、まじめに実装したことはないのではないでしょうか。逆に、だからこそ、技術系ゲーム開発者・研究者、もしくは志す人であれば、どこかの時期に時間を取って、きちんした基礎知識として机に向かって学ばなくてはならない知識と言えるでしょう。そのような中、理論的に系統だってまとめられている適当な教科書というのが今までありませんでした。いやぁ、本当にありませんでした。皆さん、どうされていました?自分はDirectXのサンプルやいろいろなサイトで学んだように思いますが、かなり回り道をしながら理解してきた気がします。若い頃にこの本があったら良かったなぁ。本書は、特定の言語やSDKに依存しない話で構成されていますので、書籍としての寿命は、かなり長いのではないでしょうか。爆発的に売れる気はしませんが、非常に長い期間に渡って売れる書籍ではないかと思います(コロナ社さん、売れなくても絶版にしちゃダメですよ)。
ということで、本書はかなり貴重な書籍なのですが、偏ってもいます。本書はキャラクタアニメーションに関して横断的に紹介していますが、実装の話は一切載っていません。従って、今、アニメーションシステムを実装しようかなぁという人には役に立ちません。本書の第一の想定読者は、キャラクタアニメーションの「理論」を身に着けたい人と思われます。直ぐには役に立たなくても、将来、どこかのタイミングで本書の知見が活きて、「読んでいてよかったなぁ」と思うたぐいの本です。そして次の対象読者は、ジュニアではない技術者ではないでしょうか。本文中の説明や数式から、頭の中で完成形が描け、それから具体的なプログラムを組み立てられる人であれば、本書の内容は非常に面白く読めると思います。まとめると、将来、技術系の職種でゲーム開発になりたいと知識を蓄えている学生か、既に業界にいるプログラマが読むべき本です。特に、アニメーションの体系を学んだゲームプログラマは少ないでしょうから、教養として全員が読むと良いでしょう。
2.先行研究?
本書の内容について、著者ら自らが説明している動画[4]がYouTubeに上げられています。また、CGWORLD.jpでの著者らへのインタビュー[5]がWeb上で読めるので、ぜひ見ていただくと良いと思います。
3.著者らについて
本書の著者らには非常に分かりやすい共通点があります。全員がスクウェア・エニックスの現役か元のR&D技術者です。三宅陽一郎さんは、本学会理事なので研究会でお会いしているのではないでしょうか。ちょうど、学会誌の本号で論文も掲載されています。ゲームAIの大家で今はいろいろなメディアに引っ張りだこです。向井智彦先生は、先ほどCGアニメーション研究者はニッチと言いましたが、そのアニメーション研究者の中でも世界的に活躍されていて、SIGGRAPH等の国際会議でリアルタイムアニメーションの研究を何度も発表されています。また業界的にもプラチナゲームス社と共同研究されていて、積極的に産学連携されています。川地克明さんは、昔、omo氏(森田創さん)が管理されていたゲーム関連技術系のアンテナサイトである「ドジ研アンテナ」に日記サイトが登録されていて、私は剛体物理エンジンや技術的トピックスについて、学ばせていただいておりました。もう、20年ぐらい前の話になるんですね…。閑話休題、リアルタイム物理シミュレーションの黎明期のころから新進気鋭の研究者として活躍されていて、確固した技術を持たれているお方です。CEDECでも何度も講演されています。
ということで、著者は、ゲームにおけるアニメーション技術に関して、日本で有数の知識を持たれている方々であり、本書の内容はとても安心です。
4.各章の内容
4.1第1章概論
デジタルゲームにおけるアニメーションシステムが概説されます。アニメーションシステムが行う処理や制約、ゲームシステム全体の中での立ち位置が説明されます。また、アニメーションデータに関して、それらを作成するツールやゲームで実際に使用する際の制約についても触れられています。
4.2第2章形状変形アニメーション
3Dモデルの変形方法が紹介されています。物体を直接変形する頂点アニメーションやブレンドシェイプ、ポーズスペース変形方が扱われています。これらを知ることで、フェイシャルアニメーションの手法の一つを知ることができるでしょう。また、自由形状変形がわかればグミのような柔らかな変形が理解できます。
後半は、後に続く章の基礎が紹介されます。スキンモデル・物理シミュレーション・リグは、キャラクタアニメーションの基礎ですが、それらの低レベルな領域での仕組みが解説されています。
4.3第3章スケルトンアニメーション
スキンモデルの計算方法やスケルトンの標準的な構造が説明されます。特にルートジョイントの説明にページが割かれています。ルートジョイントは、アニメーションデータとプログラム制御の境界に位置する存在です。ルートを詳細に把握することが実践で重要なことが見て取れます。また、フォワードキネマティクスとして、アニメーション処理の一連の流れや補間方法の説明がされていると同時に、処理順番などの注意点も述べられています。
補助ジョイントやアニメーションデータの圧縮といったトピックスが扱われています。これらは、現場では広く使われているものの、技術的な解説は少ないため、貴重な情報といえます。
4.4第4章アニメーションシステム
複数のアニメーションデータをつなげる処理が説明されます。具体的には、ステートマシンなどのアニメーション切り替えの上位のシステムや、切り替え時の補間方法が扱われます。アニメーションを滑らかに繋げて切り替えるのは非常に難しいのですが重要な技術です。普段、ゲームをしていて、キャラクターがかくっと向きを変えると白けますよね(自分だけ?)。本書では、𝐶𝑛連続性についてページを取って説明されています。連続性の概念を知りながらアニメーションを作成するのとしないのでは、ゲーム中の動きが明らかに変わるので、𝐶1連続でない動きをさせていたら是非読んで欲しいです。
また、アニメーションレイヤーやブレンドツリーによる部位コントロールや、モーショングラフやモーションマッチング等の、最適な切り替えキーを自動的に検出する手法も紹介されています。
4.5第5章環境への適応
キャプチャーデータや手付けアニメではない、IKや動力学が扱われるのがこの章です。関節一つのシンプルなシチュエーションから多くの関節を持つシチュエーションへと、複数の方法を扱いながら、数式を踏まえて、それぞれの仕組みが紹介されます。
また、めり込み防止やつま先合わせなどの交差判定の話も本章の内容です。どのように代表形状を構成するかという設計に注力されているので、商用ゲームエンジンの物理エンジンを使う際にも有効な知識と言えます。
4.6第6章連携と疎通
キャラクターに対してアニメーションを指示するシステムと連携をする方法が扱われます。外部システムから情報を受ける方法や、伝える方法の定番の定式化方法が説明されています。具体的には、AIのシステムとやり取りをする方法が説明されています。
4.7第7章キャラクタアニメーションと人工知能
キャラクターに指示を出すAIのシステム構成や意思決定の流れが、事例とともに解説されています。
4.8付録
付録では、数式で使われる行列の具体的な姿が記されています。特に実装に強いプログラマは、付録を確認しながら読み進めると良いではないでしょうか。
5.最後に
教員としてキャラクタアニメーションを教える時に、堅牢な本があるというのは何よりも心強いことです。私は、ゲームプログラム論という授業で、キャラクタアニメーションを説明してきたのですが、授業で使う際の資料は、いろいろな書籍やサイトを参考に独自でまとめてきました。今後は、本書の内容を授業の基本的な骨子として構成して、より詳細な情報や、最新のトピックスを追加する形で準備をすればよいかと考えています。キャラクタアニメーション教育の標準化が進んでいくのではないでしょうか。本書は、キャラクタアニメーションの原理を教えるメディア系の授業で長期にわたって使われていくものと思われます。
参考文献
[1]向井智彦・川地克明・三宅陽一郎(2020)『キャラクタアニメーションの数理とシステム』,コロナ社.
[2]グレゴリー,J.(著),大貫宏美・田中幸(訳),湊和久(訳・監修),今給黎隆(監修)(2020)『ゲームエンジン・アーキテクチャ』第3版,ボーンデジタル.
[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日)
-
芸術科学会誌「DiVA」49号,p.17
掲載日:2021/02/19
芸術科学会誌「DiVA」に書評を掲載いただきました。
上記URLより掲載記事をご覧いただけます。
-
「日本バーチャルリアリティ学会誌」2020年25巻,4号,p.46
掲載日:2021/02/05
「日本バーチャルリアリティ学会誌」に書評を掲載いただきました。
上記URL先より掲載記事をご覧いただけます。
-
読者モニターレビュー【KTA552様(ゲーム業界,業務内容:ゲームプログラミング)】
掲載日:2020/07/27
3Dモデルのアニメーション技術がこれまでどのような発展をしてきたか,今どんな技術が使われているかを体系的に学ぶことが出来る。
昨今,様々なゲームエンジンやライブラリが手に入りやすくなり,アニメーションをさせるだけなら何も意識しなくても再生出来る環境が整えやすくなった。
その中のアニメーション再生の仕組みの理解や,機能の拡張をしたいとなったとき,この本が参考になると思う。
これからアニメーション技術について学びたい人,これまでの技術を振り返りたい人も手元に置いておきたい一冊。
-
読者モニターレビュー【taka様(専門:バイオメカニクス,業務内容:スポーツ用品の研究開発)】
掲載日:2020/07/27
生体力学やロボティクスを学んで来て,さらに隣接分野(?)であるキャラクタアニメーション技術についても学びたいと思っていた私にとっては,まさに待ち望んでいたような良書でした。現在用いられているキャラクタアニメーション制作工程を踏まえて,それらの数理的な背景・各種方法の利点・注意事項などが詳しく説明されています。著者はアニメーション業界最先端で仕事をされている方々なので,大きな説得力があります。
まえがきには「対象とする読者は3次元CGの数理的な基礎知識を持つことを前提とし…」とありますが,平易なイラストをふんだんに用いながら解説されており,文章もわかりやすく書かれているため,全くの初学者にとってもやさしいと感じました(数式の意味を理解できる程度の数学知識は必要ですが)。多くの方におすすめできる一冊だと思います。
-
読者モニターレビュー【山崎洋一 先生(神奈川工科大学准教授,専門:コミュニケーションロボティクス )】
掲載日:2020/07/27
本書は,3Dモデル,アニメーション,ゲーム,ロボット工学(動力学),AIを含む学際的な内容を一冊で学ぶことができる良書です。本文中では数式は最低限に留められていて初学者でも読み進めやすくなっています。その分,巻末の付録に基本的な導出の補足があり,また参考文献も豊富なことから,本書をガイドに自分のレベルに応じて知識を深めていくことが可能です。
3DCGにおけるキャラクターのアニメーション生成技術の教科書ということですが,ゲーム分野だけでなくロボットキャラクターを扱う分野でも参考になる部分が多いと感じました。
特に「4.アニメーションシステム」,「6.連携と疎通」というような内容はロボットに通じる部分が多くあります。たとえば,「4.2 アニメーションの滑らかさ」では,キャラクターの動きの滑らかさについて定量指標と一定の指針を示す一方で,具体的な制作者のノウハウについても言及しています。
このような内容が詳述されている書籍は他にないことから,キャラクターロボットのコンテンツ設計技術を学ぶにためにも必読の書といえます。