如何在 Unity 中的另一个游戏对象的变换位置实例化一个对象?

How do I Instantiate an object at the transform position of another GameObject in Unity?

抱歉,我知道这是超级基本的!完成了我的第一个 Unity 课程并正在开发我的第一个游戏,我只想在对手进球后在层次结构中 PlayerPuckSpawn GameObject 的位置生成一个冰球。目前正在编写一个进球得分的方法。

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

这是在与冰球关联的脚本中,因此 gameObject 指的是冰球。只是不记得如何编写告诉冰球在 PlayerPuckSpawn 的位置生成的脚本部分,它是层次结构中的 GameObject。我知道它非常基础,但我一直在网上搜索并通过我的 class 笔记进行搜索,但找不到它。非常感谢任何可以提供帮助的人! :)

Instantiate 方法的一个变体具有位置和旋转参数。要使用调用项的世界坐标,请执行:

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

如果不想复制旋转,也可以使用默认旋转:

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

要复制任何项目的位置,请在 transform 之前添加引用以使用该项目的位置。

如果您GameObject puckspawn;定义并填写,

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