Как создать объект в позиции преобразования другого GameObject в Unity? - PullRequest
1 голос
/ 25 апреля 2020

Извините, я знаю, что это супер баси c! Я закончил мой первый курс Unity, и я работаю над своей первой игрой и просто хочу, чтобы хоккейная шайба появлялась на позиции GameObject PlayerPuckSpawn в иерархии после того, как противник забил гол. В настоящее время просто пишу метод, когда цель была забита.

    public void EnemyGoalScored()
        {
            StartCoroutine(EnemyScored());
            Destroy(gameObject);
            Instantiate(gameObject, PlayerPuckSpawn.transform.position); 
        }

Это сценарий, связанный с шайбой, поэтому gameObject ссылается на шайбу. Просто не могу вспомнить, как написать часть скрипта, которая говорит шайбе о появлении в позиции PlayerPuckSpawn, который является GameObject в иерархии. Я знаю, что это супер базовый c, но я искал в Интернете и в своих заметках класса и не могу найти его. Супер спасибо всем, кто может помочь! :)

1 Ответ

0 голосов
/ 25 апреля 2020

Один вариант метода Instantiate имеет параметр местоположения и поворота. Чтобы использовать мировые координаты вызывающего предмета, выполните:

Instantiate(prefab_to_inst,transform.position,transform.rotation);

Если вы не хотите копировать вращение, также можете использовать по умолчанию rot:

Instantiate(prefab_to_inst,transform.position,Quaternion.identity);

Чтобы скопировать позицию любого элемента, добавьте ссылку перед transform, чтобы использовать местоположение этого элемента.

Если определено и заполнено GameObject puckspawn;,

Instantiate(prefab_to_inst,puckspawn.transform.position,puckspawn.transform.rotation);
...