我有一个对象和一个玩家。如何使物体始终位于播放器前面,无论播放器处于什么位置?
嘿,谢谢您的回复!只是要补充一点,该对象会在随机位置生成,然后我使它向玩家移动(这就是为什么我没有将其作为玩家的子代)。从那时起,它将始终位于播放器的前面。
答案 0 :(得分:3)
您可以将该对象设置为播放器的子代
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;
现在,孩子将与父母一起移动。
更新:对象在随机位置生成,然后我将其移向播放器
然后您可以做的是创建一个空对象,该对象将是该对象的最终位置。而这个空对象使它成为播放器的子代。
然后,您要做的是使一个已生成的对象移动到该空对象的位置。您可以在播放器前面的对象中添加类似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);
}
最后,一旦物体到达目标点,就可以使其成为播放器的子代。
答案 1 :(得分:1)
也许您可以将播放器设置为对象的父对象。这样,对象将在“播放器”的位置之后定义它的位置,并且一旦它位于播放器的前面,则无论他的位置如何,它都将始终停留在该位置。