Unity 5. Рандомное появление объектов.

Unity 5. Рандомное появление объектов.

Как создать появление объектов в случайном месте при старте сцены.

В этом уроке я хочу показать вам как создать скрипт, при помощи которого объекты на сцене будут появляться в рандомном т.е. в случайном месте, при старте сцены.

Для начала подготовим сцену, создадим плоскость, на которой будем размещать наши объекты.

Изменим  размеры плоскости, к примеру: 50,1,50.

panel

Добавим два объекта сферу и куб, эти объекты и будут появляться на сцене в случайных местах.

Сохраним эти объекты в префаб.

kubsphere

Для отображения сцены можно добавить стандартного персонажа с камерой, а стандартную камеру удалить со сцены.

personaj

Добавим пустой объект, на нем будет находиться наш скрипт.

spown

Создадим С# скрипт и назовем его SpownObject, напишем в нем такой код:

using UnityEngine;

using System.Collections;


public class SpownObject : MonoBehaviour
{
  public Vector3 center; // координаты центра
  public Vector3 size; // координаты в которых будут появляться объекты
  public GameObject kub; // наш куб
  public GameObject sphere; // сфера

   void Start()
   {
    Spawn();
   }

   public void Spawn()
   {
    Vector3 pos = center + new Vector3(Random.Range(-size.x / 2, size.x / 2), Random.Range(-size.y / 2, size.y / 2), Random.Range(-size.z / 2, size.z / 2));
    Instantiate(kub, pos, Quaternion.identity); // осуществляем появление объекта в заданных случайных позициях в диапазоне заданных координат

    Vector3 pos2 = center + new Vector3(Random.Range(-size.x / 2, size.x / 2), Random.Range(-size.y / 2, size.y / 2), Random.Range(-size.z / 2, size.z / 2));
    Instantiate(sphere, pos2, Quaternion.identity);
   }

   void OnDrawGizmosSelectes()
   {
    Gizmos.color = new Color(1, 0, 0, 0.5f);
    Gizmos.DrawCube(transform.localPosition + center, size);
   }
 }

Добавим этот скрипт на пустышку и переместим в строки kub и sphere наши префабы куба и сферы. Зададим координаты центра 1,1,1. В строке size укажем координаты диапазона, в которых будут появляться объекты, к примеру: 10,0,10.

spawnobject

Можем запустить игру и проверить, при запуске сцены объект куб и сфера будут появляться в случайном месте в заданном диапазоне.

primer1

primer2

Предыдущий урок              На главную          Следующий урок

Обсудить на форуме


Оставить Комментарий