今天想在UE4.26中,通过C++生成一个int随机数。
在网上找了找,发现不是蓝图的,就是自己写的。因为我明显知道UE4有内置的随机函数。所以后面我在网上找到了这个。
How does UE4 generate random numbers in C++ & Blueprints?
意思大致为:FMath.RandRange()函数可以生成 随机数。
FMath中的源码:
/** Helper function for rand implementations. Returns a random number >= Min and <= Max */
static FORCEINLINE int32 RandRange(int32 Min, int32 Max)
{
const int32 Range = (Max - Min) + 1;
return Min + RandHelper(Range);
}
static FORCEINLINE int64 RandRange(int64 Min, int64 Max)
{
const int64 Range = (Max - Min) + 1;
return Min + RandHelper64(Range);
}
/** Util to generate a random number in a range. Overloaded to distinguish from int32 version, where passing a float is typically a mistake. */
static FORCEINLINE float RandRange(float InMin, float InMax)
{
return FRandRange(InMin, InMax);
}
/** Util to generate a random number in a range. */
static FORCEINLINE float FRandRange(float InMin, float InMax)
{
return InMin + (InMax - InMin) * FRand();
}
/** Util to generate a random boolean. */
static FORCEINLINE bool RandBool()
{
return (RandRange(0,1) == 1) ? true : false;
}