menu
バージョン
2017.1.9.6501
2024.1.6.8842
2023.1.13.8732
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
menu
2024.1.6.8842
2023.1.13.8732
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
クロスフェードトランジションをRandom ContainerやSequence Containerで使う時に、特に注意すべき点を以下に示します。
オーディオファイルの長さ
オーディオファイルの長さは、0.2秒以上なければなりません。
クロスフェード時間は、最低0.1秒です。
クロスフェード時間とオーディオファイル長さの関係
サウンドAからサウンドBにクロスフェードする場合に、サウンドエンジンが許容できる最大クロスフェード時間は、オーディオファイルAの長さの1/2です。クロスフェード時間が許容できる最大時間よりも長いと、クロスフェード時間がフェードアウトしていくオーディオファイルの長さの半分になるように、自動的に調整されます。
info | 注記 |
---|---|
コンテナにクロスフェード時間の長すぎるオーディオファイルがあっても、Wwiseでそれを制限したり表示したりすることはありません。クロスフェード時間の調整が必要であれば、ランタイムにサウンドエンジンが行います。 |
ピッチとクロスフェード
コンテナのピッチ値をRTPCで設定したり、コンテナの再生中にSet Pitch Event Actionがトリガーされると、サウンド間でクロスフェードが適用された時に予期しない結果が発生するかもしれません。
ソースプラグインとクロスフェード
クロスフェードをソースプラグインに適用すると、ソースの終わりが判断できずにクロスフェードが無視されることがあります。例えば、Sineで生成したソースの長さがRTPCに依存している場合などに、これが起きます。このような時はクロスフェードが無視され、クロスフェードのないトランジションとなります。
Switch Containerとクロスフェード
Switch ContainerがSequence Containerの子である場合は、SwitchにアサインしたWwiseオブジェクトの数によってクロスフェードトランジション適用の仕方が変わります。
2つのボイス
サウンドエンジンは、クロスフェード時に2つの別々のボイスを使います。
バーチャルボイスとクロスフェード
バーチャルボイスの動作設定であるPlay from BeginningやResumeは、設定の意図からしてボリュームスレッショルド(閾値)より小さくなった時やPlayback Limitを超えたとき、サウンド長さに影響しますが、クロスフェード時間のメカニズムはこれを考慮できません。
ボイスは、スレッショルド以下のボリュームになると、バーチャルボイスに変わるかもしれません。どのようなサウンドでも、スレッショルドに対して比較するボリュームは、そのサウンドの全オーディオチャンネルの実際の有効ボリュームです。つまりActor-Mixer Hierarchyの様々なボリューム、フェードトランジション、インタラクティブミュージックのトランジション、RTPC、State、ポジショニング、減衰などの結果です。
フェードトランジションの作用も、サウンドの有効ボリュームを計算する上で影響します。ランダム、シーケンス、Blend Containerの中のクロスフェードトランジションでは、フェードしていくサウンドが一定期間、ボリュームスレッショルド以下になる可能性が高くなります。スレッショルド以下の動作設定が「From Beginning」や「Resume」であれば、実際の長さが、コンテナのロジックで予想する長さよりも、長くなります。結果として、予期しない動作が生じます。さらに悪い状況として、スレッショルド以下でフェードアウトしたサウンドが、あたかも(つまり「バーチャル」には)再生停止となり、永遠に再生し続けてしまいます。その結果、引き続き他のサウンドをシーケンス再生することを、コンテナがやめてしまうかもしれません。
結論として、このようなタイプのバーチャルボイスを、クロスフェードトランジションを使ったコンテナに使うのは避けるべきです。このようなコンテナでバーチャルボイスを使いたい場合は、動作設定をPlay from elapsed timeにします。