太空飞船字符控制器卡在墙上

时间:2016-04-24 06:14:15

标签: unity3d collision

我正在制作一艘宇宙飞船飞行游戏,您可以通过洞穴隧道进行导航。问题最好显示在视频中:

https://www.youtube.com/watch?v=0K2WdeL7f0A

使用角色控制器和脚本控制移动。该脚本只调用controller.Move(<vector>),其中向量可以在任何方向。

角色控制器设置为:

Slope Limit: 180
Step Offset: 0.5
Skin Width: 0.3
Min Move Distance: 0
Center: (0,0,0)
Radius: 3
Height: 0.5

对撞机实际上是一个球体。我还检查了collisionFlags说它感人的一面。我还使对撞机physicMaterial有0摩擦并增加了一点弹性(0.5)。但无论如何,我都无法防止这个角色卡住。

如何防止角色卡在墙上?

1 个答案:

答案 0 :(得分:0)

经过一些实验,我解决了这个问题。由于我使用平移增量来控制船舶运动,因此我为速度保留了自己的Vector3变量。问题是在碰撞时,我没有更新速度矢量以在碰撞方向上减速。以下代码解决了它:

timeout()