如何获取Niagara System的Loop Behavior

您好,

感谢您的回复。

我们目前使用的是5.3版本,目前没有升级引擎的打算,所以尝试了第一个链接的方法(代码如下)。奇怪的是这样获取到的Niagara Variable,里面的VarData都是空的,导致没办法通过GetValue获得值,请问是什么原因或可以正确获得值的方式

[Image Removed]

`void GatherNiagaraSystemUpdateScriptVariables(TSoftObjectPtr InSystem, TArray& OutVariables)
{
OutVariables.Empty();
UNiagaraScript* Script = InSystem->GetSystemUpdateScript();
UNiagaraScriptSource* Source = Cast(Script->GetLatestSource());
UNiagaraGraph* ScriptSourceGraph = Source->NodeGraph;
TArray<UEdGraphNode*> NodesToProcess = ScriptSourceGraph->Nodes;

TArray Result;
for (UEdGraphNode* Node : NodesToProcess)
{
if (IsValid(Node))
{
if (const UNiagaraNodeFunctionCall* NodeFunctionCall = Cast(Node))
{
UNiagaraScript* NodeScript = NodeFunctionCall->FunctionScript;
if (const UNiagaraScriptSource* NodeScriptSource = Cast(NodeScript->GetLatestSource()))
{
const UNiagaraGraph* NodeScriptSourceGraph = NodeScriptSource->NodeGraph;
OutVariables.Append(NodeScriptSourceGraph->FindStaticSwitchInputs());
}
}
}
}
}`