如何使物体只在玩家移动时移动



我正在制作一款3D益智游戏,我试图让一扇门(物体(只有在玩家移动时才能逐渐关闭。换言之,我希望我的门在我的球员向它移动时关闭,我希望当我的球员离开它时打开。我在网上找不到任何帮助。

您的问题似乎是:如何检测一个对象是否正在向另一个或更远的地方移动。

->

// Wherever you get these from
public Transform door;
public Transform player;
private float lastDistance;
private void Start()
{
// Store initial distance
lastDistance = Vector3.Distance(door.position, player.position);
}
private void Update()
{
// get current distance
var distance = Vector3.Distance(door.position, player.position);
if(distance < lastDistance)
{
// => Is moving towards door
}
else if(distance > lastDistance)
{
// is moving away from door
}
else
{
// distance stayed equal
}
lastDistance = distance;
}

最新更新