この記事は、KLab Engineer Advent Calendar 2018 22日目の記事です。
概要
昨今におけるスマートフォンのゲームアプリもリッチ化が進んでおり、家庭用ゲーム機同様のフィーチャーが求められるようになりました。
3Dゲームに登場するカットシーン実装ですが、検討を失敗すると大きな調整リスクが発生します。
弊社では各種タイトルにおいてストーリーや必殺技などの各種演出などで多く扱っています。
そこで今回はプログラマーがカットシーン実装で検討するべきTipsを紹介します。
- 基礎知識
- 役者アセットの見積もり
- ワークフロー
- エディットキャラクターの登場
- インゲームとのスムースな連携
基礎知識
カットシーンを作るにあたって、UnityやUE4などのゲームエンジンでは作成する機能が提供されています。
しかし基礎知識を知っておくとアニメーターとのやり取りをスムーズになりますし、必要なカメラ操作やポストエフェクトのテクニックを理解することができます。
様々な本やサイト記事が多数存在しますが一つ紹介します。
https://www.amazon.co.jp/dp/4768305385/
役者アセットの見積もり
ここでいう見積もりは何をどれだけ用いてカットシーンを作れるのかという洗い出しです。
これをデザイナーに打診・相談して決めます。
例えばゲームで使う予定のポリゴンを約15万ポリゴンとした場合、下記な感じで決めていきます。
(単位はポリゴン)
- 背景 40000
- キャラクター 10000 * 10
- モブ、演出素材 10000
シェーダーやポストエフェクトによっては、CPUかGPUの何かで頭打ちになることはあるので
考慮する必要はあります。
また、一部シーンではどうしてもポリゴンを超過したいという要望はよく受けます。
その場合ポリゴンを減らしたアセットを用意するのが理想ですが、困難な場合はFPSを落とすなどで対応することも検討します。
ワークフロー
カットシーンは、下記の複数のアセットで構成されます。
- 3Dモデル
- アニメーション
- BGM
- SE(SFX)
- 音声
- ポストエフェクト
- 字幕
- etc...
複数の要素はすべて一人の担当者では作るのではなく、複数の担当者が組み込んでいくことになります。
用意するシーン数やアセット数が一定以上ある場合に、どうやってコンポジットを行い、動作確認のイテレーションを高速に行えるかがデザイナーにとって重要になります。
UnityのTimelineではこちらで紹介されているように
大まかな作業カテゴリごとにサブTimlineとして分けることで、各作業担当者が並行してアセット更新作業できるなどのアイデアが考えられます。
エディットキャラクターの登場
カットシーンにエディットキャラクターを登場させる場合は、エディットの仕様には注意するべきです。
スキンのカラーや、身長や体格のスケールが変更可能である場合、調整における作業コストが一定以上に発生するので計上しておくべき要素になります。
スキンのカラーなどであれば露出補正などポストエフェクトの調整。
身長や体格のスケールであれば複数キャラクターが並ぶようなカメラショットの場合、
被写体がフレームから見切れることがあるので、カメラ位置、視野角などでの調整。
また、地面の接地や、登場するエディットキャラクターと別キャラクターが手など触れ合う箇所などにおいては
スケールによってメッシュ間の貫通が起こり得るので、IKなどで適切に処理する必要が発生します。
インゲームとのスムースな連携
既存のゲームで良く見かけるのが、カットシーンからインゲームにスムースにつないでそのままプレイするような内容です。
カメラについてはこちらで紹介されている
UnityのTimelineとCinemachineを用いれば、イース補間でスムースにつなぐことが可能です。
アニメーションについては、アニメーターがMayaなどのDCCツールを使ってアニメーションを作成する際、繋ぐカットシーンとインゲーム両方のアニメーションのルートが合うように考慮、場合にょっては対応する必要があります。
Unityではゲーム内容によってAnimatorコンポーネントのApply Root Motionを有効にするかどうかによって異なると思いますので、それも含めてアニメーターと事前と相談しておきます。
最後に
ここに上げた内容は一例だと思いますが、カットシーン実装時にご参考になれば幸いです。