CriWare Unreal Engine
Plug-ins for CriWare solutions.
読み取り中…
検索中…
一致する文字列を見つけられません
Atom Modulation Parameter アセット

概要

Atom Modulation システム内では、パラメータは正規化された値を使用して変更されますが、ユーザー インターフェイスとして単位空間 (dB 単位など) で指定することもできます。
編集項目の単位ビューは、値がどのように解釈されるかを直感的に表す要素です。
デフォルト値は、AtomModulation によってパラメータが変更されない値に設定されます。


このボリュームのデフォルト値は、他のパラメータ調整(AtomComponent のボリューム乗数など)によって乗算されても効果がない値(1.0)に設定されています。
同様に、ピッチのデフォルトは正規化空間では 0.5f (単位空間では 0.0 セミトン) です。ピッチは +/- なので、デフォルトは 0.5 です。

覚え書き
パラメータに関する開発者向けメモ: コードでは、基本クラス UAtomModulationParameter は単位空間と正規化空間から継承し、GetMixFunction で値を混合し、両方の空間間で値を変換できます (GetUnitConversionFunction と GetNormalizedConversionFunction)。GetMixFunction は FModulationMixFunction を返します。これは、2 つの浮動小数点バッファーのペア (InValueBuffer) とともに渡され、OutValueBuffer (正規化空間の値を含む) に混合されます。

変調ソースとミックスステージ

Atom Modulation は、さまざまな種類の Modulation Source アセットを提供します。
これらは Modulation Destination によって参照することができ、特定の状況下では相互に参照することもできます。
これらのタイプには、コントロールBus、モジュレーション ジェネレーター、モジュレーション パッチが含まれます。
コントロールBusミックスはモジュレーション ソースではありませんが、コントロールBusで使用される値を更新することに注意してください。

次のフローチャートでは、各矢印は値処理パイプラインを表します。
宛先は最終的な出力であり、入力値はパラメータ タイプに基づいて混合されます。
デフォルトのミックス メソッドは、すべての結果値を単純に乗算します。
値がBus Mixからの出力の場合、BusMixでミックスされ、Patchで再度ミックスされて、Destinationに出力されます。


モジュレーション先とは何ですか?

音源やエフェクトなど、さまざまなパラメータを適用できます。
これらが適用される宛先は、変調宛先と呼ばれます。
参照変調ソースによって変調できます。


  1. サウンドパラメータオーバーライドのデフォルト値

  2. 変調を有効/無効にします。

  3. 対象のサウンド パラメータを指す AtomControlBusアセット。

モジュレーション先は以下のとおりです。また、各種プロパティからパラメータを変更できます。
サウンドサブミックス AtomRack、AtomBus、 -Effectプリセット、 サウンドクラス (AtomSoundClass)、 サウンドの種類 (AtomSoundWaves、AtomSoundCues など、一般的には AtomSoundBase クラスから継承されるもの)

Atom Modulation で制御できるパラメータには、ボリューム、ピッチ、ハイパス、ローパス、AISAC コントローラなどがあります。

モジュレーション宛先には 3 つの基本プロパティがあります。

  • パラメータに対応する単位に基づく単位空間内の値

  • 変調を有効/無効にするチェックボックス

  • モジュレーションソースオブジェクト(コントロールBus、モジュレーションジェネレーター、またはモジュレーションパッチ)

AtomControlBus アセット

デフォルトでは、バスは参照されたパラメータ プロパティで設定された値を受け取ります。バイパス チェックボックスが選択されている場合、バスは無視され、バスによって駆動される入力に混合されません。



「バイパス」チェックボックスをオンにすると、バスは無視され、バスによって駆動される入力に混合されなくなります。

コントロールBusミックス (またはBusミックスの配列) を介してBusを操作する場合、クライアントは OSC スタイルのアドレスを使用してミックス値を調整できます (「フィルターによるコントロールBusミックスの設定」を参照)。

バスをアルゴリズム的に駆動するための「AtomModulationGenerator」アセットのリストを提供することもできます。

モジュレーションパッチ

注意
この機能は将来実装予定のため、ver. 2.01.00 では動作しません。

モジュレーション パッチは、ハードウェア モジュレーションの「パッチ ベイ」として機能しますが、入力バス値機能を提供できるという点でさらに強力です。

モジュレーション パッチは、理論的に可能な興味深い方法で、パラメーター バス値を宛先に再ルーティングしてミックスします。
ステージをバスの配列に同時に適用するコントロール バス ミックスとは異なり、パッチはバス値を組み合わせて、それらを宛先に順番にミックスするために使用されます。

AtomControlBusMix アセット

コントロールBusミックスには 2 つの主な機能があります。

  • 実行時に制御Busに設定された変調先への出力の値を動的に更新します。

  • 複数のコントロールバスをグループ化 1 つのコントロールBusを複数のコントロールBusミックスで使用したり、1 つのコントロールBusミックスで複数のコントロール バスを同時に更新したりすることも可能です。



AtomControlBusMixアセットには Mix Stage という配列があり、この配列に AtomControlBusアセットを指定することで Control Bus Mix で制御できるようになります。

ミックス ステージの各要素には、値 (単位空間と正規化空間の両方で表示)、アタック タイム、リリース タイムがあります。
アタック タイムは、ミックス ステージの値がデフォルト値 (そのバスのモジュレーション パラメータによって定義) から、ミックスを有効にしたときに指定した値に変化するのにかかる時間です。
リリース時間は、ミックス ステージの値が現在の値からデフォルト値に戻るまでにかかる時間を表します。

コントロールBusミックスアセットを編集する場合、詳細パネルには次の機能を提供するボタンが表示されます。

  • コントロールBusミックスを有効/無効にする

  • 他のコントロールBusミックスを無効にする

  • すべてのコントロールBusミックスを無効にする

ミックス プロファイリングを使用すると、ルーズ構成ファイルとして保存されたさまざまな設定をテストできます。
これにより、最終段階での迅速な反復が可能になり、非出荷ビルドでミックスをテストする場合や、開発中に新しいミックスをテストする場合に非常に便利な機能になります。
また、ユーザーが作成したミックスを出荷ビルドにロードするためにも使用できます。
ミックス プロファイルは、プロファイルからミックスを読み込む機能とプロファイルにミックスを保存機能を使用して、<ProjectDirectory>Saved\Config\AtomModulation<RelativeContentPathToObject> にある複数の .ini ファイルに読み込まれ、保存されます。
ミックス プロファイルは、プロファイル インデックス プロパティを通じてインデックス付けされます。

モジュレータの有効化

参照されていない場合、モジュレータは無効になります。
コントロールBusへのすべての参照が削除されると、コントロール バスは無効になり、オーディオ再生スレッドに更新を防止するように通知されます。

現在の制限

Atomプラグインと同様に、Unreal Engine の元の API の大部分が保持されるため、 Atom Audio Engine や、インターネットで見られる Unreal Audio のアセットと同じ手法を使用できます。

現在の実装では、Modulation Patch と EvelopeFollower はまだ追加されていませんが、随時追加される予定です。

参考文献

https://docs.unrealengine.com/5.1/en-US/overview-of-audio-modulation-in-unreal-engine/