はとの豆知識

Unityを中心に手っ取り早い機能の実装を紹介します。

【Unity】指定した数字の間でランダムな数字を出す、乱数「Random.Range」の紹介

サイコロの目のようにランダムな数字が出したい
そんな時に使える「Random.Range」の紹介です。

手っ取り早い実装方法

    private int randomNum;

    private void Start()
    {
        this.randomNum = UnityEngine.Random.Range(0, 6);
        //出力されるのは0~5
        print(this.randomNum);
    }

これで0~5の数字が出力されます。

詳しい解説

なんで0~6の数字じゃないの?と思った方は下の例をご覧ください。

    //オブジェクトを5個セットする
    [SerializeField] private List<GameObject> objects;

    private void Start()
    {
        //List(objects)の後ろに.Countを付けることでListの長さが分かる
        //出力されるのはElement0~4の中に入っているオブジェクト
        print(this.objects[UnityEngine.Random.Range(0, objects.Count)]);
    }

List(拡張性のある配列)に5個のオブジェクトをセットしました。
objectsを5個セットしたのでobjects.Countの中身は5です。
それを踏まえた上で下の画像をご覧ください。
f:id:HatoHatter:20210425161949p:plain

Elementの数字は0~4までですね。
もしランダムな数字で5まで出力されたら配列外参照でエラーになってしまいます。

最後の数字-1なんだな~と覚えておけば大丈夫です。

まとめ

簡単にランダムな数字を出力する「Random.Range」の紹介でした。
別の記事でこれを利用した応用編的なものを紹介する予定です。