避免在运行时创建并放置在与另一个对象相同位置的对象跟随最后一个对象

时间:2019-04-20 21:24:47

标签: c# unity3d

按钮上的脚本句柄单击事件。单击此函数可在两点之间创建一条线:起点和终点。作为起点,我从检查器中放置了GameObject(简称为m_player)。问题是起点在移动,但是我不想将线从新起点重新绘制到同一终点。因此,在需要绘制线然后绘制线时,我尝试获取Star点的位置。为此,我在需要的位置(起点)创建了一个新的GameObject,然后绘制了线条。 这样做并没有什么改变,实际上新的GameObject仍然引用旧的GameObject,然后新的GameObject跟随旧的GameObject而移动。

我尝试不同的解决方案,但结果相同。

第一

游戏对象从检查器分配。

[SerializeField]
private GameObject m_player;

创建起点的副本

GameObject placeHolder = Instantiate(m_player, m_player.transform.position, m_player.transform.rotation);
placeHolder.SetActive(false);

调用该函数绘制线条。

getRoute.Initialize(m_gameObjectPOI, placeHolder);

第二

GameObject placeHolder = new GameObject("Place_Holder");
placeHolder.transform.position = m_player.transform.position;
placeHolder.transform.rotation = m_player.transform.rotation;

如何避免新的GameObject遵循m_player

0 个答案:

没有答案