menu
バージョン
2021.1.14.8108
2024.1.4.8780
2023.1.12.8706
2022.1.19.8584
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.19.8584
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
Wwise Unreal Integration Documentation
|
前のセクションではゲームをスタートしたときや、アニメーションの指定したタイミングで、ミュージックを再生させる方法を見ました。ただし、オーディオインテグレーションの部分によっては物理情報の把握が必要になってくると考えられます。次の例では、インスタンス化されたオブジェクトが、ほかの何かに衝突したときに、サウンドを再生させます。
まず最初に、キャラクターの前にあるオブジェクトをインスタンス化することができる、簡単なシステムを作成することをお勧めします。
これを、あなたのCharacter Blueprintに追加します。この'Wwise Object'クラスを作成するには、新しいBlueprint Actorを作成し、1M_Cube MeshのあるStatic Meshコンポーネントを追加し、 Simulate Physics を有効にします。
これで、キャラクターの前のオブジェクトが、Fキーを押すとインスタンス化されます。インスタンス化されたオブジェクトが別のオブジェクトと衝突したときに、サウンドを再生させたいわけです。そのために使うのがUnrealのOnComponentHit Eventで、これをインスタンス化したオブジェクトで有効にします。
'Wwise Object' Blueprint Actorを開き、Static Meshを選択し、 Collision > Simulation Generates Hit Events を有効にします。
このオプションを有効にしたところで、 OnComponentHit Unreal Event を作成します。
Static Mesh を右クリックし、 Add Event > Add OnComponentHit を選択します。
これを、Post Event関数に接続し、自分自身(Self)を参照させることができます。
ところが、このまま再生を押すと、Unrealがどんなに軽微な衝突でもコールしてしまうので、衝突音に圧倒されかねません。そこで些細な衝突はフィルタで排除し、強力な衝撃を検知したときだけサウンドをポストするように変更します。なお、PostEventをコールする前に、これを検知する必要があります。 衝撃の大きさを測るには、物理を有効にしたオブジェクトの速度を参照し、衝撃の方向に関わらず、その大きさを取得し、もし設定した閾値よりも大きければ、コールを通すようにします。
Hit Componentから、コンポーネントの速度(Velocity)の長さ(Length)を取得します。40以上であれば、コールを通します。
これで、オブジェクトがほかのオブジェクトに衝突したときの音の感じが、先ほどよりずいぶん聞き心地がよくなったはずです。ただ、音そのものに依然バリエーションがなく、強い衝撃でも、閾値をギリギリ超えただけでも、同じに聞こえます。そこで、速度をRTPCとしてWwiseに転送します。単純にボリュームを変化させたり、Effectを適用したりして、音に影響を与えることができます。以下は、推奨されるWwiseの設定です:
RTPCの設定は、単純に、同じVector Lengthを使うことにします。なお、RTPCは、Wwise Eventをポストしたのと同じActorに対して設定することを忘れないでください。
Branchから SetRTPCValue 関数を作成し、それをVelocityの VectorLength に接続します。
速度に基づく閾値を設定して、サウンドを再生する方法について、この 動画 で概要を説明しています。