3分でわかる!Unityでランダムな数値を思うがままに生成する方法

Sponsored Link


Unityでランダムな数値を生成したいんだけど!?

どうも、Linです。250g、挑戦です。

 

Unityでゲームアプリを作成しているとたまに、

ランダムな数値を生成したい

という瞬間があることでしょう。

 

そんなときは、

RandomクラスのRangeメソッド

を使うと便利です。

使い方としては、

Random.Range(最小値, 最大値)

という感じですね。

 

unity ランダム

 

引数に設定した最小値と最大値の間にある数値をランダムで返り値として返します。

 

 

unity ランダム

 

注意点としては、最小値と最大値の値はfloat型でなくてはならない点です。

数値の後ろには必ずfをつけるようにしましょう。

 

たとえば、

Random.Range(-10.0f, 10.0f);

としてやれば、-10から10までのランダムな数値を返してくれるわけです。

 

 

unity ランダム

 

試しに、空のオブジェクト「GameObject」を作成して「Test.cs」というスクリプトをアタッチしてみます。

 

unity ランダム

 

-10から10までのランダムな数値をコンソールに表示するアプリを作ってみましょう。

下記のスクリプトを「Test.cs」に書いてやると、

 

 

 

https://gyazo.com/002c0e2365dfedfe4c83ffff33347999

こんな感じでフレームごとに-10から10までのランダムな数値を吐き出してくれるようになります。

もっと詳しいRandomクラスの使い方はUnityの公式レファレンスをご覧くださいね。

 

 

Unityのランダムを生成するとこんなゲームが作れる

最後に、ぼくがRandom.Rangeをどのように役立てたのかを書いておきましょう。

 

GameObjectのtransformの位置情報のx・yの値にランダムの数値をあてがうことで、

トマトがブルブル振動するゲーム

を作ってみました。
https://gyazo.com/998cb1803d11e50664e7e0c9aecccd17

 

作り方は簡単で、トマトの画像をヒエラルキーにぶち込んで、

というスクリプトをトマト画像にアタッチするだけです。

 

this.gameObejctで、スクリプトがアタッチされているゲームオブジェクト(トマトの画像)を取得。

そのtransformコンポーネントの位置情報をTranslateメソッドで変更しているわけです。

Translateメソッドの第一引数はx座標、第二引数はy座標なのでRandomクラスで取得し、z座標に関しては2Dゲームなので0を設定。

これでトマトが振動するゲームが作れるというわけですね。

Unityでランダム数値を生成したいという方はよかったら試してみてください。

 

「もっと詳しくUnityの使い方を勉強したい!」

という方にはTECHACADEMYのオンラインブートキャンプ Unityコースがおすすめです。

プロのメンターの方にオンラインで疑問点を質問できますからね。よかったら無料体験から試してみてください。

 

それでは!

Lin

飯橋凛(Ihashi Lin)

新卒で入ったネット広告代理店を1年半で退職。
その後、副業として活動していたウェブメディア運営のフリーランスへ。
現在はプログラミングの勉強に励み、0からフリーエンジニアの道を目指す。最近はキムチをまとめ買いしている


Sponsored Link

コメントはこちらからお願いします!



もう1本読んでみる