FC2ブログ
    02 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 04

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンUnityブログ】UnityEngine.Random.Rangeの基本的なお話 

    今週末からお盆休みが始まります!
    長い人は1週間以上お休みがあるのでは?
    休みどうしようかなぁ・・・・坂内っす。


    ポケットガール~受け継がれし希望~よろしくお願いします。
    URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
    URL(iOS):https://itunes.apple.com/jp/app/id1539553611

    PV:



    UnityのRandom.Rangeのお話。

    UnityC#でランダムな数値を作りたいときに使うRandom.Rangeについて。

    ①floatとintのランダム数値を取る際の引数に注意
    Random.Range(float min, float max)
     ⇒min(含む)~max(含む)の範囲のランダムなfloatを返す
      Random.Range(1.1, 2.5)
       ⇒1.1~2.5の間でランダム

    Random.Range(int min, int max)
     ⇒min(含む)~max(含まない)の範囲のランダムなintを返す
      Random.Range(2, 5)
       ⇒2~4の間でランダム

    ②seedを設定することで、同じランダムを返すことができる。
    Random.Rangeを行う前に以下コードでシードを設定

    Random.InitState(シード値);

    [Blog20230807.cs]

    using UnityEngine;

    public class Blog20230807 : MonoBehaviour
    {
    void Start()
    {
    Random.InitState(5);
    for (int i = 0; i < 5; i++) {
    Debug.Log(Random.Range(1, 11));
    }
    }
    }



    シードに5を設定。

    実行するとこうなります。

    8
    UnityEngine.Debug:Log (object)
    Blog20230807:Start () (at Assets/Scripts/Blog20230807.cs:9)

    2
    UnityEngine.Debug:Log (object)
    Blog20230807:Start () (at Assets/Scripts/Blog20230807.cs:9)

    7
    UnityEngine.Debug:Log (object)
    Blog20230807:Start () (at Assets/Scripts/Blog20230807.cs:9)

    5
    UnityEngine.Debug:Log (object)
    Blog20230807:Start () (at Assets/Scripts/Blog20230807.cs:9)

    3
    UnityEngine.Debug:Log (object)
    Blog20230807:Start () (at Assets/Scripts/Blog20230807.cs:9)

    一度Unityを止めて、再度実行。


    8
    UnityEngine.Debug:Log (object)
    Blog20230807:Start () (at Assets/Scripts/Blog20230807.cs:9)

    2
    UnityEngine.Debug:Log (object)
    Blog20230807:Start () (at Assets/Scripts/Blog20230807.cs:9)

    7
    UnityEngine.Debug:Log (object)
    Blog20230807:Start () (at Assets/Scripts/Blog20230807.cs:9)

    5
    UnityEngine.Debug:Log (object)
    Blog20230807:Start () (at Assets/Scripts/Blog20230807.cs:9)

    3
    UnityEngine.Debug:Log (object)
    Blog20230807:Start () (at Assets/Scripts/Blog20230807.cs:9)

    同じ8,2,7,5,3の順でランダムをとることができます。

    シードをランダムにすれば、毎回ランダムな数値をとることができます。


    Unityでゲームを作るうえで必ずといって必要となるRandomの基礎知識でした。

    では、あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/1001-9d115a4a
    この記事にトラックバックする(FC2ブログユーザー)