お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2021/02/08 12:00

企画記事

ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

下記の記事は,游研社(→リンク)に掲載された記事を,許可を得て翻訳したものです。可能な限りオリジナルのまま翻訳することに注力していますが,一部,画面写真などを変更したり,文化的な背景などで理解されづらいものについては日本向けに表現を変えたりしている箇所があります。→元記事

いいゲームを作ることは簡単ではない


 ゲームキャラの動きは,どうやってDoveチョコレートのようにシルキーなスムースさを実現してきたのだろうか。

※「絹のような滑らかな舌触り」を謳うDoveには,“シルキースムース”というそのものズバリの人気商品がある

■キーフレームアニメーション

 ゲームの良し悪しを判断するとき,すぐに分かるグラフィックスとゲームシステムは当然のこととして,もう一つ,パッと見では分からない重要な要素がある。それは,キャラアニメーションのクオリティだ。

 グラフィックスはなかなかのものなのに,いざ遊び始めてみると気付かなかった不足部分が露呈してしまう。それを感じさせるのは,キャラアニメーションのクオリティが足りていないからである場合が多い。
 キャラクターの動きがスムースかどうか,どれぐらい自然になっているかは,ゲーム表現を大きく変える。グラフィックスそのものより,アニメーションの方が重要な場合だってある。

画像集#003のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

 2Dでも3Dでも,アニメーション作りの基本中の基本となるのは,手描きの「キーフレームアニメーション」だ。

※一連の動きを構成するポーズのなかから特徴的な動きを複数選別し,それをキーフレームとして設定。これらを時間軸に沿って並べ,その間のフレームを補間することで動きを再現する,一般的なアニメーション手法

 アニメーターはまず,対象キャラクターにいくつかのキーフレームを設定しておき,プログラムを使って欠けているフレームを補完する。キーフレームを連続再生していくことで,簡単なアニメーションが完成する。

画像集#004のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

 こうしたアニメーションの制作方法は,コンピュータゲームによるアニメーションが生まれた時点から存在していて,今でも多数のゲームに応用されている。その理由は,比較的簡単で安価,操作しやすいからだ。

画像集#005のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか
 この方法で作られたアニメーションは,事前に用意されている動画のようなもので,アウトプットされたらもう変えられない。ゲームの中では,予め作ったモーションを呼び出して流すだけだ。
 ゆえに,アタック,ジャンプ,そして歩くという動きは多くのゲームでパターンになっており,キャラクターがいつも同じ動きをしていることになる。プレイ時間が長ければ,機械的な硬さを感じてしまうだろう。

画像集#006のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか
 もう一つ,アルゴリズムで自動生成され,より柔軟な汎用性をもつアニメーション手法がある。それが「プロシージャルアニメーション」(Procedural animation)だ。
 プロシージャルアニメーションは,動きを数式やスクリプトと組み合わせて,定められた規則でキャラクター各部位の動きをコントロールする。コンピュータにより計算されたアニメーションなので,プログラムの変数を変えればアニメーションも変わる。この手法で,アニメーションを環境に適応させ,リアルタイムで調整できるようになる。


 プログラムで算出されたデータは,シミュレーションをかけることによってキーフレームアニメーションよりもリアルな物理効果を表現することができる。とくに周囲の環境と交わる場合,環境の状況によって違うリアクションをさせることができる。ラグドールも,プログラムを使ったアニメーションシステムだ。※1

※1 4Gamer編注:ラグドールはシステムではなく,物理法則の表現方法だ。アニメーション制作にラグドールを採用し,関節の動きなどの物理シミュレーションをしてよりリアルにしているわけだ。→「ラグドール物理」Wikipedia
画像集#007のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

 事前に作られたアニメーションの場合,キャラクターが複雑な地形にいると,空中に浮いたりポリゴン欠けが起こったりする。アニメーションが環境とは別に固定されているので,キャラクターが立つときの高さも固定されていることになる。つまり,地形が変わればぎこちなく見える可能性がある。

画像集#008のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか 画像集#032のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

 しかし,プログラムで計算されたアニメーションは足と地面の距離や角度を正確に捉え,足の高さや角度をリアルタイムに調整でき,きちんと地面を踏んでいるように表現できる。ただのモーションではなく,正しく周囲の環境と相互に働きかけているのだ。

画像集#017のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか
 プログラムを活用することで,手作りしづらいアニメーションを作ることもできる。多足類の動きなどは複雑で,手でこれを描くには生物の専門的知識が求められるが,プログラムにその生物の足の動きのルールを教えておけば,自然で豊かな動きが自動で作れるようになる。


■モーションキャプチャ

 一般的にゲームアニメーションに求められているものはリアリティだ。手描きのアニメーションでも,プログラム制作のアニメーションでも,できるだけ現実世界にあるような動きを再現するようにしているはずだ。

 言うなれば“模倣”だが,それは一部の範囲の話でしかない。人の目は,リアリティに対して非常に敏感で,とくに人の動きは,とても細かいところであっても,違和感があると,普通に一目でバレてしまう。手描きのアニメーションでリアルな動きや重み,スピード感を出しているのは,とても深い芸術なのだ。

 本物のような自然な動きを出すために,多くのゲームに使われているのが「モーションキャプチャ」だ。

画像集#011のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

 モーションキャプチャは,現実の人間や物体の動きをデジタル的に記録して,それをキャラクターの骨格に付けることによって,アニメーションをよりリアルに近づけることができる手法だ。

 モーションキャプチャをゲームに活用する歴史は,それなりに長い。1994年の「バーチャファイター2」は一番最初にモーションキャプチャ技術を使ったゲームの一つ※2だ。その時代のモーションキャプチャは最先端技術で,その設備は鈴木 裕がアメリカ陸軍から貸してもらったという話がある。※3

※2 (4Gamer編注):「の一つ」ではなくて実際に初めてのタイトルと考えられる。弊誌の記事に「当時,ゲームの世界にモーションという概念は存在していませんでしたし,当然モーションキャプチャシステムもありませんから,どの程度の質で,どれくらいの量のモーションを作ればいいのかも分かりませんでした。そもそも,モーションでゲームが作れるとは誰も思っていなかったでしょう」とある。
画像集#012のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

関連記事

ビデオゲームの語り部たち 第2部:「バーチャファイター」のプロトタイプに込められた石井精一氏の人生

ビデオゲームの語り部たち 第2部:「バーチャファイター」のプロトタイプに込められた石井精一氏の人生

 メディアコンテンツ研究家の黒川文雄氏が,ビデオゲームの歴史で記録・記憶しておくべき人々や場所などを振り返る連載「ビデオゲームの語り部たち」。第2部は,「バーチャファイター」のベースとなったプロトタイプについて,同作のディレクションを担当した石井精一氏に聞きました。

[2017/12/16 00:00]

※3
(4Gamer編注):これは誤った情報らしい。軍から借りたのはテクスチャマッピングのチップであって,モーションは医療用で使われていたもの。しかも「借りた」のではなく「買った」と思われる本人の発言が公式サイトのインタビューの中にある。


「鈴木:モーションキャプチャーは当時、医療関係ぐらいでしか使われていなかった技術で、それを初めてゲームに応用しました。テクスチャマッピングのチップは当時の三大軍事シミュレーション会社しか持っていなかった技術。でも、ダメ元で打診してみようと思って(笑)。アメリカの軍事産業の最高機密にあたる最新のテクノロジーを、普通の日本のゲーム会社が使わせてくれって言ったら、やりましょうとなったんですよね。ソ連が崩壊して、アメリカの軍事シミュレータの産業は国からではなく民間を相手にしなければならなくなったところだったから、タイミング良かったですね。でも、社内からはチップ1つに出せる予算は5000円、向こうは数十億円のジェット戦闘機のシミュレータに積んでいるチップだから値段はつけにくいけど……大体2億円くらいって言っていて、量産効果で安くするって言っても、この差を埋めるのが大変でした(苦笑)。でも、最終的にゲームがヒットして、量産効果が生まれ実用になりました。」

外部サイト:バーチャファイター20周年記念特設ウェブサイト


 その前に,1989年の「プリンス・オブ・ペルシャ」では原始的なモーションキャプチャを使っていた。役者が移動や戦闘の動きをして,制作チームが録画したものを元に,見よう見まねでキャラクターのキーフレームを描いたのだ。最終的に出来上がったアニメーション効果は,十分滑らかでリアルなものだった。

画像集#013のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

 いまとなっては,モーションキャプチャはAAAゲームの基本スペックのようになっていて,多くのゲームスタジオは自前のキャプチャスタジオすら持っている。ゲーム内の動きもモーションキャプチャで制作されていることで,ゲームにも映画のような演出が見られるようになった。

 カットシーンなどには,普段使われない動きが大量に含まれるので,“中の人”も映画役者のように一通り演じなければならない。一方,キャラクターがよく使う動きは,必要なアニメーションが細かくリストアップされ,役者はそれらを一つずつ演じることを求められる。

画像集#014のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

 しかしながら,モーションキャプチャで得られるのは簡単なモーションでしかなく,モーション取得時の不完全さやズレが発生するので,より正確で自然な動きにするには手動での調整が欠かせない。アニメーション制作の基本は,まだまだ人の手作業にかかっているのだ。

画像集#015のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

画像集#016のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか
 モーションキャプチャはもちろん,リアルなアニメーションを制作するには一番いい方法だ。しかしデメリットもあって,コストが高いのだ。まず設備が高価で,そのための役者とスタジオが必要となる。大手ゲームスタジオでなければ,とても負担できないテクノロジーでもある。
 幸い近年では,キャプチャ設備がどんどんシンプルに安くなっている。中小メーカーでも簡単なモーションキャプチャスキルを使えて,ゲームをより良くすることができる。また,VR設備やKinectを使って,モーションキャプチャ設備を自作する人も出てきている。

 将来はきっと,モーションキャプチャを採用したインディゲームだっていまより多く登場するだろう。

■ステートマシン

 ゲームでは,キャラクターがプレイヤーの操作に応じてリアクションをとることになる。ゆえに,どのアニメーション制作の手法であっても,モーションを作るのは最初の一歩に過ぎない。キャラクターに正確なタイミングで正しい動きを取らせるために,アニメーションとゲームを結びつけなくてはならないのだ。

 ここで一般的に使われるのはステートマシン(状態遷移図)で,キャラクターの動きを「歩行」「走行」「ジャンプ」などの状態に分けていく。ステートマシンは,キャラクターがその瞬間どの状態にいるのかを判断して状態に合ったモーションを付ける。

画像集#018のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

 キャラクターがいくつのステート(状態)を持っているかで,動作システムの複雑度が決まる。ステートが多ければ多いほど,キャラクターの動きが細部にわたって充実する。もちろん,制作もより複雑になるが。

「ロックマン」「メタルスラッグ」におけるジャンプのフレームデザイン
画像集#027のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか
画像集#028のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか
 初期のゲームのステートは簡単で,例えば「ロックマン」では,ジャンプが一つの状態となる。アニメーションも1,2フレームしかない。

 より凝ったシステムになると,ジャンプという動きを「立ったままのジャンプ」と「前進中ジャンプ」の2つのステートに分けて作る。

 さらにもう一歩進めるなら,高いところから飛び降りるというステートを加えることもできる。キャラクターが飛び降りたときに,よろける動きを加えるとか。3Dゲームなら,左右前後のジャンプを区別することもでき,横跳び,バク転など,基礎的な動きでも深掘りできる。作業量は増え続けることになるが。

 3Dゲームに関しては,ステートにアニメーションをつけると同時に,アニメーションの間の遷移とミキシングが必要となる。アニメーション遷移は,ステートの切り替えによるアニメーションの切り替えを滑らかにつなぎ,急激に変化して違和感をもたらすようなアニメーションになることを避けられる。

 そしてミキシングは,複数のアニメーションを一個にまとめることを可能にする。例えば「攻撃」と「走る」の2つの動きはそれぞれが単独のアニメーションだが,「走りながらの攻撃」はそれら2つのアニメーションをミックスする必要がある。さもないと,とてもおかしなアニメーションになるだろうから。


ステートマシン:キャラクターやオブジェクトのアニメーション制御や順序づけを可能にする,状態のセット,遷移のセットおよび現在の状態の変数をひとまとめにしてステートマシンを構成している
アニメーション遷移:複数ステートのアニメーションの間での切り替えを可能にする
アニメーションミキシング:部分的に適用する複数のアニメーションを組み合わせること
参考:Unity ユーザーマニュアル


画像集#023のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか
 多くのゲームでは,「攻撃」「弾倉交換」「ポーションを飲む」といったような多くの行動に対して,移動しながらのアニメーションを作らなければならない。その場合,アニメーションミキシングの手動作業は欠かせない。ミックスされた新しいアニメーションをステートにかみ合わせることで,自然に連続する動きができるようになる。
 ゆえに,ステートマシンでキレイなアニメーションを作るには,それ相応の技術が必要とされるだけでなく,かなり高い人的コストが発生するのだ。

■モーションマッチング

 ゲームアニメーションのもう一つの難所は,ゲームの自由度によるものだ。

 キャラクターを操作するのはプレイヤーであって,プレイヤーがキャラクターにどんな動きをさせるのか,制作側では予測できない。プレイヤーは突然進行方向を変えたり,急に迅速に動きまわったりする。そんな場合は,キャラクターの動きに瞬間移動や位置ズレなどが起きかねない。

 ステートマシンもすべての状態を予測できるわけではなく,キャラクターの動きがあらかじめ定義されたステートに当てはまらない場合,アニメーションは一つのステートから次のステートへと,すぐに途中の遷移なしに変わることになる。その場合,モーションキャプチャを使っていても,リアルな表現にできるかどうかの確証はないのだ。

 この問題を解決するために,「モーションマッチング」という技術が発明された。

(4Gamer編注):GDC 2016で,Ubisoftにより紹介された。フル動画はこちら
画像集#024のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか
 まずはモーションキャプチャで,大量の動きをデータ化する。走る,ジャンプする,つまづく……など,各種の移動方式を含めできるだけ多くのアニメーション素材を集める。次に集めた素材をカットし,実際にゲームに使えるアニメーションクリップへと磨き上げる。最終的に,1つのアニメーションデータベースにまとめる。

 プログラムは,キャラクターの進行方向や位置,速度そして周りの環境などを変数として使って,キャラクターの動きを予測する。数フレームごとに一度判断し,ルートに明らかな変化がある場合,プログラムは次の動きの予測結果に基づき,データベースから適応するアニメーションを取り込むことで,スムースなアニメーション切り替えを実現させる。

画像集#029のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか
 モーションマッチングは,キャラクターのそれぞれの動きの間のつなぎ部分を,モーションキャプチャのレベルにまで高めた。事前のステート定義が不要なことで,キャラクターの動きの可能性も広がり,周囲の環境によって違うリアクションを表現できるようになった。高いランダム性と少ない重複で,アニメーションがよりリアルにできる。

 近年ではモーションマッチングを使ったゲームも少なくない。「フォーオナー」「アサシン クリード」「The Last of Us Part II」などは,このテクノロジーのおかげでリアルかつ複雑,変化に豊んだアニメーションを実現した。

画像集#025のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

 モーションマッチングは,現在最先端のモーションシステムだがデメリットもある。

 いまのゲームは操作が多く,動きも複雑になってきている。移動一つ取っても,待機,歩き,走り,ジャンプ,しゃがみ,ダッシュなどが存在する。環境と絡んだ動きであれば,ドアを開ける,座る,拾う,飛び越える,騎乗……など。組み合わせで作った動きも含めると,数え切れないほど多い。

 すべてのアニメーションの元の素材はモーションキャプチャからで,撮らないといけない量も驚くほどある。ましてやゲームプレイの最中も,メモリにあるアニメーションを随時取り込むことになるので,ハードウェアの機能の消耗度が高い。

画像集#030のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

■人工知能

 どのアニメーション制作方法にも,それぞれのメリット・デメリットがある。多くの制作チームは,それらのテクノロジーを複合で使っている。
 将来のモーションシステムであれば,長所と短所を補い合えるかもしれない。リアリティを増やすと同時に,制作難度とコストを減らすためのカギを握るのは,恐らく人工知能だ。

 2016年,Daniel Holden氏が率いるチームが,PFNN(Phase-Functioned Neural Networks)というニューラルネットテクノロジーでキャラクターアニメーションの自動化コントロールを実現した。キャラクターにリアルで多様な動きをさせながらも,環境にしっかりフィットする行動を可能としたのだ。

関連記事

[CEDEC 2017]ニューラルネットがキャラの動きを自然に,処理負荷を低くする? キャラクターアニメーション品質向上に向けた新提案

[CEDEC 2017]ニューラルネットがキャラの動きを自然に,処理負荷を低くする? キャラクターアニメーション品質向上に向けた新提案

 ゲーム内においてキャラクターの動きをいかに自然なものとするかは,とくにゲームが3D化してからの大きなテーマであり続けているが,そのテーマに向けた最新の研究結果がCEDEC 2017で紹介された。キーワードはニューラルネットワーク(深層学習)だ。

[2017/08/31 00:00]

 その後,Daniel Holden氏はUbisoftに加わり,機械学習とモーションマッチングを融合させ,ニューラルネットを訓練したのちに,アニメーション選出と取り込みの作業をAIに任せた。このテクノロジーは,アニメーションの品質向上を実現したばかりでなく,動画ファイルをメモリに置かなくても済むようになったことで,モーションマッチングに利用するメモリも590MBから8.5MBまで下がった。


外部サイト:Learned Motion Matching(開発者ブログ,英語)


 エディンバラ大学の研究者もElectronic Artsの支援で※4,深層学習により複雑なアニメーションを処理するシステムを作った。AIに,キャラクターがバスケットボールをする動きをコントロールさせ,相当いい結果を出してきた。
 キャラクターはプレイヤーの操作命令を受けたうえで環境に適応し,迅速かつ的確な反応を見せ,しかも正確かつ合理的な動きをずっと保っていた。ボールとのマッチングもリアルで,物理法則に反することはなかった。

※4
(4Gamer編注):この研究者(Sebastian Starke)は,エディンバラ大学とEAの両方に在籍していたので,「支援」というのは正確ではないかもしれない。

 
 同プロジェクトは,AIに環境分布と逆運動学アルゴリズムを学習させて,キャラクターと物体の間に隙のないリアルな相互作用を作ることで,実際の状況により,キャラクターアニメーションを自動調整することを可能にした。
 例えば,椅子に座ること一つ取っても,椅子の大きさや高さ,形をどう変えても,キャラクターは正確に自然に座る。椅子が低すぎてキャラクターが空中に空気イスのように座っているような状況は起きない。

※ロボットを目標の座標に到達させるための動きを決定する運動学の方程式の一つで,与えられた姿勢を元に,その姿勢に対する関節の変移のさせ方を計算する。ロボットの関節の位置や角度から末端部の位置と動作を求める“順運動学”と反対の概念。(参考:MathWorks


外部サイト:AI4Animationプロジェクトページ(英語)


 前述のように,プログラムによるアニメーションマッチングでもこのような効果を実現できるが,同レベルの効果を達成するためには,制作チームは椅子ごとにそれなりの数のアニメーションを作らなければならない。一つのゲームの中には,椅子のようにインタラクトできるアイテムは数千数万とあるだろう。その分の作業量は果てしないほど多くなるに決まっている。それを避けたければ,ゲーム内の椅子の高さや大きさを統一すればよいのだが,それこそが“アンリアル”であることは言うまでもないだろう。
 そこにAIテクノロジーを利用することによって,作業量は減るし,ゲームの多様性とリアリティも増すことができる。

画像集#026のサムネイル/ゲームキャラの動きは,どうやってDoveチョコレートのようなシルキーななめらかさを実現したのか

 最初からすべての椅子に全部座ってみる人はまずいないだろうけど……。モーションシステムのグレードアップはなかなか話題にならないが,このような少しずつの進歩が,以前と比べて今のアニメーションに雲泥の差が生まれた要因なのだ。

 次世代ゲームへの期待の多くは,グラフィックスやライティングの効果に寄せられているが,すでに相当のレベルまで発展したグラフィックステクノロジーより,モーションシステムの革新のほうが,目新しい驚きを見せてくれるかもしれない。(著者:石叶
  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:11月23日〜11月24日