如何制作单向对撞机?

How to make one-way collider?

我想制作一个单侧碰撞器,让玩家只能从左到右通过它。最简单的方法是什么?我不想使用脚本。

解决方案:标准游戏 3D 对象 "plane" 是单面碰撞器。它位于 Uniyt 3D 构造函数的主菜单中 - GameObject / 3D Object / Plane。这个平面从对撞机的侧面可见,从它可以穿过的侧面是不可见的。对于两侧的隐形,您需要从 "Renderer Mesh" 组件中删除复选标记。对于 2D 项目,提供了另一种特殊技术 - 它允许您制作单侧刚性平台,以便从下向上垂直跳跃。为此,我使用标准 Unity 平面对撞机的单向 属性。

您可以在 Autodesk Maya 或 Autodesk 3DS Max 中创建动画。之后,您可以将动画导入 Unity3D 并在您的特定角色上使用它们。 您可以通过 google 它找到有关这两个程序的大量教程。

对于您的场景,您可以执行以下操作:

默认将碰撞器设置为触发碰撞器,以便您可以通过它。通过它后,使用 OnTriggerEnter(Collider) 触发对撞机,稍等一下,直到对象不使用协程接触对撞机,使用 Collider.isTrigger = false[ 将对撞机设置为普通对撞机(不触发)

干杯!