如何为电梯添加对撞机以防止角色穿过对象?

时间:2017-09-20 22:05:22

标签: unity3d unity5

角色可以进入电梯,但问题是他也可以从侧面和后面穿过墙壁。

如果我添加一个箱式对撞机或任何其他对撞机,它们将阻止角色进入电梯。这不是我在电梯里制作的电梯对象。

Elevator

2 个答案:

答案 0 :(得分:2)

使用Compound Collider代替网格对撞机。

创建新的空GameObjects,称为back,front,right,left,top和bottom 然后将Box Collider附加到每个。手动调整大小并移动每一个以匹配电梯四周的大小。

完成后,将它们放在父空游戏对象中,然后将该父游戏对象放在电梯GameObject下,这样对撞机就会随着电梯移动/旋转。最后,当您想让玩家进入电梯内时,通过代码禁用或移动前Collider GameObject。

下图显示了单个对撞机的外观和最终外观的示例:

enter image description here

答案 1 :(得分:1)

这些问题在Unity Answers中更好,因为这不是一个编程问题。请记住以后的问题。

回答你的问题,

在Unity中的项目文件中找到网格,有一个“生成碰撞器”复选框 - 选中此框并按应用。 最后,在带有网格的GameObject上,添加一个MeshCollider组件。

如果模型设置正确,则网格对撞机现在应该使用模型进行碰撞。

如果这不起作用,作为替代方案,你可以使用带有碰撞器的立方体并自己“构建”碰撞网格,并将对象置于同一个对象,使它们随着升力移动,然后禁用{{1}组件因此它们不会呈现。