条件分岐がうまく動作しない


Pawnとある地点のVectorLengthXYが1200よりおおきい時にエネミーをスポーンさせる、というBPを作ったつもりだったのですが、うまく動きません。
VectorLengthXYの数字をPrintStringsしてみると、200くらいでTrueになってしまったり、1400くらいでFalseになってしまったりしています。
Distanceも試しましたが、同じような結果でした。
何かヒントがあれば教えてください。

Random のつくノードは、呼び出されるたびに別の内容を返します

その呼び出しというのは、Execピン(白ピン)がついているノードが実行されるタイミングで起こります
Execピンのないノード(Pure)は、接続先のノードが実行されるタイミングで再計算されます

画像のグラフでRandomに繋がっているのはそれぞれPrintStringとSpawnActorFromClassです
それぞれの実行タイミングで、Randomが実行されますので、PrintStringで参照したものとSpawnActorで参照したものは別の値になります

複数のノードにまたがって同じRandomの結果を用いたい場合は、Randomの結果を変数に収めて固定化する必要があります

2 Likes

ありがとうございます。すごく分かりやすい説明で感謝です!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.