我有一个物体和一个玩家。如何使对象始终位于玩家前方,无论玩家处于什么位置?
大家好,感谢您的回复!只是要添加该对象在随机位置生成,然后我使其向玩家移动(这就是为什么我没有将其设为玩家的子级)。从那时起,它将始终停留在玩家面前。
最佳答案
您可以将该对象设置为播放器的子对象
GameObject childPlacehoderObj; // Set this to the child you want to give a home
GameObject playerObj; // This will be the parent
childPlacehoderObj.transform.parent = playerObj.transform;
现在 child 将与 parent 一起移动。
更新:对象在随机位置生成,然后我让它向玩家移动
然后你可以做的是创建一个空对象,这将是该对象的最终位置。然后你将这个空对象设为播放器的子对象。
然后你要做的就是让生成的对象移动到该空对象的位置。您可以添加类似 this 的内容在应该位于玩家前面的对象中
void Update()
{
// Move our position a step closer to the target.
float step = speed * Time.deltaTime; // calculate distance to move
transform.position = Vector3.MoveTowards(transform.position, childPlacehoderObj.position, step);
}
最后,一旦对象到达目标点,您就可以将其设为玩家的子对象。
关于c# - 如何让一个物体始终位于另一个物体的前面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55632071/