Niagara ExposedParameterの設定について

お世話になっております。

プロジェクトのエフェクト表示にNiagaraを用いているのですが、
NiagaraEffectSystemのExposedParameterの数値をC++のコードから変更をかけたいと考えています。

そこで現在

UNiagaraComponent Ncomp;

UNiagaraSystem NcompAsset;

FNiagaraParameterStore NPStore;

として

NcompAsset = Ncomp->GetAsset();

NPStore = NcompAsset->GetExposedParameters();

FNiagaraVariable tmp = FNiagaraVariable(FNiagaraTypeDefinition::GetFloatDef(),“User.NiagaraFloat”);

float result = NPStore.GetParameterValue(tmp);

ここまでで、エディター上で設定したUser.NiagaraFloatという名前のパラメータの数値を取得できたのですが

float setFloat;

bool check= NPStore.SetParameterValue(setFloat, tmp);

としても実際の表示に数値の変更を反映することができません。

これらにより、ゲーム上でスライダー等を用いてパーティクル量の動的な変更などを行う関数を作成しようと試みています。
関数の使い方、型の内容の認識等、ご教示いただけますと幸いです。

1 Like

お世話になっております。
記載頂いた内容を用いてExposedParameterをC++から更新する場合は以下となります。

bool check =  Ncomp->GetOverrideParameters().SetParameterValue(setFloat, FNiagaraVariable(FNiagaraTypeDefinition::GetFloatDef(), "User.NiagaraFloat"), true);

ご確認ください。

おかげさまで期待通りの動作が確認できました。

ありがとうございます。