ゲームサウンドの"組み込み"とか"実装"と呼ばれる謎の工程を明らかにする
この記事で得られる知見
・ゲームの"絵と音"の合わせかた
・サウンド職以外が工程を知ることによるメリット
ぜひ読んでほしい人たち
この記事はサウンドディレクター、デザイナーだけでなく
・プランナーさん
・ディレクターさん
・プロジェクトマネージャーさん
・グラフィックチーフ的な方々などにも
ぜひ、ご一読いただけますと
「サウンドさんはこういう考えかたをしてるんだな〜。あれ?もしかしてこの仕様や映像表現を入れると、サウンドにも結構な影響があるかも…?」
と気付けるようになって開発現場での事故が減るんじゃないかと思います。
見た目がすごいのに音がショボかったりするとバランスが悪く、バグっぽく見えたりする事すらあるんですよ…(経験談)
というわけで、一定の品質を守るためにも
その映像に音が必要かどうか、判断基準を持とう
最もシンプルな基準は"動きがあれば音が要る"、"見た目が変われば音も変わる"です。それ以上でも以下でもありません。見た目が変わるなら必ずサウンド担当にもご連絡ください。必ずです。
そこに至るまでの考えかたを言語化した記事を書いたので、詳細はリンク先を読んでいただくとして、指標としては表現の粒度と、方向性や統一感と、タイミングを合わせるんだぞ。という事が書いてあります。
ここからは、その判断基準を用いたサウンド設計と、作り込む際の合わせかたについて、オーディオミドルウェア CRI ADX2 (ADX2 LE)に付属するAtomCraftというツールも利用しつつ紹介します。
なお、音の素材の作り方ノウハウについては割愛します。
表現の粒度に合わせたサウンド設計、タイミング調整について、自動化についてが主な紹介になります。
表現の粒度に関して
絵の表現の細かさと音の表現の細かさを合わせる、という件ですが、各表現に合わせた素材の音をそれぞれ準備することになります。
例として、キャラクターがジャンプするという状況に対するサウンド演出の粒度と実装手段について考えてみます。
図のようなバスケットボールの試合のジャンプであれば、バスケットシューズの足音、体育館特有の残響、ユニフォームのきぬ擦れ音、風切り音、踏み切り時の声や息遣い…などが考えられます。
上昇中と下降中で別の風切り音を使う場合もありますし、滞空時間も可変かもしれません。着地時に集中線やヒビが入るような表現があればそれらの音も追加します。
映像表現によってはユニフォームの音は不要かもしれませんし、もし下駄で参加してしまうようなキャラクターが居たら鳴らし分ける仕組みも必要になってきます。そういった感じで映像表現の粒度に合わせて音を鳴らす方法を検討していきます。
仮に上記のような仕様になれば、ジャンプするという動作一つに対して、バリエーションを含め20個前後の音素材が必要そうな気がしてきました。割と盛ってるようにも見えますが意外と沢山使うものなんです、はい。
タイミングの合わせかた
尺の決まっている演出であれば、アニメーションの再生開始と同時に音を鳴らすのが手堅いです。
アニメーションに変更があったり、初動に若干溜めがあったりすると音だけ先に鳴ってしまう…という状況もあり得ますが、その場合は発音するタイミングを遅らせたり、接地や接触判定を検知して鳴らしたり、3Dモデルのボーンの動きで揺れ検知して鳴らすような仕組みを作ると比較的容易にタイミングを合わせられるようになります。
またそういったものを設計する際は、発音のタイミングズレや音量バランスなどがちゃんと分かるサウンドの専門職が調整できる仕組みが望ましいです。
と書くのは、プランナーさんやプログラマーさんが調整を行なっている現場が比較的多いと感じるからです。餅は餅屋に任せた方がいい物ができるのでオススメです。
自分がオーディオミドルウェアを推進する理由の一つが、プログラミングと別の工程としてサウンドの調整が可能なところです。かなり明確に分業できるので、仮に開発終盤などでプログラマーがバグ取りに勤しんでいる間でもサウンド専門職が黙々とバランス調整を行う事ができます。時間を買える上にクオリティUPも見込めるなんて素晴らしい。
閑話休題
オーディオミドルウェアを用いた調整例
オーディオミドルウェアを用いると、上記のような調整を行う事が容易になります。例えば発音を遅らせてタイミングを合わせたいときは以下のように1000分の1秒単位で調整が可能です。
このやり方の場合、プログラム側の修正が一切必要ないのがポイントです。
尺が可変な場合の合わせかた
自分の場合は長めの音を用意しておいて、適宜短くフェードアウトさせるという手段をよく使います。いきなり無音になると不自然なので、0.2秒前後あると違和感が少ない事が多いです。
CRI ADX2を用いたサウンド制御では、サウンドCueの停止命令を受けてもすぐに無音にならず、指定した時間(リリースタイム)を掛けて減衰して停止する、といった鳴らし方ができるため、それを用いると非常に簡単です。
詳細は以下のチュートリアルをご参照くださいませ。
自動で音が鳴るシステムを作る
キーフレームアニメーションであれば、足が地面に接地するタイミング、離れるタイミングなどで細かくイベント指定ができる場合もありますが、モーションブレンドが絡んだりすると対応しきれない場合もあります。
3Dモデルであれば足の裏にコリジョン判定を追加して接地した際に発音させると、接地先の素材によって(土とかコンクリとか)鳴らしわける仕組みも作れて都合が良いです。毎フレームの判定毎に再生されてしまうと、とてもうるさくなったりするので音を間引く必要が出てきたりします。
音を間引く手段について
同時に鳴らす数を制限したり、優先度を決めて音を止めていったり、同じ音を鳴らさないようにするなど、様々な手段があります。どの手段が適しているかは場合によります。
その他の自動化について
空間表現の切り替えや、距離による音の変化なども自動化することで、より手軽に"絵と音を合わせる"ことが可能になります。
サウンド職以外が工程を知ることによるメリット
察しのいい方々は恐らく、自動化のあたりでお気づきかと思いますが割と早めの段階で検討しておかないと後でめちゃくちゃ苦労する部分です。音素材の量産前には全て解決しておきたい…。
また、仕様が変わったり動きが変わることでサウンドで必要になる素材数がいきなり数十個増減したりするので、制作するにしても発注するにしても想像以上に大きな影響があったりします。
見た目に関わる変更がある場合、必ずサウンド担当者にもご一報くださいますよう、よろしくお願いいたします。
まとめ
ここまでに挙げたような内容を検討し、解決し、よりよい体験を目指したコンテンツ作りをしていくのがサウンドの組み込み、実装という工程であり、非常に面白い部分です。
ユーザーからしてみれば目立たない、地味な作業に見えるかもしれませんが、ここのさじ加減でゲームの体験は大きく変わります。
コース料理で例えると、楽曲や効果音は食材や調理後の単品メニューであり、組み込みはお店の内装だとか皿へ盛り付け、提供するタイミングなどを含めたおもてなしだと思っています。
こういった演出作りに、少しでも興味を持っていただけたら幸いです。
最後に
この記事のようなゲームサウンド向けノウハウや専門用語集、サウンド周りのお仕事紹介などをまとめたwebを作って更新し続けています。こちらも合わせて、どうぞよろしくお願いいたします。