【发布时间】:2020-04-23 11:52:11
【问题描述】:
我的统一游戏中有一个带有胶囊对撞机的角色。当角色在胶囊的球形部分撞击另一个对撞机时,角色就会被发送到空中。如何避免?
Here is a video to explain the problem
我已经有了一些解决方案,但并没有真正奏效:
使用圆柱对撞机代替胶囊,但它不存在。我尝试用meshcollider 制作一个,结果不如胶囊对撞机,因为meshcollider 不是完美的圆形。我也尝试用许多 rect collider 制作一个,但它会产生与 meshcollider 相同的问题。
当角色在地上的时候设置一个非常大的重力,但是问题是我在游戏中有斜面,所以也不管用。
感谢您的帮助
【问题讨论】:
-
是的,我觉得你在这个。
-
你有什么想法我应该试试吗?
-
并非如此。我将胶囊对撞机进一步向上移动,并在脚上添加了额外的胶囊对撞机。似乎好一点。如果您使用刚体移动,总会有 CharacterController 或其他脚本。
-
你是如何移动你的角色的?刚体?如果是这样,使用速度、MovePosition 还是什么?请分享您的代码和字符设置,以便我们提供帮助。
-
它不需要代码,因为这是统一的预期行为。我只是在寻找解决这个问题的建议或想法,更准确地说是为了克服统一没有对撞机圆柱体的事实。
标签: c# unity3d collision-detection