とても基本的なことなのですが、乱数の範囲についてメモしておきます。

Unityの乱数の取得にはRandom.Rangeを使いますが、Float型の乱数を取得するときとInt型の乱数を取得するときでは設定する数値の規則が変わります。

この乱数の範囲はしっかりと設定しておかないとバグの原因になります(配列の範囲外になったり)ので、気をつけたいところです。

Float型の乱数の取得

 
UnityEngine.Random.Range(float min, float max);

min (この値を含む) と max (この値を含む) の範囲のランダムな float 型の数を返します。

max は範囲に含まれるため、Random.Range( 0.0f, 1.0f ) は返り値として 1.0 を含みます。

 

Int型の乱数の取得

 
UnityEngine.Random.Range(int min, int max);

min (この値を含む) と max (この値を含まない) の範囲のランダムな整数を返します。

max は範囲から除外されるため、Random.Range( 0, 10 ) は 0 から 9 の間の値を返します。 max と min が等しければ、min が返されます。