无法在精确的点向上移动物体- Unity

本文关键字:移动 Unity | 更新日期: 2023-09-27 18:09:59

我是新来的。下面是我想要实现的场景。

我有一个敌人和一座塔。敌人与塔相撞,移动到塔顶逃脱。我无法在塔顶的准确位置移动敌人。 下面是我的代码:
void OnTriggerEnter(Collider collider) {
moveY = tf.position.y + 6; //6 is the height of tower
tf.Translate(0, moveY, 0, Space.World);
}

如果我使用位置而不是翻译,它会移动到塔的顶部位置,但我想让敌人走向塔的顶部。使用翻译将敌人移向底部。

无法在精确的点向上移动物体- Unity

最可能的问题是您的代码不识别tf。试试这个:

void OnTriggerEnter(Collider collider) 
{
moveY = collider.position.y + 6; //6 is the height of tower
collider.Translate(0, moveY, 0, Space.World);
}

如果是游戏对象tf正在碰撞,则tf将是碰撞器。您将需要放入if条件检查以确保碰撞器是tf