MONSTER UNIVERSEモーション開発事例
こんにちは、モーションデザイナーの上田です。
今回はMONSTER UNIVERSEのモーション開発事例についてご紹介します。
MONSTER UNIVERSEとは
MONSTER UNIVERSEはコロプラ初のSteam版を含めたマルチプラットフォー
ム対応タイトルです。配信開始時点でストーリーのエンディングまでプレイ
できる落としきりの長編3DアクションRPGの完全新作オリジナルタイトルに
なります。
本プロジェクトは配信形態やゲームの形式のみならず、グラフィックス面での開発、技術検証を挑戦的に進めてまいりました。
https://colopl.co.jp/news/pressrelease/2023012402.ph
モーションデータの効率化
ゲームを遊んで頂いた方だとモンスターに騎乗したアクションなのでモーション作成に時間がかかるのが容易にわかると思います。モーションデザイナーの人員を増やせばその時間的コストを短縮できますが、増えないことを想定しこの部分にどう対応するか常に考えてました。ゲーム性の確保と作業コストのバランスをとることが大事でした。
騎乗モーションの仕組みですがモンスターモーションは共通で1つです。
キャラクターはサイズ別にアニメーションが存在しています。
モンスターユニバースのキャラクターはSサイズ、Mサイズ、Lサイズの3タイプあります。ジョイントは男女共通です。等倍でスケールアップしているわけではなく手足などの比率が異なります。これはキャラクターのデザインを生かすためにあえて等倍にはしていません。
モンスターの種類は剣タイプ、斧タイプ、槍タイプ、杖タイプの4タイプあります。武器はモンスター固定になってます。ジョイントは各タイプごとに共通です。モンスターもキャラクターと同じくユニークなデザインを優先している為、キャラクターとのめり込みを避けるためのデザインのレギュレーションなどは特に設けていません。
プレイヤーキャラクターの3サイズとモンスターの4タイプの組み合わせを考えると膨大なモーションが必要になります。そもそも騎乗しているということだけで作成に約1.5キャラ分の時間がかかります。スキル攻撃などの動きの密度が高いモーションだとさらに時間がかかります。これ以外にも敵のモンスターは沢山登場するとのことでしたので、開発初期からマンパワーに頼らずに進めていける仕組みを考えるのが重要でした。
ということでまず初めに考えたのがunityのhumanoid機能です。キャラクターのモーションをサイズに関係なく使い回せること、IKも使えてリターゲット以外のクオリティアップも図れるのでこれしかないと考えたのですがエンジニアから出来る限り処理負荷はおさえたいのでアセット側で体格差を吸収できないかと相談されました。できることは体形ごとのモーションを用意することしかないですが、とはいえすべてを用意するのは厳しいので悩みました。
そこでアニメーション出力時にMAYAのHIKを介してリターゲットを行い全サイズ出力を行うことにしました。マウント時のモーションは基本的にMサイズキャラクターを使用して作成していますが、エクスポーターはどのサイズで作成されたモーションでも出力時にそれ以外のサイズも含めたデータが出力されるようになっています。
MAYAでのリターゲットによるメリットとデメリットですが
メリット
・出力時に行うことで時間短縮
デメリット
・自動生成なので騎乗時モンスターとのめり込みは避けられない
・キャラクターと同じくモンスターもデザインのユニーク性を
重視しています。めり込みに関しては起こる想定なので
許容しています。
作業効率化ツール
アニメーションプレビュー
確認したいアニメーション(fbx)を選択するだけでそのキャラクターが
呼ばれ再生されます。inspectorウィンドウですがアニメーションを確認す
るとき非常に便利でした。再生したいモーションのフォルダパスと再生し
たいモデルを事前に登録しています。毎回対象モデルを探し出してドラッ
グ&ドロップすることなく確認がすぐに行えます。モーションデータのフ
ァイル名などに依存していません。
アニメーション補間
こちらのツールはモーション遷移時間を個別に設定でき、一覧で確認する
ことができます。下の画像の場合、デフォルトの補間時間は0.2秒になって
いる為、こちらに設定されていないパターンの補間はすべて0.2秒で行われ
ます。左側のFromから遷移元のモーションを選びます。次に右側のTO遷
移するモーションを選び、遷移時間を設定します。From,Toが空欄の場合
はすべてのモーションが対象になります。条件が被った場合は上にあるも
のから優先されます。例えばダメージモーションなど補間をかけずに遷移
したい場合、左側のFromを空欄にし、右側のToにダメージモーションを選
び、遷移時間を0にすることでダメージモーションにつながる場合はすべ
て0秒で遷移することになります。遷移フローが重なった場合はリストの
上にある設定が優先されます。モーションの補間を綺麗かつ気持ち良いタ
イミングを探るうえで非常に役立ちました。
まとめ
今回はモーション制作の効率化について紹介させて頂きました。
最先端のテクニックではありませんが効率化を図ることで1つ1つの
モーションクオリティ向上に繋げていくことができました。
コロプラでは様々なプロジェクトで豊かなアニメーション表現を追及していますので今後もご紹介していきたいと思います。
採用情報
コロプラでは3Dアーティストを募集しています。最高のゲーム体験をユーザーさまに届けるために必要な表現提案、仕様策定など、あらゆる箇所に積極的に関わり、グラフィック表現のレベルを一段上に引き上げていただける方をお待ちしております。