前置き
昨今のゲームではイベントシーンは、ストーリーを語るうえで欠かせない重要な要素になりました。
一昔前はただテキストが流れているだけの会話イベントとなっていましたが、今はグラフィックの向上で演出もそれ相応に合わせる必要があります。
キャラクターの感情描写や、ゲームの世界観をプレイヤーに伝えるためにも、イベントシーンは欠かせません。
今回は、私の開発経験をもとに、スクリプトイベントの作り方や考え方を備忘録程度に記載していこうと思います。
スクリプトイベントとは
ゲーム開発においてイベントシーンは数多くあり、それらを実装するための量産システムとしてスクリプトコマンドというのが各プロジェクトでは用意されます。
用意されたコマンドを用いて、スクリプターやプランナーが実際に作業を進めていきますが、プロジェクトにより作成するツールが変わってきます。
主なツール
・UE4 / 5のBP
・VisualStudio
ゲーム内の挙動
ゲーム内でプレイヤーの操作を一時的に制限し、キャラクターの会話、強制的な移動、演技、BGMやSEの再生、フラグの制御、カメラ演出などを行うイベントを指します。
基本的にはボタン送りで飛ばせるタイプのものはスクリプトで作られているイベントがほとんどです。
最近遊んだゲームでそれらしいのを見つけたので参考に。
今回の記事ではリアルタイムやカメラの切り替えを伴わないイベントについては触れません。
スクリプトイベントで何が出来ないのか
プロジェクトの規模や予算によって異なりますが、一般的にスクリプトイベントで表現が難しい、もしくは不向きなものは以下の通りです。
・激しいカメラの動き
・人間のリアルな眼球の動き
・モーションのブレンドの範疇を超える動き
上記がだいたい無理です。
無理な理由を見ていきましょう。
・激しいカメラの動き
スクリプトでのカメラ制御は、「AカメラからBカメラへ何秒かけて切り替えるか」といったシンプルな制御のみです。
そのため、複雑な動きは基本的にUEの場合シーケンサーなど別のタイムラインツールを使用する必要があります。
量産が必要なスクリプトでは厳しいですね。
・人間のリアルな眼球の動き
人間の目というのは常に真っ直ぐ見ることはありません。
一瞬下を見たりまた前を見たり、そういった眼球の動きを意図的に制御するのは厳しいです。仮に出来たとしても数多く作らないとイベントにそこまでコストをかけられないというのが現実です。
少し伏し目がちにしたりといった要所で使う場合は可能です。
・モーションのブレンドの範疇を超える動き
大量にあるイベントを作るのに1イベントにつきモーションを固有で作成してもらうのは現実的ではありません。
基本的には汎用のモーションをブレンドすることで組み上げていきます。
・待機ポーズ → 会話ポーズ
・待機ポーズ → 考えるポーズ
といった感じで流れを作成していきます。
あれ?会話ポーズしかブレンドしてなくない?って思うかもしれませんが、歩かせたりするのってかなり制御が大変で調整に時間がかかるので基本はその場で会話することが多いです。
歩かせたりするのはもちろん可能ですが、指定した座標まで何秒かけて移動といったり、モーション側に移動値をつけてもらって実装したりもします。
クオリティを上げるには?最低限のルール
「クオリティアップ」と聞くと、ふわっとしすぎて頭を抱えたくなるかもしれませんが、
私自身が意識している守れば一定ラインは担保できるルールを紹介します。
ただ参考程度にしておいてください。
1. イマジナリーラインを超えない
イマジナリーラインと聞くと人によっては気にしなくて良いという意見もあります。
ただスクリプトイベントというのはシンプルな会話劇なので、わざわざ超える必要も無いんですよ。
なので守りましょう。それだけでカットが切り替わった際に違和感が出ることもありません。
2. 目線と首の向き
会話中は、話している相手の方向を見させることでより自然になります。
アニメ調でもフォトリアルでも、目→首→体の順に動かすと自然に見えます。
3. キャラの配置を誤魔化しすぎない
イベントシーンの演出中、配置のズラしを行う必要がある場合があります。
ただ配置ずらしは違和感のないレベルまでなら良いですが、やりすぎると後ろの背景、立ち位置の関係など違和感が出るラインはアウトです。
あと頻繁に移動させるとプロジェクトによりますが、物理演算が荒ぶります(どうしても無理ならその時だけ切ってしまうのも有り)
4. カット切替時に首とモーションが合っていない。
ありがちなのが、
カット1では腕組み+右を向いていたキャラが、カット2で急に待機ポーズに戻っている、右を向いていないなど、モーションと体の向きの不整合です。
キャラが連続で映る場合 → ポーズや向きを合わせる
一度別のカットを挟む場合 → 多少変わっていてもOK
6. FOV(画角)を調整する
望遠レンズ、広角レンズといったものがあります。ここで詳しくは説明しませんが、正しい撮影距離を把握して設定しないと背景とのギャップが生じて違和感のあるカットになったりもするので気をつけましょう。
Tips
コンテが存在しない?なら最低限のカットを入れよう
現場によりそもそもコンテが無いっていうプロジェクトは数多くあります。
その場合まずは必要最低限のカットを入れてみてください。
例を出すと3人が会話している場面があるとします。
先ずは3人いるよ!って言うことをユーザーに明示する必要がある場合は3人のグループショットを入れましょう。
その上でセリフを確認し、必要があれば話している人のアップを入れる。
その後肩越しショットを入れるといった感じで追加していきますが、人によってはカット追加や構図を決めるのが楽しくなってしまうんですよね。僕です。
でもカットのしすぎは良くありません。
ただカットのしなさすぎも良くありませんので、2,3セリフ言わせたらカットを変えるぐらいにしておきましょう。
勿論1で説明したラインは気をつけてください。
他にも色々あると思いますが、思いついたらまた書きます。