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

概要

Atom Modulation Generator は、時間の経過とともに値をプロシージャルに生成するアセットです。
このアセットはControl Busなどを使って直接設定できるため、時間経過によるパラメータの変化を一つのアセットで表現することができます。

記事「モジュレーターを使用してピッチを調整する方法」では、「AtomControlBus」に「AtomModulationParameter」アセットを設定し、パラメータを動的に変更していましたが、
「AtomModulationParameter」アセットの代わりに「AtomModulationGeneartor」アセットを設定することで、時間の変化に応じてパラメータを更新できます。

Atom Modulation Generatorアセットの作成

次のアイテムからアセットを作成できます。
アセット作成時に「EnvelopeFollower」または「LFO」を選択できます。

Atomモジュレーション ジェネレーター エンベロープアセット

エンベロープフォロワーとは何ですか?

演奏中の音の振幅ピーク値を分析して取得する手法は、エンベロープ フォローイングと呼ばれます。

エンベロープ フォロワーは、入力信号の振幅を追跡し、その変化をレベル値に変換する DSP モジュールです。この値は、エフェクト パラメータ、マテリアル パラメータ、オブジェクト サイズなど、シーン内のさまざまなパラメータを調整するために使用できます...

プロパティ


Bypass

チェックすると、このパラメータは更新されません。

Gain

出力サイズを指定します。

Invert

チェックすると、エンベロープは逆位相になります。

Atomモジュレーション ジェネレーター LFOアセット

LFO とは何ですか?

LFO は Low Frequency Oscillator の略です。 LFO は、通常 20 Hz 未満の周波数でリズミカルなパルスまたはスイープを生成しますが、これは人間の可聴範囲外です。エンベロープ フォロワーと同様に、LFO は、シーン内のピッチやフィルター カットオフなどの他のパラメーターを変調して、ビブラート、トレモロ、フェージングなどの効果を作成するために使用されます。

プロパティ


Common

Frequency

周波数を示します。周波数が高くなるほど、波長は短くなります。

Offset

信号がシフトされる時間。

Bypass

チェックすると、このジェネレーターは使用されず、バイパスされます。

Shape

LFOの波形選択:。

  • 正弦波
    次の波形を出力します。
    ※イメージです。パラメータは反映されておりません。※

  • のこぎり(上)/(下)

    次の波形を出力します。
    ※イメージです。パラメータは反映されておりません。※

  • スクエア

    次の波形を出力します。

    ※イメージです。パラメータは反映されておりません。※
  • 三角形

    次の波形を出力します。

    ※イメージです。パラメータは反映されておりません。※
  • 指数関数的

    次の波形を出力します。

    ※イメージです。パラメータは反映されておりません。※
  • ランダム

カスタムジェネレータの作成

上記のように既存の用意された機能以外にもカスタマイズすることも可能です。
UAtomModulationGenerator クラスには複数のコード生成テンプレートが用意されており、独自の変調ジェネレーターをすばやく簡単に作成できます。
ジェネレーターの作成と登録に必要なすべての定型文は、コード生成中に作成されます。
以下の手順に従ってカスタム ジェネレーターを実装できます。

[ツール] > [新しい C++ クラス] から、[親クラスの選択] モーダル ダイアログ ボックスで [すべてのクラス] チェック ボックスを選択します。


[ツール] > [新しい C++ クラス] を選択すると、[親クラスの選択] ダイアログ ボックスが開きます。
ウィンドウ上部の[すべてのクラス]を選択し、AtomModulationGeneratorを選択します。

カスタム ジェネレーターを実装する場合は、GetValue 関数と Update 関数を実装する必要があります。
GetValue 関数は、正規化された値 (0.0 ~ 1.0) を返すように実装してください。

次のフレームのキャッシュ値の計算は Update 関数で行われます。
この値は、Update 関数の呼び出しによってフレームごとに更新され、GetValue 関数の呼び出しによって変調先に出力されます。

IsBypassed、GetDebugValues、および GetDebugCategories 関数をオプションで実装することもできます。
IsBypassed は、上記の [Bypass] チェックボックスと同じ仕様です。
GetDebugValues関数はデバッグコマンドで表示した文字列値を取得する関数です。
各モジュレーション ジェネレーター インスタンスは、atom.Debug.SoundModulators コマンドを使用して取得され、表示されます。
GetDebugCategories 関数は、これらのインスタンス値によって提供される各値に対応するフィールド名の静的配列を提供します。