妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

InRange - 数値が特定の範囲ならTrueを返すノード

docs.unrealengine.com

妹「数字がある一定の範囲内の時だけっていう分岐を作ろうとしてたんだけど、InRangeっていう使えそうなノードを発見した」

「たしかにこれだとノードが少なくて済みそう。なぜFloat版しかないのかは気になるけど」

妹「……あれ? Floatしかないの?」

「ないね。Integerでも同じような事をするマクロは作れそうだけど」

妹「そこまではしなくていいんだけど、なぜFloatだけなのか……」

「RandomIntegerInRangeというノードだったらあるけどね。これは範囲内の乱数を生成するもので、範囲内かどうかを確認するものではないから」

妹「そういえばRandomの数字ピンをInRangeに繋いで、動作を確認してたんだけど、なんかチェック結果とPrintStringの内容表示がちぐはぐになっていた。乱数をいったん変数に保存するようにしたら直ったんだけど」

「Randomノードから読み込むたびに数字変わるから、InRangeの時とPrintStringの時と別の乱数を使っちゃったんだろうね。他のGETノードとかでも、ランダムではないけど、ピンが使用されたタイミングの数字になる。緑色のノード(Pure設定)の場合はそうなる。これがもし青いノードだったら、最後に実行ピンを通った時の数字が残ってて、何回読み込んでもその時の数字が使われる」