今日のトピックは、Wwise Unity Integration。これについては長年の間、学習教材がそれなりに用意され、いつでも参考にすることができます。Audiokineticから出ている教材では、例えば YouTubeの動画が豊富にあり、AudiokineticのコミュニティQ&Aには多数の詳しい質疑応答が掲載されているほか、Wwise-301の検定コース や Wwise Unity Integrationのドキュメンテーションなどにもアクセスできます。
これらは、最初のとっかかりとして素晴らしい内容なのですが、いったん教材に目を通し終わってから、とあるリバーブゾーンのコンポーネント名をどうしても知りたくて、そのページを次から次へとめくって探すのは、正直くたびれます。また、Wwise Unity Integrationを使いこなせるようになってからでも、分からないことが出てくることがあります。
Wwise-Typeイベントを正しく書くには、どうすればいい?
Spatial Audioの、リバーブゾーンのあのコンポーネントの名前は、なんだっけ?
最初にコールするのは、OnTriggerEnter() ?それとも Update()?
イベントをポストするのに使うのは、AkEvent?それともAkAmbient?
コールバック関数にインプットする必要があるのは、なんだっけ?
私たちはよく、すぐ手の届くところに自分の昔のプロジェクトをしまっておくもので、前に作成したかっこいい関数の懐かしいスクリプトを引っ張り出しては、多少の変更を加えて、新規プロジェクトに再利用することもあります。自分で管理用スクリプトを作成して命名規則を整えてきた人も多いだろうし、もう2度と書きたくないと思うような複数の関数をまとめてとってある人も、珍しくないはずです。そして、古いコードを探し当てている間にも、やっぱりイチからやり直そうかな、なんて自問自答した経験もあるはず!
そこで、提案です。みんなで知識をシェアして、Wwise Unity開発プロセスをスピードアップできる技を詰め込んだ「カンニングペーパー」を構築したいと思います。使いやすく、管理しやすいように、1枚に収めます。
カンニングペーパーに入れるもの
私のカンニングペーパー案をお見せする前に、作成する上で考慮したことを紹介します。
まず、長い目で見て、役に立つのか?どんなプロジェクトにも、応用がきくのか?イベント名や階層構造が将来のプロジェクトで完全に変わる場合もあるので、簡素化したり、ほかのプロジェクトでは使えないようなカスタム関数を思い切って削除するのも、理にかなっているかもしれません。そうすればカンニングペーパーの維持管理に時間をかけ過ぎないで済むばかりでなく、共有可能という思わぬメリットも生まるはずです。
バージョンが異なるときの機能の参照方法にも、注意が必要です。例えば、UnityのWwise Editor設定画面が最近変わり、Unity > Edit > Project Settingsに移動したので、Wwise Unity Integrationの設定につながるはずの便利なパスも、Wwiseの旧いバージョンでは無効かもしれません。
カンニングペーパーの最重要目的は、答えを探す手間と時間を省くこと。だから、UnityのEvent関数の完璧なリストを載せたとしても、複雑になるだけで、探すときのメリットが特にないかもしれません。同様に、手の凝った画像やビジュアルエフェクトを避けることも検討してほしいのですが、直観的に使えるようにすれば、あなたのカンニングペーパーを勝手に拝借した同僚も、きっと活用できるはず。
今回は、一部の作業をUnityで行うことを前提に作成しているので、例えばSceneビューでFを押せばゲームオブジェクトにフォーカスできる、といったUnityの一般的な内容も、入れると便利だと思います。実は、リージョンのアンビエンスを再生するときによく、AkAmbientコンポーネントとUnity Triggerを一緒に使うので、自然と、Triggerの仕組みも知る必要がでてきます。
以上を踏まえ、私がつくってみたカンニングペーパーが、こちらです。
Wwise Unity Cheat Sheet(Wwise Unityカンニングペーパー)
このドキュメントを開き、コピーを保存して、自由に手を加えてください!
今回、あえてウェブベースのGoogle Drawingソフトでこのカンニングペーパーを作成したので、どうぞブラウザからファイルにアクセスして、ご自分のドライブにコピーしてみてください。ドライブに入れたら、どの図形もテキストフィールドも自由に変えることができるので、好きなように工夫してください。
利便性を考えて、ここに掲載した多くの語句や関数などにリンクを貼り付けてあり、PDFとしてダウンロードしても、リンク先にいけるようになっています。だから、ローカルに保存して別のウィンドウで開くことも、iPadや別のモニターに出しておくことも可能です。簡単に編集できるようにつくったので、私たちは、Wwise Unity Integrationの新しいバージョンが出たときは、絶対にこれも更新する予定です。どうぞご自由に保存したり、変更したり、好きなところでシェアしたりしてください。
カンニングペーパーに書かなかった裏技やコツ
さて、カンニングペーパーに書く意味はあまりなくても、知っておくと便利なことをいくつか、紹介したいと思います。例えば、Inspectorビューを1つ追加すれば、2つのコンポーネントを、たとえ別々のゲームオブジェクトからきていても、同時に見ることができるのは、知っておくと便利です。Unityプロジェクトの準備手順は、重要ですがこのカンニングペーパーに載せても一回きりのタスクなので、残りの開発期間中は役に立ちません。
ということで、カンニングペーパーに追加しなかった知識も多くありますが、せっかくなのでここで共有したいと思います。もし私が言い忘れた便利なコツがあれば、きっと親愛なるWwiseコミュニティのみんなが、このブログの下にあるコメント欄で、それを指摘してくれると信じています!
Playmodeのイン・アウト
あなたのゲームをUnityで試す準備ができたら、さっそくPlaymodeに入ります。すると、デフォルトではプレイモードに入っているのか、入っていないのかの状態は、小さいボタンを押したときに色が付くか付かないか程度の変化で、特に判断しやすくないと私は思います。
プレイモードがインなのかアウトなのか、現在の状況がはっきりと分かるように薄い色を付けることができるので、UnityのPreferences > Colors > Playmode tintで設定してみてください。
もしそれでもプレイモード中に何かを変えてしまった場合は、歯車アイコンでコンポーネントをコピーしてプレイモードを出てから、コンポーネント値をペーストすれば、作業内容をキープできます。
複数のInspectorを同時に見る
Wwiseと同様に、Unityのビューも、自由に配置を変えられます。ところで、Inspectorビューを同時に複数開けられることを、知っていましたか?特に複数のカメラを使っている場合によくやることで、簡単にGameビューを1つ増やして違うカメラをアサインできます。Wwise Unity開発者は、これで複数のゲームオブジェクトを同時に観察して、あなたのWwise Unity Integrationコンポーネントの設定を比べることができます。設定するには、Inspectorペインを右クリックして、Add Tab > Inspectorを選択します。
次に、Inspectorウィンドウを1つだけ、ロックして …
… 別のゲームオブジェクトを選択します。
これで完了!
ゲームオブジェクトのコンポーネントの検索
オーディオインテグレーションを連日やっていると、どのゲームオブジェクトを最近変更して、どれを変更していないのかが、段々と分からなくなってきます。そんなときに、シーン中のすべてのゲームオブジェクトの、すべてのコンポーネントフックを見つける方法があります。UnityのHierarchyビューの一番上の検索で、コンポーネント名、例えばAkEventをサーチしてみてください。すると、この要件を満たさないすべてのゲームオブジェクトが、フィルターですぐに除外されるので、このコンポーネントのある各ゲームオブジェクトが分かります。
以上が、Wwise Unity Integrationを使うときの、私の自慢のコツと裏技ですが、皆さんも、きっと良いノウハウを持っていると思います!皆さんが、このWwise Unityカンニングペーパーを活用して、紹介したコツを楽しんで読んでくれたら、私も嬉しいです。是非ともご自分の「備忘録」を、下のコメント欄やSNSでシェアしてください。そのとき、@audiokineticをタグ付けしてハッシュタグ#Wwiseを使ってください。そうすれば、私たちもあなたの素晴らしい作品をフォローできます。
コメント