19
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Unityで複数のGameObjectからランダムに一つ選んで生成する方法

Last updated at Posted at 2016-07-06

#はじめに
Unityで複数のGameObjectからランダムに一つ選んで生成する方法についてまとめました。

#目次
1.スクリプト上で配列宣言
2.スクリプトをGameObjectに関連付け
3.Sizeを決める
4.オブジェクトをPrefab化
5.Prefabを登録
6.ランダムに生成する

#1.スクリプト上で配列宣言
下のようにスクリプト上でGameObjectの配列を宣言する。

using UnityEngine;
using System.Collections;
public class TrainScript : MonoBehaviour
{
public GameObject[] Train;
}

#2.スクリプトをGameObjectに関連付け
空のGameObjectにスクリプトをドラッグ&ドロップで関連付けをする。

#3.Sizeを決める
GameObjectのInspector上の追加したスクリプトの欄にSizeという項目が出る。ここにランダムに呼び出したいオブジェクトの数を入力しenterを押す。

#4.オブジェクトをPrefab化
呼び出したいオブジェクトをHierarchyからProjectにドラッグ&ドロップでPrefab化する。Hierarchy上のオブジェクトは消す。

#5.Prefabを登録
3のSizeの下にElementの項目が出ているので、ドラッグ&ドロップで好きなPrefabを登録。下のようになればOK。
スクリーンショット 2016-07-07 5.32.57.png

#6.ランダムに生成する
下のようにスクリプトに追加するとスタートしたとき指定したオブジェクトの配列からランダムに一つ選んで生成される。

using UnityEngine;
using System.Collections;
public class TrainScript : MonoBehaviour
{
public GameObject[] Train;

void Start ()
	{
number = Random.Range (0, Train.Length);
Instantiate(Train[number],transform.position,transform.rotation);
    }
}

#参考
UnityのGameObject配列へInspector経由でGameObjectを登録する

19
28
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?