Привет начинающим разработчикам. В данной статье мы разберём очень важную функцию, без которой невозсожно представить нормальную игру, а именно, создание объекта из префаба.
Рассматривая данную тему, мы предполагаем, что у Вас уже создан сам префаб в окне Project, поэтому разбирать создание префаба мы здесь не будем. Если же нет, то можете посмотреть как создать префаб в нашей отдельной статье. А мы перейдём к делу.
Для создания объекта из префаба, нам поможет специальная функция Instantiate(). А так же создадим переменную obj, в которой будем хранить ссылку на наш префаб.
public GameObject obj;
void Start()
{
GameObject newObject = Instantiate(obj, new Vector3(0, 0, 0), Quaternion.identity) as GameObject;
}
Обратите внимание, что метод Instantiate первым параметром принимаем ссылку на префаб, из которого мы хотим создать объект. Поэтому не забудьте через окно Inspector перетащить Ваш префаб в поле obj.
Так же обратите внимание, что вторым и третьим параметром мы указываем позицию и поворот созданного объекта в мировом пространстве. В нашем случае, объект создаётся в центре, и с отсутствием вращения.
Но мы можем сделать немного по другому. Если мы хотим, чтобы наш объект создавался именно по тем данным position и rotation, которые указаны в самом префабе, то можно немного переписать наш код:
public GameObject obj;
void Start()
{
GameObject newObject = Instantiate(obj, obj.transform.position, obj.transform.rotation) as GameObject;
}
Поздравляем, наш объект из префаба создан, и доступен по ссылке через переменную newObject. Спасибо за Ваши лайки и комментарии.