更新日付
2023-11-30
概要
CRI ADXR、CRI SofdecRの機能追加、不具合修正および仕様変更を行いました。
ツール・ライブラリ
CRI Atom Craftツール :3.50.06
Sofdec Tools :2.24.01
ADX / Sofdecライブラリバージョン:ADX2_SDK_Ver.2.25.02_Sofdec2_SDK_Ver.2.24.01_ForUE_V2.01
- 注意
- お問い合わせの際にはバージョンチェッカー(wizz)でのライブラリバージョンを表記してください。
ADX
マルチポジショニング機能
マルチポジショニングは サウンドを複数再生しているように見せつつ、一つの再生単位(ボイス)で完結する機能 です。
例えば、水際で水が壁に当たるようなサウンドを鳴らすためにはADXでは点音源なため、複数のサウンドを配置して近似する必要があります。
しかし、サウンドを複数の箇所に配置することは以下のようなデメリットがあります。
- 処理負荷が高くなる
- リソースを多く消費する
- 再生や停止といった制御が煩雑になる(同時に再生、停止を行う必要がある)
そこでサウンドの聞こえ方(距離減衰や定位感)を計算する際に複数の位置から算出することでプラグイン層でのリソース削減などを実現できます。
メリット :
飛行機のエンジンなど両翼で2箇所or4箇所で常に同じ音が鳴り続ける場合などは向いています。
以下の条件を満たす場合は活用すると効果的です。
- 再生タイミングが同期している
- フェードイン・アウトなどの音声パラメータの制御をまとめてやりたい
デメリット :
再生単位が1つとなるため、例えばパーティクルと一緒にサウンドを鳴らしたい(再生タイミングが異なる)場合には利用できません。
しかし、代替としてConcurrency機能(後述)を使えば同様に再生数を抑えることができます。
発話数制御(Concurrency:コンカレンシー)
一部機能はAtomCraftでも設定が可能ですが、ACBを跨いだ発話数制御などの複雑な設計が可能な機能です。 できることは以下の通りです。
- 発話数上限の設定
- 発話数上限に達した際停止するサウンド候補の条件
- 発話数上限に達したことが原因によるサウンド停止時のフェードアウト時間
発話数上限に達した際停止するサウンド候補の条件
発話数が上限を超える場合にどのように発話数を制限するかを設定可能です。
メリット :
Cue単位での設定などではなく任意のサウンド(ここでは再生単位を示す)を1つのグループとして再生数制御をするため、より柔軟に発話数制限をかけることができます。
特にパーティクルを大量に出す(雨1つずつに音鳴らす。爆発の破片が転がる音を1つずつ鳴らす)場面では以下の画像のように負荷軽減やサウンドの音割れ防止を行うことができます。
Concurrencyなし
Concurrencyあり
Sofdec
ManaSoundComponentの距離減衰領域をワイヤーフレームで可視化
RELEASE NOTES (以下の細部に関する翻訳は割愛します。)
ADX
機能追加
- CriWareCoreSubsystemクラスをAtomRuntimeの初期化用途として追加しました。
- AtomSoundScapePluginを追加しました。
- 12チャンネル(7.1.4)での再生に対応しました。
- サウンドの自動管理のためにAtomMixerを追加しました。
- AtomGameplayMutatorsにActiveSoundのトランスフォームアクセスを追加しました。
- AtomGamePlayVariablesのセット関数をAtomComponentクラスに追加しました。
- AtomCompoenentのサウンド減衰にMultiPositioning機能のサポートを追加しました。
- AtomMultiPositioningのヘルパー機能、Visualize機能を追加しました。
- AtomConcurrency機能を追加しました。
- CriWareCoreのプロジェクト設定にAtomSoundClassとConcurencyのデフォルト値を設定できるようしました。
- AtomSoundCueとAtomSoundWaveのアセットサムネイルに、"ループ"と "atom playerによるパラメータの無視"のアイコンを追加しました。
- AtomAttenuation、AtomSoundClass、AtomConcurrencyに素早くアクセスできるように、Atom Editor設定のブラウザコンテキストメニューにアセットをピン付けしました。
不具合修正
2.01.00 Release
- Modulationルーティングリスト内に含まれないAisacControl値をAtomComponentのSetAsisacValueメンバ関数で変更しようとした際に、変更が適用されない不具合を修正しました。
- SoundBankのPostLoad関数内でCacheInheritedLoadingBehaviorが二重に呼ばれてしまう不具合を修正しました。
- CueSheetをリインポートした場合に、Cueの距離減衰の値が更新されない不具合を修正しました。
- CRI Atom Encoderツールで生成されたウェーブバンクをUnrealEditorで読み込む際、シーケンシャルでないWaveID番号を使用するとクラッシュする問題を修正しました。
- UnrealEditorでAtomAttenuationSettingsを編集できない問題を修正しました。
- AtomツールバーのショートカットメニューからAtomプロジェクトの各機種プラットフォームにアクセスできない問題を修正しました。
- データ読み込み動作が AtomSoundBank で定義されていない場合、statsリソースマネージャビューのアサート発生する問題を修正しました。
- Cuesheetで使用されるWaveBankがリソース・マネージャーで見つからない場合の再保存が正しく動作しない不具合を修正しました。
- AtomMonitorのウィンドウを移動する際のアサートが発火する問題を修正しました。
- AtomBus のメンバ関数SetEffectPresetに引数NULLを指定した際にクラッシュしてしまう問題を修正しました。
- AtomSoundBaseClassがゲーム内でTickableではなかった問題を修正しました。
- Atomサウンドのシーケンサートラックの波形再生処理が正しく動作していない問題を修正しました。
- シーケンサー内でのAtomサウンドのループ処理が正しく動作しない問題を修正しました。
- Atomランタイムクロックを修正しました。マスターラックのレンダリング時間を使用するようになりました。
- WaveInfoのGetDuration()関数が、複数のチャンネルを持つサウンドに対して2倍の時間を取得されてしまう問題を修正しました。
- WaveInfo.IsStreamedの値が正しくなかったことが原因による波形が生成できない問題を修正しました。
2.01.01 Hotfix
- Atom SettingsのManaのデフォルトSoundClassを設定できない問題を修正しました。
- デフォルトのサウンドクラスとコンカレンシーの設定からのロードを修正しました。
- CriWareCoreモジュールのロード時に、エディターの配置アクターメニューのアクターが "None "になっていたのを修正。
- エディタービューポートで、DragDropからサウンドベースを配置できない問題を修正。
- LEビルドでMana設定が非表示にならなかった問題を修正しました。
- ACFをインポートした時、またはプロパティ設定でmasterackを変更した時に、デフォルトのcondifが保存されないの問題を修正しました。
- Atomの出力ポートが割り当て不可能で、常にマスターラック(0)に出力されるのを修正しました。ミキサーにおける制限を取り除き、より安全な方法で出力ポートマッピング 'MapOutputPortToRack()' にアクセスするための Atom ブループリント関数を追加。
- AtomConfig が設定されているとき、出力ポートが機能しないのを修正した。
- サウンド再生終了時に AtomComponent の 'OnSoundFinished' イベントが呼び出されず、'Stopped' を含む 'OnSoundPlayStateChanged' イベントが呼び出されるのを修正した。
※1:Note: 複数のアセットがあるワールドを編集する際に、様々なアウトポートを使ってミックスする場合、アウトプットポートはまだ推奨されていません。AtomRuntimeは、サウンドスケープの一貫したイベントやオートメーションを保証するために、サウンドの影響をチェックすることはできません。
仕様変更
- AtomStatisticsにValue項目を追加し、各種パラメータのラベル付けを改善しました。
- GetCategoryStatusByName関数にてカテゴリに属しているサウンドの再生数を取得できるよう変更しました。
Sofdec
機能追加
- ManaSoundComponentの距離減衰領域をワイヤーフレームで可視化できるようになりました。
- ManaPlayerなしでMovieデータをロードするManaAPIを追加しました。
不具合修正
2.01.00 Release
- Sofdec動画をPIEで再生した後、PIE停止時に動画を切り替えるなどの処理を行った場合にエディタがクラッシュする不具合を修正しました。
- Sofdec動画をシークできない不具合を修正しました。
仕様変更
- ディファードレンダリングを利用している際に、Experimentalが付与された機能に対してDoFrameSkippingが無効となるようしました。
PlatfromSDKのアップデート
各機種向けのライブラリはUnrealEngine5.3のリリースノート記載のSDKに準拠しています。
以下のURLより各機種向けのPlatformSDKを確認をし、対象SDKをインストールして本Pluginを利用ください。
https://docs.unrealengine.com/5.3/ja/unreal-engine-5.3-release-notes/