menu
バージョン
2015.1.9.5624
2024.1.4.8780
2023.1.12.8706
2022.1.18.8567
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
2024.1.4.8780
2023.1.12.8706
2022.1.18.8567
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
ゲームのモーション(Motion)を作成する前に、以下のセクションに目を通して、Wwiseでモーションを効率的に管理するための、事例、コツ、ベストプラクティスを参照してください。
モーションデータの方が、使用するサンプル数が少なく、ランタイムにフィルタリングやリサンプルが不要で処理能力を節約できるため、時間に余裕があれば、モーションを既存のサウンドから直接生成するのではなく、モーションFXオブジェクトを使って作成し実装して下さい。
ゲームコントローラの再生機能には限界があります。ゲームコントローラで再生できるモーションエフェクトが限られているため、多様なモーションエフェクトの違いをプレイヤーが感じ取るのが難しく、特に複数のエフェクトが同時に再生されると、分かりにくくなります。このため、一度に再生できるモーション数を1つに絞るようにすると良いでしょう。
ゲームコントローラは、高電力型USBポートに接続してください。ゲームコントローラがモーションオブジェクトを再生しない時は、ゲームコントローラが高電力型USBポートに接続されているか、確認してください。USBポートの電源がモーションデバイスを動かすのに不充分だと、OSやデバイスを保護するために、システムがデバイスをアンマウントします。なお、コンピュータの前面にあるUSBポートはモーションデバイスを稼働させるだけの電力を提供できないことが多いので、後面にあるUSBポートに接続してください。
Xbox 360やPlayStation 3のコントローラにある、大小のモーターのモーションの長さを、大小で変えたい状況も考えられます。プラグインWwise Motion Generatorのモーション長さの設定は全カーブに適用されてしまうので、このようなモーション効果は1つのソースだけでは実現できません。対策として、以下の方法があります。
Wwise Motion Generatorをソースとする、モーションFXオブジェクトを2つ作成する。
1つ目のモーションFXオブジェクトで、大モーター用のカーブを生成し、カーブの時間を設定し、小モーターのカーブを「0」の水平線にする。
2つ目のモーションFXオブジェクトで、小モーター用のカーブを生成し、カーブの時間を設定し、大モーターのカーブを「0」の水平線にする。
2つのモーションFXオブジェクトを、同じイベントを使ってトリガーする。
このイベントをWwiseで再生する時は、Event Editorの、PF exclusionオプションをソロ・ミュートボタンとして使うこともできます。
Wwiseで作成したモーションを、特定のモーションデバイスで再生できない場合は、Profilerでトラブルシューティングをします。Advanced Profilerでモーションデータをキャプチャーするには、以下を行います。
F6を押して、Profilerレイアウトに切り替える。
メニューバーで、Project > Profiler Settingsをクリックする。
Motion Dataオプションを選択して、OKをクリックする。
Advanced Profilerに、Motion Devicesタブが追加されます。
これで、ゲームに接続してモーションをプロファイリングして、問題を洗い出せるようになります。Motion Devicesタブには、DevicesとGame Objectsの、2種類のリストが表示されます。Devicesリストは、サウンドエンジンに正しく登録され初期化されたモーションデバイスを、プレイヤーごとに表示します。
トラブルシューティングをするには、まずモーションデバイスが正しく初期化されているかを確認するために、以下を行います。
全てのモーションデバイスが、Deviceリストに表示されているかを、確認する。もしデバイスがリストになければ、AK::MotionEngine::RegisterMotionDeviceへのコールが失敗している。
モーションデバイスがリストにあれば、そのモーションデバイスが特定のプレイヤーに関連付いているかを、以下で確認します。
デバイスと正しいプレイヤーが結び付いていることを、チェックマークの有無で確認する。あるプレイヤーのチェックマークがなければ、以下のいずれかの可能性がある。
AK::MotionEngine::AddPlayerMotionDeviceへのコールが、失敗した。
AK::MotionEngine::RemovePlayerMotionDeviceが、コールされた。
もしモーションデバイスが正しく初期化され、正しいプレイヤーに関連付いているのであれば、Game Objectsリストを見て、特定プレイヤーにモーションデータを送れるように、ゲームオブジェクトが正しく設定されているかを確認します。もしゲームオブジェクトとプレイヤーの特定の組み合わせのチェックマークがない場合は、Advanced Profilerの、Listenerタブに切り替えて、以下を確認します。
Listnerリストで、モーションデータを受信していないプレイヤー番号を、Players列から探し、そのプレイヤーがモーションデータを受信するために利用しているリスナーを、確認する。もしプレイヤーが正しいリスナーを使っていなければ、AK::MotionEngine::SetPlayerListenerへのコールを検証する。
プレイヤーが正しいリスナーを使っていれば、プレイヤーに関連付いているリスナーの、Motion列にチェックマークがあることを確認する。もしなければ、AK::SoundEngine::SetListenerPipelineを正しくコールしているかを検証する。
チェックマークが入っていれば、Game Objectリストを確認して、そのプレイヤーが使っているリスナーが、モーションFXを再生するゲームオブジェクトに対して、有効になっているかを検証する。リスナーがゲームオブジェクトに対して有効になっていなければ、AK::SoundEngine::SetActiveListenersへのコールを検証する。