Wwise Motion Sourceで、振動を実現

Wwiseの使い方やツール

振動機能を初めて体験したときのことを、覚えている?それは、もしかしたらNintendo 64Golden Eye“Rumble Pak”を買ったときで、心の準備はできていたかもしれない(ちなみに「パックなし」でアイテムを獲得するのは大変)。または、PlayStationの新しいDual Shockコントローラで、鉄拳3をプレイ中に、モーターが急に回り出してびっくりしたときかもしれない。今では、普段プレイしている大好きなFPSゲームで、自分が撃たれたのにコントローラが振動しなかったら、逆にハッとしてしまうかも。

ここで挙げた家庭用コンソールのゲームは20年くらい前の例で、アーケードゲームはその2倍も前の例もある。(1) 呼び方も色々あり、ハプティック(haptic)フィードバック、フォース(force)フィードバック、ランブル(rumble)、バイブレーション(vibration)、そしてここAudiokineticではモーション(motion)と言い、ずいぶん昔からある機能。今となっては、ファイトゲームで負けたときも、ドライビングゲームでクラッシュしたときも、どんなゲームでも危険が迫っているときは、何らかのハプティックフィードバックがあるものと考えるようになっています。

感動できない?

読者は、コンソールの90年代後半のモーション革新を、最近のウェブ関連の展開と一緒にしてしまっているかもしれません。確かに当時は「少し変」としか表現できないようなスタイルチョイスもあり、Javaスクリプトでポインターに炎の尻尾を付けてみたり、背景色を適当に変更してみたり。それでも人々はウェブ開発を正しく制御することを学び、プロとして緻密に仕事できるようになりました。ハプティックフィードバックに関しても、同様のはずでは?

もしかしたら、読者は興味がないだけで、自分はサウンドデザイナーであってモーションデザイナーではない、と思っているかもしれません。そもそも、私たちはインタラクティブオーディオの会社として、なぜモーションについてのブログを書いているの、と考えているかも。それでも、サウンドデザインとの共通点があまりにも豊富なので、これから2つの分野を比較しながらWwiseでなぜ、どのようにモーションを取り扱うのかを説明し、モーションの概要をまとめながら、今後、私たちの業界でハプティックフィードバックがどうなるのかを探りたいと思うので、私の記事を時間の無駄と考えず、どうぞ最後までお付き合いください。

ハプティックフィードバック V.S. サウンド

根本的にはハプティックフィードバックもサウンドも同じ振動で、種類が違うだけです。音の振動は主に空中を伝播し、耳で聞きます。ハプティックの振動は主に体で直接感じ、とくに手に伝えられます。

サウンドデザインで着目するのは、リズムや波長、振幅や周波数です。モーションデザイナーも、これらの基本的な要素を使います。このような属性の設定方法を理解できるデザイナーは、ゲーム内の状況を補完するような「フィーリング」を表現できるようになります。フィーリングの内容は、デザイナーが何を伝えようとしているのか、そしてときにはなぜ、伝えようとしているのかで、変化します。

通常、サウンドでもモーションでも、目的はプレイヤーに情報を伝達することです。例えば没入感を深めるディテールでリアルにするときなど。あるいは現実世界では気付かないような、具体的な情報を示すこともあります。普段の生活で「ここを見て」とか「敵が接近中」とか「お財布を落としました」なんて表示が出てくれば、楽だと思いませんか?このような注目ポイントはビジュアルの色使いで表現したり、ハイライト表示やテキストなどのインゲーム要素で表したり、HUD内に表示させたりすることが可能で、一般的に行われます。ところが、ビジュアル情報が多すぎると圧倒されがちなので、五感の違う面に訴える方法が重宝されることもあります。つまり、サウンドデザインの出番です。それでも、あまりにも音が入り混じって押し寄せてくると、肝心な情報が埋没してしまうこともあります。そこでデザイナーの「矢筒」に、モーションという別の「矢」があれば、大事な任務を担ってくれます。

モーションはオーディオを綺麗に補完してくれます。多くのゲームで、「モーション」はサウンドオブジェクトと一緒に振動してサウンドを強化します。これは簡単。あとで詳しく説明しますが、WwiseではAuxiliary Send機能でモーションバスにSFXを送信するだけです。また、モーションは独立して存在できます。オーディオソースがなくても大丈夫、ただしデザインに対する配慮が少し必要になります。

ゲームでは文字による情報の伝達は、単刀直入でよく使われるビジュアルキューです。効果的です。サウンドデザインで同じような戦略をとるとしたら、神の声なるものを使います。これも、効果ありです。ただしオーディオは不しつけに感じられることもあり、聴覚への反応の方が視覚への反応より速く強いです。このため、サウンドデザインの成功のカギは加減調整です。ここでもう1点。触覚への反応は、聴覚への反応よりもさらに速く強力です。(2) 微妙な加減調整は、モーションにとって必要不可欠。研究によると、聴覚と触覚の組み合わせなど、モーダル混合のフィードバックは、追加的な性質があり、両方を一緒に使うと、さらに強力で迅速な反応につながり、とくに背景で邪魔する要素がある場合はそうです。(3) そこで早速、あなたの音の使い方をみながら、そこにモーションを取り入れることができるかを検討します。 

オーディオの補助やVR

ゲームで当然のように期待されるようになった音は、メニュー画面で項目間を移動するときのクリック音やビーッという音や、走ったりジャンプしたり、壮絶な爆発があったりしたときのゲームの物理的な動きに合った音などがあります。

バーチャルリアリティとなると音に対する期待はさらに高まり、五感に訴えることで引き込みます。重点はビジュアル表現におかれますが、Audiokineticのバイスプレジデントであるジャック・ドゥボー(Jacques Deveau)が雑誌Developで述べたように、「プレイヤーの視界は360度に広がるので、没入感を引き出すには、オーディオのディテールへの気遣いとこだわりが不可欠」(4) であり、「オーディオ側の実装が下手だと、バーチャルリアリティのエクスペリエンスがすぐに崩壊してしまう」(5) のです。

クリック音などはモーションが不要かもしれませんが、爆発のときなどは、物足りない感じがします。VRの場合を考えると、この観察は「オーディオ」を「モーション」に置き換えたとしても妥当だと思います。モーションの実装が下手だと、五感に訴えるほかの要素を圧倒してしまいゲームに不利となるかもしれません。一方、よくできた実装は没入感の強化につながります。

些細な特徴へのこだわりが、ゲームの品質に大きく影響することもあります。やはりビジュアルの方がサウンドより上で、サウンドの方がモーションより上です。とはいえ、「大好きなゲームをミュートにしてプレイすれば数秒で分かることだけど、人を虜にするようなエクスペリエンスをつくるには、サウンドがとても大事」(6) なことは、誰もが納得できると思います。ではなぜ、ハプティックフィードバックを軽視しがちなのか?

簡単に言うと、モーションの方が、オーディオより原始的だからです。オーディオよりかなり制御範囲が限定されるのに、控えめにする必要があります。それでも最近は、ビデオゲームでハプティックフィードバックの高度化を図る機会が徐々に増えています。

Wwiseのモーション

Audiokineticでは、ハプティックフィードバックをサウンドデザインのパイプラインに追加できることを、早い時期から理解していました。(7) 最初は、すでにあるサウンドに合わせたランブル(振動)をサポートしていただけでした。次にMotion FXオブジェクトとMotion Busオブジェクトを別々に追加することで、デザイナーは、サウンドがなくてもモーションを合成できるようになりました。Motion Generatorというプラグインが必要でしたが、デザインフローは、オーディオと同じでした。

Wwise 2017.2では、モーションのワークフローをシンプルにするために、これら別々のオブジェクトをなくしました。Audio Device設定を変えるだけで、どのAudio Busもモーションバスに変わり、どのSound SFXオブジェクトも、モーションバスにセンドすればモーションが出力されます。

それでもこのプラグインのプラットフォーム別の設定に関して、改善の余地がありました。そこで2018.1に投入されたのが、Wwise Motion Sourceです。

モーションの設定

Wwise Motion Sourceはプレミアムプラグインで、その名のとおり、SFXのオーディオソースの代わりに使います。Wwiseにプリインストールされていて、オーサリングツール内で遊んでみることは可能ですが (8) ゲームに採用するにはライセンスが必要(9) なだけでなく、それが入ったサウンドバンクを作成するのにも必要です。

ゲーム内でWwise Motion Sourceを活用するには、プラグインWwise MotionをサウンドエンジンWwiseにインテグレートする必要があります。(10) SDKドキュメントの Wwiseモーションの統合 ページに設定方法があるので、オーディオプログラマーに依頼してください。

とりわけ重要なのは、Wwise Motionプラグインが「サウンドエンジンとモーション対応のデバイスの間のリンクとして考えることができる」ことです。 (11) 各種コントローラやプラットフォームの対応が事前に設定されています。多くのユーザーにとって、これで充分です。とはいえ、Wwiseは柔軟性に優れた設計となっています。やる気のあるオーディオプログラマーが自分でモーションプラグインを確立させたいと考えれば、標準外のコントローラやプラットフォームの多くをサポートできるはずです。

Wwise Motionプラグインで設定できる標準コントローラの中でも、違いがあります。Xbox Oneコントローラはトリガーにアクチュエータがありますが、PS4のコントローラにはありません。実弾を撃った経験があれば分かりますが、銃の強力な音は耳に残ります。同時に、銃の強い反動も衝撃的です。プレイしているのが完全なサラウンドシステムでウーファーのある状態なのか、ステレオ出力だけなのか、いずれにせよ発砲音は、ゲーム内のプレイヤーのアクションに連動します。トリガー部分が振動した方が、コントローラ全体が振動するよりも、銃の反動と心理的にぴったり合った感じがするのではないかと思います。あるいは、コントローラのトリガーにアクチュエータがなければ、ウェポン発射時のモーションは不要かもしれません。一方、銃に撃たれたときは全体的なモーションが望ましく、トリガー部分だけでない方がいいかもしれません。

Wwise Motion Sourceを使えば、様々なコントローラやプラットフォームに合わせて設定を調整できます。開発中のプロジェクトで上手く使えそうか、自分のセットアップをできるだけ早くテストしておいてください。それでは、WindowsXbox 360のコントローラを使用したシンプルな例を見ながら(12) 自分の設定をWwiseオーサリングツールで直接テストできるようにします。


  • Wwise 2018.1で新しいプロジェクトを開きます。(13)
  • Wwise Motionに対応している5種類のBase Platform WindowsAndroidPS4SwitchXbox One)を、すべて追加します。(14) (最初の演習では重要でありませんが、それ以外の演習に役立ちます。)
  • アセットとしてMotion Presetsだけを追加します。

Picture1

  • OKをクリックします。
  • License Managerを閉じます。(15)
  • Sound SFXオブジェクトを作成します。私は、Motion Testという名前にしました。
  • Motion TestProperty Editorで、Output Busを変更して、すでにAudio DeviceとしてDefault_Motion_Deviceを使用する設定になっているMotion Factory Busを選択します。

Picture2

  • Motion TestのContents Editorで、Motion Sourceを追加します。(16) 私は、Motion Source Testという名前にしました。

Picture3

  • Motion Source Testをダブルクリックし、そのSource Editorを開きます。
  • Xbox 360のコントローラにアクチュエータが2つあるので、Actuator Configurationで、2 Channelを選択します。Driverのリストを見ると、Channel 1Chanel 2が有効になっています。
  • デフォルトでDriver ARTPCカーブが設定されているので、Channel 1Driver Bを選択し、Channel 2Driver Cを選択し、異なるようにします。

Picture4

  • ゲームコントローラを手に取り、Transport ControlMotion Testをプレイするために、スペースバーを押します。まだ2つのドライバーの値が0なので、何も起きません。
  • Driver BのValueフィールドで、値を1に設定します。
  • ゲームコントローラを手に取り、Transport ControlMotion Testをプレイするために、スペースバーを押します。強く短い振動を感じるはずです。(17) これは、Xbox 360のコントローラのLow Frequencyアクチュエータです。
  • Driver BのValueフィールドを0に戻します。次にDriver CValueフィールドを1に設定します。

Picture5

  • ゲームコントローラを手に取り、Transport ControlMotion Testをプレイするために、スペースバーを押します。柔らかくて短い回転を感じるはずです。これは、Xbox 360のコントローラのHigh Frequencyアクチュエータです。

この手順を使い、同じようにほかのゲームコントローラやモーションデバイスのActuator Configuration設定をテストできます。当然、SwitchXbox Oneのコントローラのようにアクチュエータの数が増えると、ゲーム、またはプラットフォームの「プレイグランド」的な環境にリモート接続する必要があります。これからの演習では、すでに設定されているActuator Configurationを数種類使い、Wwise Motionが各デバイスのドライバー値に合う設定値に変換する機能を利用します。Actuator Configurationの設定はそれぞれプラットフォームの名前がついていて、オーサリングツール内でテストできる範囲は限定されるものの、対象プラットフォームで機能するようになっています。また、Wwiseのプラットフォームリンクの機能を使い、各プラットフォームで異なるモーションデザインに、どう対応できるのかを確認していきます。

オーディオから発生させるモーション

Wwiseでオーディオを使いモーションを作成する方が、先ほどの簡単なWwise Motion Sourceを使ったテストよりも、簡単かもしれません。

  • Wwiseで、Sound SFXを作成します。私は、Motion from Audioという名前にしました。.
  • 音が大きく短いソースファイルを1つ、インポートします。私は、Wwise Integration Demoにあるガンショットサウンドを1つ、取ってきました。

Picture6

  • 上の方のMaster-Mixer Hierarchyまで移動し、Motion Factory Busの下に、新しいAuxiliary Busを作成します。私は、Motion_Auxという名前にしました。

Picture7

  • Motion from AudioProperty Editorに戻り、User-Defined Auxiliary Sendとして、Motion_Auxを追加します。

Picture8

  • ゲームコントローラを手に取り、サウンドの出力をオンにし、Transport ControlMotion from Audioをプレイするために、スペースバーを押します。ガンショットが聞こえると同時に、強力な振動も感じるはずです。作業はこれだけ!

振動の反応具合が、イマイチですか?もう少し強い方がいい?それとも、もっと弱く?Motion_AuxAuxiliary BusVolumeを調整できます。このサウンド自体を自由に変えても結構です。VolumePitchを変更したり、HPFEffectを追加したり、しっくりくるアウトプットを求めて私たちサウンドデザイナーが普段からやっていることを、試してみてください。モーションが、勝手に付いてきてくれます。

残念ながら今日のハードウェアでは、振動という面でそれほど大きな差がないかもしれません。これは考えただけでもわかりますし、気が向けば実際に試してもいいのですが、Motion from Audioのガンショット音のソースファイルを、例えば素晴らしいクラシック音楽のソナタや感動的なスピーチなど歌やボイスのソースファイルに変えてみても、出力されるモーションは使いものになりません。もっと細かく制御したければ、モーション専用のSFXを利用します。

モーションオブジェクトで発生させる、モーション

先ほどは簡単なモーションテストで、モーション専用のSFXを簡単に作成できることが分かりました。それでは次に、モーションのもっと詳細なデザインを見ていきます。使いやすさを追求し続けるという意味で、すぐに使えるMotion Assetsを利用して、使い方を確認しながら自分の今後のモーション開発の基盤を準備してください。今すぐモーションが必要なときは?例えばゲーム出荷直前に上司が「そうそう、その1万個のオブジェクトに、モーションをちょっと入れてもらえる?」と言ってきたら?(そんなこと、言わないよね。ね?  )Motion Assetsは、あなたが動かなくても、勝手に動いてくれるので、思わぬ幸せが見つかるかもしれません。

Project Explorerで、Factory Motionというワークユニットを開きます。(18) 沢山のSFXオブジェクトが、いくつかのバーチャルフォルダに分けられて入っています。それぞれ、ゲームでよく発生するような、モーションが多少あっても良いシナリオで、コントローラ別やプラットフォーム別の設定が入っています。

Picture9

それでは、いくつかを開き、関連付けられたRTPCカーブや、プラットフォーム別の設定内容などを見ていきます。

Loop Moderate

  • Basic > Basic Loopというバーチャルフォルダを開き、Loop ModerateというSFXProperty Editorにロードします。
  • Contents EditorでWwise Motion Sourceをダブルクリックし、Source Editorにロードします。
  • Wwiseツールバーのプラットフォームセレクタで、Switchを指定します。

Source EditorのEffectsタブを開くと、Actuator Configurationの設定がSwitch 4 Channelになっていますが、これは選択中のプラットフォームであるSwitchに指定されたもので、アクチュエータ4個には、Driver AまたはDriver Bがアサインされています。(19)

Picture10

Internal Driver Channelsのグループボックスを見ると、Driver Aの設定は0で、RTPCが設定されていないのが分かります。つまり、このドライバーのアクチュエータがモーションを出さないようになっていて、この場合はSwitchHigh Frequencyアクチュエータを回避するための望ましい設定であり、それは周波数が高すぎて希望する感触よりも優しすぎるからです。ほかのプラットフォームを見ると逆で、Low Frequencyアクチュエータが沈黙しているときに、High Frequencyアクチュエータが使われていますが、この周波数が希望の感触により近いからです。

また、Driver BSwitchだけ0.05のオフセットがあるのが分かります。理由は、SwitchLow Frequencyアクチュエータが、ほかのプラットフォームのHigh Frequencyアクチュエータよりも、やや弱いからです。異なるコントローラの間でもある程度、一貫性を保つためにオフセット設定は有利で、全プラットフォームに1つのカーブで対応できます。つまり、Motion Assetsを使うときや、自分で設定を設計するときは、リンクインジケータを気にすることが重要で、今の設定変更を適用する対象が、このプロジェクトのすべてのプラットフォームなのか(リンクしている)、選択中のプラットフォームだけなのか(アンリンクしている)、確認します。(20)

プラットフォーム別のリンクインジケータの隣にあるRTPCインジケータを見ると、Driver BにはRTPCカーブが存在することが、色で分かります。RTPCタブを開き、そのカーブを見ます。

 Picture11


カーブは、モーション出力がY軸で表され、常にモーションが出力され、それがTime ModulatorであるX軸を選択することで時間の長さが決まる単純な直線です。Time Modulatorをダブルクリックすると、設定内容がModulator Editorに表示されます。実はこのカーブのLoop CountInfiniteに設定されているのが分かります。また、モーションはEventによってトリガーされ、このEventが停止したときに初めて停止します。

使用例として、プレイヤーが発電機の近くや、静かに作動し続ける機械類に囲まれているようなゲームレベルにいるときが考えられます。

オシレーション

  • Complexというバーチャルフォルダから、OscillationというSFXProperty Editorにロードします。
  • Contents EditorでWwise Motion Sourceをダブルクリックし、Source Editorにロードします。
  • Wwiseツールバーのプラットフォームセレクタで、PS4を指定します。

Source EditorのEffectsタブを開くと、Actuator Configurationの設定がPS4 2 Channelになっていますが、これは選択中のプラットフォームであるPS4に指定されたもので、Low FrequencyアクチュエータはDriver Eに設定、High FrequencyアクチュエータはDriver Fに設定されています。また、PS4High Frequencyアクチュエータの強さを相対的に増加させるために、小さいオフセット値が適用されています。

Picture10-1

Internal Driver Channelsを見ると、RTPCが設定されたドライバーが7個あるのがすぐに分かります。RTPCタブを開きます。

Picture13

このモーションアセットは明らかにLoop Moderateよりも複雑で、ドライバーやカーブは7種類もあり、そのうち2個だけが、選択中のプラットフォームに該当します。PS4用のDriver EFをハイライト表示すれば、それぞれのカーブを確認できます。(21) ただ、どのプラットフォームでもカーブの意図は同じで、回る動きを表現します。

バイブレーションが左から右へ、右から左へと、わずかにオーバーラップしながら移動していくうちに、あるいは4チャンネルのコントローラであれば左下から左上、左上から右上、右上から右下というように動いていくうちに、手に伝わる物理的な感触が、水門の弁を回しながら閉める動作とかなり似ています。ほかにも抽象化できるオシレーション動作として、ツイスターでグルグル回されたり、フィギュアスケートでクアドラプルアクセルを飛んだりするときの感覚を再現してくれるかもしれませんが、後者の場合は目の回るループ動作をあえて制御しなければ、選手が氷上に落ちて転び、全く違うモーションフィードバックを発生させるハメになってしまいます。

オフロードの地面

  • Context > Vehicle というバーチャルフォルダから、Off-Road DirtというSFXProperty Editorにロードします。
  • Contents EditorでWwise Motion Sourceをダブルクリックし、Source Editorにロードします。
  • Wwiseツールバーのプラットフォームセレクタで、Xbox Oneを指定します。

Source EditorのEffectsタブで、Actuator Configurationの設定がXbox One 4 Channelになっていますが、これは選択中のプラットフォームであるXbox Oneに指定されたものです。Low FrequencyHigh FrequencyのアクチュエータはDriver ADriver Bに設定され、関連するRTPCもありますが、TriggerのアクチュエータはCDに設定され、RTPCStateやオフセット値は設定されていません。

Picture14

車両の後ろといった状況でない限り、オフロード感を出す振動を再生する為に、あらたなトリーがは不要かもしれません。。とはいえ、これらのアセットからモーションオブジェクトを自分で作ったり、直接編集したりできることを頭に入れておいてください。もしかしたら、プレイヤーに送る直接フィードバックを増やしたいと思うかもしれません。例えば車のハンドルをトリガーで操作できるようにゲームエンジンで設定すれば、ドライバー(運転手のことでない(笑))が多少振動した方がいいかもしれないし、運転中にハンドルを切ったときだけ、トリガーのバイブレーションが発生するようにもできます。また同様に、トリガーをブレーキとアクセルとして設定したり、クラッチとして設定したりしてもできます。   

Picture15

RTPCタブを開くとOff-Road DirtというSFXが今までの例と少し違うのが分かります。必要なドライバーは2つだけですが、実はカーブが3つあります。理由は、Driver ATimeLFO Modulator2つを適用しているからです。Driver ADriver BTime Modulatorは両方とも低密度の直線(そして無限のループ)であるのに対し、Driver ALFO Modulatorを開いてみると、Randomな変更で、Depth Varianceが最大85%に設定されています。

その結果、Driver Bから出てくる継続的なHigh Frequencyバイブレーションは、例えば安定したモーター振動などを表し、Driver ALow Frequencyバイブレーションは、舗装されていない地面を走るタイヤの振動を表しているのかもしれません。もちろん、ここで大事なのは、地面がガタガタしていればタイヤの振動も変化するはず、ということです。LFO Modulatorによる予測不可能な小さな動きで、求めている没入感に近づけます。

イベントを作成する

こういったモーションオブジェクトの再生方法は?答えはオーディオオブジェクトの場合と同じで、イベントをコールするのです。これはモーション特有のことではないので詳しく説明しません。ただせっかくなので、演習を完成させるために、Project ExplorerEventsタブを開いてください。


  • Default Work Unitを選択します。
  • ショートカットメニューを使い、新しいPlay Eventを作成します。私は、Play_offroad_dirtという名前にしました。もう、次に何をするのか分かりますね。  
  • Event Editorを開き、Play_offroad_dirtというEventTargetフィールドで、先ほどみたMotion AssetであるOff-Road Dirtを探し、選択します。
Picture16

ほかのイベントと全く同じ方法でコールしてモーションを起動するイベントが、完成しました。もちろん、このモーションオブジェクトは無限ループなので、これに紐づけて使うStopイベントも同じように作成するのを忘れないように。Play Eventをコールしモーションオブジェクトを起動するのと同様に、Stop Eventをコールしモーションを停止させます。

1つのイベントでオーディオとモーションを一緒に再生することも可能で、よく行われます。オーディオからモーションを再生するのと比べ、モーションオブジェクトとオーディオを個別に設定することのメリットは、先ほど触れた制約条件を回避できることです。心を奪われるようなスピーチを再生するのと同時に、大事な論点を強調するようなモーションソースのRTPCをいくつか合わせ、一緒に再生できます。言葉による動きやフィーリングを伝えるため、または単に大事な部分に柔らかい感触を加えるために、使います。

ゲームパラメータ

もちろん、常にPlayイベントをコールしないといけないのはオーディオの場合と同じように、理想的ではありません。代りに、モーションオブジェクトをゲームのパラメータに直接つなげることができます。Wwiseで設定するゲームパラメータと、実際のゲームのパラメータを、プログラミングでリンクさせます。

別のMotion AssetであるParametrized RPMが、Context > Vehicleというバーチャルフォルダにありますが、Motion Sourceドライバーをゲームパラメータにマッピングできます。Wwise Game ParameterオブジェクトとRTPCを合わせて使うのは一般的なので、驚かないと思います(22)

Picture17

RPMのゲームパラメータ値が、ゲーム内の該当するプロパティにマッピングされていて、例えばゲームから75という値が返されると、Driver Aのカーブは0.4を少し超えた値を返し、Driver Bは約0.15を返す、などといった使い方です。

注意すべきポイント

沢山のMotion Assetsがあり、簡単に作成してゲームに適用できるので、モーションデザイナーがWwiseで一番気を付けなくてはいけないのは、「やり過ぎ」だと思います。アクチュエータが4個、あるいはそれ以上あるからといって、必ず使わないといけないわけではありません。オーディオよりモーションの方が繊細だということを、忘れないでください。モーションエフェクトがもたらすメリットを、正しく判断してください。どのようなケースでも、必要ですか?

また、個別のケースにとらわれてしまうのも、避けなければなりません。あるオブジェクトでモーションが素晴らしい出来だったかもしれませんし、別のオブジェクト10個くらいでも、良かったとしても、それらがすべて同時再生されると?個別には優れたモーションオブジェクトでも、それが数百個も同時に再生されると?オーディオの話であれば、人間の脳が大部分の音を「バックグランドノイズ」と認識して無意識に排除し、目前の大きくて大事な音だけに集中する場合もあります。一方、モーションエフェクトがたったの2個か3個、同時に再生されるだけで、ハードウェア的に多すぎることもあり、先ほどMotion from audioの例で挙げたクラシック音楽を元にモーションを出力するのと似てくるかもしれません。

それはともかく、一番の間違いはモーションデザインに充分な時間をかけず、結果として充分に検討しないことです。もちろん、スケジュールがタイトな中、難しいかもしれません。ただし良い結果を得るには、計画性と一定の実験時間が必要です。



今後の動向

ビデオゲームと、それを超えた世界でのハプティックフィードバックの将来性は魅惑的です。様々な用途を検討中の研究者が、何人もいます。例えば、ある調査では、異種モーダルを組み合わせ五感に対するアウトプットとして、椅子に16個のボイスコイルを背中から太ももにかけて配置し、耳の聞こえない人や難聴の人に座ってもらい、音楽と、その音楽から予想される感情的な反応を、ハプティックフィードバックで伝えて分析した例があります。(23)

純粋な研究活動は別として、ハプティックフィードバックの椅子を想像すると、D-BoxWwiseに戻ってきたら面白いのに、と思います。あるいは、ベストのような着るタイプのハプティックフィードバックもなかなかいいかもしれない。ファイトゲームで胸に蹴りを入れられたときに、本当に何かを感じる場面を想像してみてください。私たちは今、業界の主要デベロッパー達と話している最中です。

こういった活用方法は、さらなる没入感につながるチャンスを提供します。VRARの分野で特に注目されるかもしれません。

Wwiseは既にMotionをサポート

気が付いたかもしれませんが、Wwiseでは合計8個のアクチュエータをアサインできるのですが、現行Actuator Configurationでサポートされているのは、最大4個です。これは、現在出ているコントローラに合わせた設定だからです。ただ将来的に状況が変われば、あと4個を簡単に追加できるようになっています。それがいつどのようになるかは、予測できませんが、需要に応える準備ができています。

基本は不変

この業界で、ハプティックフィードバックの未来がどうであれ、そしてWwise Motionがどう対応するかに関わらず、ここで私が簡単に説明したモーションの基礎的な枠組みは存続します。とはいえ、モーションを使いこなす方法は多岐に渡り、多くの場合、自分が求める結果にたどり着くまで実験の繰り返しが必要です。私たちが用意したPresetsを使えば少しは楽になりますし、それを改修して自分の具体的なニーズに合わせることも恐れないでください。

ブログ1つでは、モーションの範囲をいかに限定したとしても、その可能性に触れる程度しか紹介できません。とはいえ、このサマリー記事で、Wwiseのモーションが基本的にはサウンドデザインと一緒だということを感じ取ってもらえたら嬉しいです。同時に、考慮すべき違いもあることを明確に説明できたことを願っています。そして何よりも読者に、モーションとオーディオがどれだけ結び付いているのか、そして成長中のこの技能を見直すことが、どれだけ私たち全員のメリットになるのかを理解してもらい、これからのイノベーションに対応する準備をして、新たなレベルの最前線で活躍できることを、期待しています。

Screen Shot 2017-12-14 at 5.24.24 PM.png1. セガが初めて1976年にアーケードレーシングゲームMoto-Crossにハプティックフィードバックを導入。“Fonz (video game)”. Wikipedia.  https://en.wikipedia.org/wiki/Fonz_(video_game), 閲覧日2018102.
2. Ng, Annie W.Y.; Chan, H.S. (2012). Finger Response Times to Visual, Auditory and Tactile Modality Stimuli. Proceedings of the International MultiConference of Engineers and Computer Scientists 2012 Vol II. 香港 http://www.iaeng.org/publication/IMECS2012/IMECS2012_pp1449-1454.pdf. 
3. Moreno, Maggie and Weddle, Amaya Becvar. (2013). The Value of Multimodal Feedback in Automotive User Interfaces Literature Review.(pp 8-9). Retrieved from https://pdfs.semanticscholar.org/0842/de0cd6cf8b6747d438a4bd9006e255229453.pdf.
4. “Sound Advice”. Develop 176. 2016年10. p.44.
5. 同上 p.43.
6. GameDesigning.org. “Video Game Sound Design 101”. 2018年527https://www.gamedesigning.org/learn/video-game-sound/ 閲覧日2018102.
7. Audiokineticは、 Wwise 2008.2.1 からモーションに対応しています。
8. 残念ながら、Windows限定です。
9. “プラグイン.” https://www.audiokinetic.com/products/plug-ins/motion/.なお、非推奨となったWwise Motion Generatorと新Wwise Motion Source2つのプラグインが、Wwise Motionライセンスに含まれます。
10. プラグインWwise Motionは、Project ExplorerShareSetsタブにあるWwise Motion Audio Deviceに対応します。
11. WwiseのSDKドキュメンテーション“Integrating Wwise Motion”. https://www.audiokinetic.com/library/edge/?source=SDK&id=integrating__elements__motion.html.
12.  既知の問題点と限界, “ モーション Effectの場合、トリガーモーター(デフォルトと Xbox One)はWwiseオーサリングツールから起動できません。PC UWPアプリケーションでのみ使用できます。 個人的には、オーサリングツール内ではXbox 360コントローラを使うのが好きです。
13. 既存プロジェクトを使っても構いませんが、ここでは図入りで説明するために便利なので、新しいプロジェクトを使っています。また、2018.1.2Wwise Motion Presetsが更新され、プラットフォーム別の設定が追加されました。引き続き、Wwise Motion Source2018.1.02018.1.1で使うことはでき、この演習も行えますが、2018.1.2以降を取得することをお勧めします。
14. SDKドキュメンテーション に、Wwise Motion対応デバイスの一覧があります。
15. ここで、有効なライセンスを適用しても構いません。演習では必要ありません。
16. Plug-in License Agreementについて、OKをクリックする必要があります。今回のようなプロジェクトはパブリッシュされることがなくライセンス無しで進めても問題ないので、ご安心ください。
17. 振動を感じなければ、すべての手順を正しく行ったか、再確認してください。それでも振動がなければ、コントローラがコンピュータに正しく接続されているかを確認してください。コンピュータによっては、USBフロントポートにフルパワーがいっていないこともあるので、バックポートにコントローラを接続してみてください。
18. 最初の演習で新規プロジェクトを作成せず、あなたの開いているプロジェクトにMotion Assetsが入っていなくても、ProjectメニューからImport Factory Assetsダイアログを開き、Motion Presetsを有効にして、Importをクリックすれば、簡単にMotion Assetsを追加できます。
19. 前述のとおり、Wwiseエンジン側のWwise Motionプラグインには既知のプラットフォーム用の設定が準備されているほか、3つの匿名コンフィギュレーションもあり、これらはその他の、または名前のない将来的な、プラットフォーム用です。社内で独自のモーションプラグインを定義している場合などは、設定が異なることがあり、さらに、新しいハードウェアに対応しているかもしれません。
20. プラットフォームのリンク・アンリンクの詳細は、WwiseHelpにある1つのプラットフォームで、プロジェクトのエレメントを除外するのページを参照。
21. 各ドライバーの役割をメモとして残せるようにNotesを追加し(右端の列)、あなたが選択したプラットフォームに、どれが対応しているかを簡単に思い出せるようにしました。
22. ゲームパラメータの使い方については、HelpRTPCで使う、Game Parameterの管理と、そのサブページを参照。
23. Karam, Maria; Russo, Frank; Fels, Deborah. (2009). Designing the Model Human Cochlea: An Ambient Crossmodal Audio-Tactile Display. Haptics, IEEE Transactions. 2. 160-169. 10.1109/TOH.2009.32.
 

マクシミリアン・シマール・ポワリエ(MAXIMILIEN SIMARD POIRIER)

サウンドデザイナー兼デベロッパーリレーションズ担当

Audiokinetic

マクシミリアン・シマール・ポワリエ(MAXIMILIEN SIMARD POIRIER)

サウンドデザイナー兼デベロッパーリレーションズ担当

Audiokinetic

マクシミリアン(マックス)は、ゲームやVR向けのインタラクティブオーディオデザイナーとして活躍中。現在はモントリオールを拠点とし、Audiokinetic在籍のサウンドデザイナーでもある。モントリオール大学でデジタルミュージックの学士を取得し、今までに数多くのプロジェクトに携わる。作品例: Time Machine VR、モバイルのヒット作Pewdiepie’s Tuber Simulator、さらにResident Evil VIIのサウンドトラックなど多数の作品に貢献。熱心なミュージシャンでゲーマーのマックスは、常にインタラクティブメディアの新しい取り組みを目指し、自分のナレッジや経験をコミュニティと積極的に共有している。ゲームオーディオやバーチャルリアリティについてのレクチャーを頻繁に開催。最近では、モントリオールのComicCon、Symposium IX、Montreal International Games Summit (MIGS)、コンコルディア大学、モントリオール大学などで講演。

 @maxspsound

コメント

Replyを残す

メールアドレスが公開されることはありません。

ほかの記事

A Wwise Unity Cheat Sheet

今日のトピックは、Wwise Unity...

2.2.2021 - 作者 マス・マレティ・スナロプ(MADS MARETTY SØNDERUP)

誰でも使えるWAAPI パート2: wwise.core

16.3.2021 - 作者 トーマス・ワン(汪洋)

新WAQL(Wwise Authoring Query Language)の紹介

9.6.2021 - 作者 ベルナール・ロドリグ(Bernard Rodrigue)

ダイアログ|WwiseとUnreal Engineのナレーション

15.2.2022 - 作者 ジェイク・ガムリン(Jake Gamelin)

Wwise 2022.1におけるSDKランタイムパフォーマンスの改善

この記事ではWwise...

1.3.2023 - 作者 デビッド・クルックス

ReaWwiseを使用してWAAPIをReaScript(Lua)で実行する

22.3.2023 - 作者 アンドリュー・コスタ