モリカトロン株式会社運営「エンターテインメント×AI」の最新情報をお届けするサイトです。

TAG LIST
ディープラーニング機械学習CGCGへの扉安藤幸央GANニューラルネットワーク月刊エンタメAIニュース強化学習三宅陽一郎モリカトロンAIラボインタビュー敵対的生成ネットワーク音楽OpenAIQAスクウェア・エニックスシナリオNVIDIAデバッグCEDEC2019河合律子プロシージャルDeepMind人工知能学会FacebookキャラクターAIルールベースビヘイビア・ツリーGoogleCEDEC2020ゲームAI映画SIGGRAPH遺伝的アルゴリズム不完全情報ゲームメタAIナビゲーションAI畳み込みニューラルネットワーク深層学習マイクロソフトAIと倫理グーグルGDC 2021GDC 2019マルチエージェントVR森川幸人ボードゲーム自然言語処理ロボットStyleGAN自動生成GPT-3CNNVFXモリカトロンゲームプレイAIファッションHTN階層型タスクネットワークJSAI2020Microsoftイベントレポート水野勇太アニメーションガイスターNPCCLIPアートtoio吉本幸記JSAI2021スポーツディープフェイク汎用人工知能TensorFlowGDC SummerテストプレイeSportsBLUE PROTOCOL小説DALL-EStyleGAN2AlphaZeroカメラ環世界中島秀之懐ゲーから辿るゲームAI技術史研究DARPAドローンAI美空ひばり手塚治虫メタデータ通しプレイOpenAI Five本間翔太CM倫理ピクサーAdobe作曲中嶋謙互Amadeus CodeMicrosoft Azureキャリアeスポーツ音声認識PyTorchDQN眞鍋和子バンダイナムコスタジオシーマンUnity齊藤陽介マインクラフトお知らせAIアートサルでもわかる人工知能VAEUbisoftUbisoft La ForgeワークショップGenvid Technologies知識表現ウォッチドッグス レギオンIGDAどうぶつしょうぎジェイ・コウガミ音楽ストリーミングマシンラーニングクラウドコンピューティショナル・フォトグラフィーGPT-2完全情報ゲーム坂本洋典釜屋憲彦ウェイポイントパス検索藤澤仁生物学画像認識NFT長谷洋平鴫原盛之masumi toyota宮路洋一SIGGRAPH ASIAソニーCycleGANフェイクニュースシムピープルGPUALife人工生命オルタナティヴ・マシンサウンドスケープASBSマンガぱいどんTEZUKA2020ナビゲーションメッシュ松井俊浩スパーシャルAIElectronic ArtsマーケティングApex LegendsNinjaゲームTENTUPLAYMARVEL Future Fightタイムラプスバスキアブロックチェーン階層型強化学習WANN竹内将馬淵浩希岡島学映像セリア・ホデントUX認知科学ゲームデザインLUMINOUS ENGINELuminous Productionsパターン・ランゲージちょまどビッグデータアストロノーカ模倣学習ナラティブFPSマルコフ決定過程スタンフォード大学パラメータ設計テニスバランス調整レコメンドシステム対話型エージェント協調フィルタリング人狼知能Amazon軍事AlphaDogfight TrialsエージェントシミュレーションStarCraft IIFuture of Life InstituteIntelロボティクスLAIKARotomationドラゴンクエストライバルズ不確定ゲームDota 2モンテカルロ木探索ソーシャルゲームEmbeddingGTC2020NVIDIA MAXINE淡路滋ビデオ会議グリムノーツゴティエ・ボエダGautier Boeda階層的クラスタリングaiboJuliusSIETPRGバーチャル・ヒューマン・エージェントtoio SDK for Unityクーガー田中章愛石井敦銭起揚茂谷保伯MinecraftGDMC成沢理恵MITメディアラボ著作権マジック・リープMagic Leap OneMagendaノンファンジブルトークンDDSPサッカー里井大輝KaggleバスケットボールAssassin’s Creed OriginsSea of ThievesGEMS COMPANYmonoAI technologyアバター初音ミクOculus転移学習テストBaldur's Gate 3Candy Crush SagaSIGGRAPH ASIA 2020デバッギングBigGANMaterialGANリップシンキングRNNReBeL自動運転車VolvoRival Prakユービーアイソフト北尾まどかHALO将棋メタルギアソリッドVFSMナップサック問題汎用言語モデルSpotifyMITReplica StudioamuseChitrakar巡回セールスマン問題ジョルダン曲線5GMuZeroクラウドゲーミングRival Peak和田洋一リアリティ番組Stadiaジョンソン裕子MILEs対話エンジンインタラクティブ・ストリーミング斎藤由多加インタラクティブ・メディアリトル・コンピュータ・ピープルシーマン人工知能研究所Ludoゴブレット・ゴブラーズTransformerSIGGRAPH 2019ArtEmis絵画ARGROVERFAIRAIりんなチート検出オンラインカジノアップルRealFlowiPhoneシミュレーションDeep FluidsMeInGameAIGraphブレイン・コンピュータ・インタフェースBCILearning from Video予期知能ユクスキュルカント哲学ドラゴンクエストエージェントアーキテクチャPAIROCTOPATH TRAVELER西木康智OCTOPATH TRAVELER 大陸の覇者アルスエレクトロニカ2019StyleCLIPDeNAStyleRig逆転オセロニア奥村エルネスト純いただきストリート齋藤精一大森田不可止高橋智隆ロボユニザナック泉幸典仁井谷正充ロボコレ2019ぎゅわんぶらあ自己中心派Azure Machine Learning意思決定モデル脱出ゲームHybrid Reward ArchitectureウロチョロスSuper Phoenix理化学研究所Project Malmo教育TextWorldProject PaidiaProject LookoutWatch ForBingLEFT ALIVE長谷川誠ジミ・ヘンドリックスBaby Xカート・コバーンロバート・ダウニー・Jr.エイミー・ワインハウスMagentaYouTubeダフト・パンクSFGlenn MarshallThe Age of A.I.Story2HallucinationレコメンデーションJukeboxGTC2021テンセントSIFTDCGANMOBADANNCE人事ハーバード大学研修デューク大学mynet.aiローグライクゲームNetHack人工音声NeurIPS 2021はこだて未来大学プレイ動画ヒップホップサイレント映画NBA環境音現代アートエージェント粒子群最適化法進化差分法群知能下川大樹ウィル・ライト高津芳希シムシティ大石真史BEiTレベルデザインDETRSporeAIボイスアクターデノイズ南カリフォルニア大学画像処理NVIDIA CanvasSentropyCPUDiscordZorkCALMプログラミングソースコード生成GMAIシチズンデベロッパーTRPGGitHubウィザードリィMCN-AI連携モデルAI DungeonMCS-AI動的連携モデル西川善司並木幸介サムライスピリッツ森寅嘉ゼビウスSIGGRAPH 2021ストリートファイター半導体Topaz Video Enhance AI栗原聡DLSS山野辺一記NetEase大里飛鳥DynamixyzモーションキャプチャーU-Net13フェイズ構造アドベンチャーゲームADVXLandAGI手塚眞DEATH STRANDING不気味の谷Eric JohnsonOculus Questコジマプロダクション生体情報デシマエンジンインディーゲーム写真高橋ミレイ照明Maxim PeterJoshua Romoffハイパースケープ山崎陽斗深層強化学習立木創太CEDEC2021バンダイナムコ研究所ミライ小町GameGANパックマンソサエティ5.0SIGGRAPH 2020DIB-R3D広告

【GDC 2021】AIに身体を授けるためのアニメーション自動生成技術

2021.8.20ゲーム

【GDC 2021】AIに身体を授けるためのアニメーション自動生成技術

ビデオゲームにおけるキャラクターの動きは、アニメーションアセットという素材を組み合わせて作成されます。しかし、キャラクターモデルによって関節構造やコリジョン、環境は異なるため、同じアセットをすべてのキャラクターに適用できるわけではありません。

特に、多様な形状のパーツをカスタマイズできる3Dロボットゲームでは、必然的にアニメーションアセットの種類も増えてしまいます。このため従来のカスタマイズロボットゲームでは、アニメーションシステムとカスタマイズ機能を両立させるために、作中に登場するパーツデザインの種類を限定せざるを得ませんでした。

プロシージャルアニメーションという自動生成技術もありますが、従来の方法はアニメーションを変形させることで地形に沿った姿勢を形成するような仕組みであり、あらかじめアニメーションアセットが用意されていることが前提条件です。そのため、異なる関節構造を持つ複数のロボットにあわせてアニメーションを自動生成することはできませんでした。

このように、アニメーションの多様性とカスタマイズの自由度を両立させることは、ゲーム開発における大きな課題のひとつです。7月19日から7月24日までオンラインで開催されたGame Developers Conference(GDC 2021)にて、スクウェア・エニックスのAIエンジニア、並木幸介氏と森寅嘉氏による「メカアニメーションの完全自動生成」というセッションを取材しました。

このセッションでは、同社がGDC 2021で発表した「階層型タスクネットワークを使った動的環境におけるプランニングへの新たなアプローチ」と同じく、巨大ロボットが自律動作して戦闘する技術デモの中で関節構造からアニメーションを生成できる新たなプロシージャル手法MULS(Multi Unit Link System)が提案されました。

この技術検証には、胴体、右腕、左腕、脚部で構成されたパーツ交換可能なロボットモデルを使用。四肢の関節は1軸のみ回転できるものとし、それぞれに最大角度と最小角度が設けられています。つまり、プラモデルに使用されるような球体関節ではないということです。さらに関節構造と回転軸、それらの動作が常に目視できるように専用のGUIが用意されています。これにより関節の角度が制限に引っかかっているかどうかや、現在角度がRestingAngle(初期状態)より大きいか小さいかがひと目で確認できます。

モデルの関節構造からアニメーションを自動生成

3Dゲームのキャラクターに実装される基本的なアニメーションには、Walk(歩く)、Aim(狙いを定める)、Search(対象を探す)、Look At(対象を見る)、Look Around(あたりを見渡す)、Idle(じっとする)などが挙げられます。今回のセッションでは、その中からWalkとAimにフォーカスしています。

MULSにおけるWalkアニメーションの自動生成は、FootStepという足跡の座標を先に設置して、それらを順に踏ませることで実現しています。ここでのFootStepは、キャラクターの進行軌道上に沿って歩幅の半分ごとに記録したポイントから垂線を引き、歩隔の半分の距離に生成されています。この際に歩行コースが曲がっている場合は、外側の足の歩幅がパラメータ定義の歩幅を超えないように調整します。

これらFootStepに基づいて、IK(※1)ターゲットと呼ばれる足の軌跡を計算します。このIKターゲットと着地する足が一致するようにCCDIK(※2)を使って制御することで、歩行のアニメーションは成立します。

※1  IK :Inverse Kinematics、先端の位置から関節の位置や動きを逆算することで全体の構造を制御する仕組み
※2  CCDIK :Cyclic Coodinate Descent Inverse Kinematics、キャラクターの骨となるBoneを繰り返し動かすことで目標座標に近づける仕組み

この時、腰の位置は両足のIKターゲットの中間、腰の高さはパラメータで定義した範囲で上下するように設定されています。また、歩行の際に宙に浮いている足のIKターゲットは、各FootStepを結ぶ楕円軌道を描くように設定されています。ちなみにFootStepは足跡という意味ですが、ゲーム内では足を地形に合わせるために、FootStepはあえて地面から離れた高さに生成されます。つまり、厳密には足ではなく足首の上部、脛の辺りの軌跡ということになります。ロボットの足の形状によっては異なる関節構造が想定されるため、足そのものとは別々に制御する必要があるからです。

足の形状はToe(爪先)、Ankle(足首)、Heel(踵)に分割されており、足首は爪先と踵を連結しています。歩行の際は、これら3部位の動きを左右交互にサイクルさせることで姿勢を維持します。この時、爪先だけが地面に接している状態をExit、踵だけが地面に接している状態をStrike、爪先と踵の両方が地面に接している状態をPlantと呼称しています。つまり、右:Exit、右:Strike、右:Plant、左:Exit、左:Strike、左:Plantの順番で足の部位を動かすことで歩行する仕組みです。それぞれの足が宙に浮いている中間状態については、ポーズブレンディング(複数のポーズをつなげて動きを作り出すアニメーション管理手法のひとつ)で補完しているとのことでした。

Aimアニメーションは、現在のポーズであるStartPoseと、狙いを定めたポーズのGoalPoseをポーズブレンディングすることで実装されています。ただ、アニメーションアセットを使わずに武器をターゲットへ向ける既存のアルゴリズムは存在しないので、CCDIKをベースにしたAimIKというアルゴリズムを独自に開発したということです。簡単に説明すると、各関節について離れた場所にある銃口が目標へ向くような回転を計算することでターゲット座標へ銃口を向ける仕組みです。

しかし、今回の技術検証で使用しているモデルには各関節に最大角度と最小角度が設けられているので、動作開始時の姿勢によっては角度制限に引っかかってしまい、ターゲットを狙えないという問題も起こりえます。そこで手の方向や位置、それぞれの状態における各関節の角度を記録したAimDataをデータベース(AimDataBase)として保存。アニメーション生成前に手がもっともターゲットに近い状態をデータベースから探索して、その姿勢をAimIKの計算開始姿勢と設定することで、角度制限の問題を解消しました。

キャラクターAIの心身問題に対するひとつの答え

このようにモデルの関節構造からアニメーションを生成することで、あらゆるパーツを組み合わせたロボットモデルに適用できるのがMULSの利点です。また、 Bone(関節と組み合わせて骨格であるスケルトンを階層的に構成する部分)、Skinning(モデルとスケルトンを関連付ける作業)、Rigging(SkinningやIK設定など、アニメーションに必要な作業を包括した工程)が不要なため、モデリング作業を簡略化できるというメリットもあるということです。

一方で、課題も多く残っています。まず、Walkアニメーションの生成時にはフレーム(60分の1秒)毎にCCDIKの処理が実行されるので、CPUへの負荷も必然的に高くなってしまいます。FootStepを生成する際に実行されるRayCast(光線の反射からオブジェクト情報を取得する判定手段)も同様です。また、Aimアニメーションに使われるAimDataBaseは、腕部の関節が多くなるほど容量が膨れ上がるので、メモリコストの増大につながることが想定されます。

このほか、任意の姿勢を開発者側で選択できないという、アニメーション自動生成特有の悩みもあります。このため関節の回転角度範囲が広いモデルでは、想定していない姿勢をとってしまう可能性も考えられるといいます。同様にAimアニメーションの生成時に武器の傾きを制御できないので、不自然な持ち方で射撃するケースも出てくるかもしれません。

こうした課題を踏まえて、今後はあらかじめ姿勢をスコアリングすることで、最適なアニメーションを選択できる評価システムの実装を検討しているということです。また、四足歩行型や腕部固定型など、人型以外のロボットモデルにも対応できるようシステムを拡張していきたいとのことでした。

スクウェア・エニックスでAI開発チームを率いる三宅陽一郎氏によると、同社の別のセッション「階層型タスクネットワークを使った動的環境におけるプランニングへの新たなアプローチ」で発表した階層型タスクネットワークに関する技術と並行して、今回のアニメーション自動生成技術を披露した背景には、キャラクターAIの知能と身体をどう結びつけるかという長年の課題があったといいます。

前者がキャラクターAIの知能の部分だとすれば、後者がつかさどるのは身体そのもの。プランニング技術によって無限の思考を手に入れたキャラクターAIを、プロシージャル技術が有限のアセットに束縛された身体的な制限から解放してくれるというわけです。同社の2つのセッションには、そうした哲学における心身問題に対する、ひとつの解としての想いが込められています。

Writer:Ritsuko Kawai / 河合律子

RELATED ARTICLE関連記事

ゲーム制作現場ですぐに使える!モリカトロンのAIソリューション5種

2021.6.28ゲーム

ゲーム制作現場ですぐに使える!モリカトロンのAIソリューション5種

【CEDEC2021】ディープラーニングとルールベースによるヒロインの「冴える」セリフ生成

2021.9.22ゲーム

【CEDEC2021】ディープラーニングとルールベースによるヒロインの「冴える」...

実施はAI、評価は人間。AIと人間の分業が進む海外ゲームQA事情

2020.11.27ゲーム

実施はAI、評価は人間。AIと人間の分業が進む海外ゲームQA事情

RANKING注目の記事はこちら