请告诉我,有一个函数OnTriggerEnter:
void OnTriggerEnter(Collider other) {}
如果一个元素在另一个元素的触发器中,则此函数匹配。
现在这个脚本已经在角色上了。
如何通过在地形上悬挂脚本来为角色执行此功能?
这个问题有很多遗漏的上下文,我不想做假设,但我还不能发表评论,所以我会尽力回答假设要检测角色是否与地形碰撞,最简单的方法是使用void OnCollisionEnter ()
。如果你的玩家角色有一个刚体和一个对撞机组件,而你的地形有一个对撞器组件,你可以标记你的地形"地形;并使用代码中的以下功能检测与它的冲突:
//Detects a collision and grabs the collider
void OnCollisionEnter (Collider other)
{
//Detects if the object collided with has the "Terrain" tag
if (other.gameObject.tag == "Terrain")
{
//Your code here
}
}
看起来您想知道如何使用OnTriggerEnter以下是步骤。
- 将碰撞器附加到预期要碰撞的对象。在至少有一个碰撞器应该标记为触发器
- 将非运动学刚体附加到其中一个对象
- 将带有OnTriggerEnter函数的脚本附加到其中一个对象。这个如果检测到碰撞,将调用函数
您可以阅读本教程关于Unity Collision的详细解释