【发布时间】:2020-04-09 23:24:25
【问题描述】:
我是 Unity 的新手,我已经有几天无法解决一个问题了。我在道路预制件中创建了触发器对象,其中包含一个触发器和道路本身。当汽车用这个对象触发时,我会在 z 坐标上生成新的道路预制件。我有一个道路预制件作为启动器,当我的汽车撞到第一个道路触发事件时,它会创建一个对象,当汽车撞到创建的预制道路的触发器时,它会创建两个对象。所以总结是,实例化对象触发器创建两个对象而不是一个。
我可以通过骨干,但我想知道为什么会这样。
public class CreateNextRoad : MonoBehaviour
{
public GameObject Road;
static float nextSpawnPoint = 149f;
private void OnTriggerEnter(Collider other)
{
if(other.CompareTag("Player"))
{
float parentPos = transform.parent.transform.position.z;
Instantiate(Road, new Vector3(0f, 0f, nextSpawnPoint), Quaternion.Euler(0, 90, 0));
nextSpawnPoint = parentPos + 109f;
Debug.Log(nextSpawnPoint);
}
}
}
【问题讨论】: