【アートチーム研究開発】Spineを活用したリアルタイムアクションゲーム ~新卒1年目によるキャラクターモーション編~
アートチームでは今期もプロジェクト横断業務と並行して業務の20%を使ったアクションゲームの研究開発を進めてきました。α版は少人数で短期間でのモックアップ制作を進めてきましたが、β版では参加メンバーを増やし、格闘システムのブラッシュアップとキャラクター追加を試みました。
今回は、2019年11月に公開したα版制作時の記事に引き続き、新たにジョインしたメンバーにフォーカスし、「新卒1年目によるキャラクターモーション編」と「エンジニアによる設計編」の2回に分け、研究を通して学んだことについてお伝えします。
はじめに
はじめまして、2019年新卒入社のモーションデザイナーのG.Mです。私はエンジニアとしてG2Studiosに入社しましたが、新卒研修を受けているうちにゲームの見た目に関する仕事をしたいと思うようになりました。そして、昨年10月に配属先がアート2チームに決まり、キャラクターモーションなど、ゲームの見た目に関する業務を担当することになりました。
配属されて初めてSpineを触り、これまでにSDキャラクターのモーションや、スチルモーションを制作してきました。そして、チームとして研究開発を行っているリアルタイムアクションゲームでは、新キャラクターのモーションを制作しました。
新しく制作したキャラクターモーション
◆新キャラクターを制作するにあたっての進行方法
本プロジェクトのキャラクター制作の進行は、キャラクターの絵を描くデザイナーとキャラクターを動かすモーションデザイナーの2人ペアで行いました。そこで、他の業務と並行して作業を進めていくにあたって、お互いが行う作業に空きが出ないように効率よく進めていく工夫をしました。
Spineで制作したデータは後から画像を差し替えることができるため、最初にメッシュを設定するための輪郭線をFIXし、塗りや描き込みを最後に行うことにより、早いタイミングでモーションの制作に着手できるようにしました。
▼キャラクター制作の進行工程
◆キャラクターデザイナー Y.Sから一言
今回新たに制作したラフの中から、素手で戦う格闘タイプのキャラクターが選ばれました。キャラクターの個性は自然体をイメージし、「どこかの部族」という設定にしました。
デザイン面ではメインで使う拳以外の部分は防具と呼べるものは省きました。武器がないことで動いた時に小さく纏まってしまうのを避けるため、動きの出る羽や腰布などの揺れ物をたくさん入れました。
キャラ設定では「大きくて怖そうだけど本来は温厚」という親しみやすさも込めた性格設定にしています。
キャラクターの個性を表現するために行ったこと
今回、キャラクターの特徴でもある筋肉と重量感、力強さを引き立てるモーションを考えるため、自分がアクターとなってリファレンスビデオを撮影しました。
文字では伝わりづらい差分パーツの依頼を効率的にデザイナーに伝えることができ、自分がモーションを制作する際にも参考にしました。Spineでキャラクターを動かす際に、自分が動いている動画を見ることによってイメージを膨らませることができ、モーション初心者の自分にとってリファレンスビデオの使用はとても有効な手段でした。
Spineに触れ始めてから半年に満たない私ですが、リファレンスビデオを元に先輩からアドバイスやレビューをもらって工夫を加えたり、チームのエンジニアと相談して機能を盛り込んでもらったりと少しずつブラッシュアップし、キャラクターの個性や力強さを常に意識して制作を進めました。
▲リファレンスビデオと制作モーションの比較画像
キャラクターの重みを表現するために、Unityで設定されているパラメーターにも変更を施しました。例えば、通常攻撃では攻撃をした際の自身のノックバックの値を0にして、動いてしまわないようにしました。
また、打ち上げ攻撃ではヒットストップの時間を長くすることによって攻撃時の威力の高さを表現しました。Damage Hit Knockback Powerの値がマイナスになっているのは、攻撃が当たった後も敵に向かって移動をするようにするためです。
なるべく敵からの力の影響を受けないようにパラメーターを設定して、重さを表現しました。
過去の仕様だとキャラクターが攻撃する際に前に出るタイミングが最初のフレーム固定だったのですが、エンジニアに、前に出るタイミングをSpineEventで制御できるように対応してもらいました。
これによって、このキャラクターのように攻撃に溜めのあるモーションの際に滑ってしまうような違和感がなくなり、大地を踏みしめて溜めている表現がゲーム内でも可能になりました。
挑戦してみて
今回頭身の高いキャラクターモーションに初めて挑戦しましたが、動かすものが非常に多くとても苦戦しました。
可動域を増やすために試行錯誤で少しずつボーンを増やしていき、最終的に側面や背面を含めると約400本ものボーンの数にもなり驚きましたが、先輩の力添えのおかげで、新卒の自分でもできることが増え、納得のゆくモーションを制作することができました。
▼Spineセットアップ画像
そして自分の制作したモーションを実際にゲームに入れて綺麗に動いた時はとても達成感がありました!今後はより簡単に立体感を制御するためのコントロール用のボーンを制作するなど、設計面を工夫し、より良いモーションを制作できるように日々頑張りたいと思います。