在运行时创建第三人称控制器。但不会发生冲突

时间:2014-03-05 06:08:47

标签: c# unity3d collision

我正在尝试用我的第三人称角色(Unity提供的标准控制器)控制器来检查岩石之间的碰撞(它是一个立方体尺度:x = 10,y = 10,z = 10)。我的立方体已经分配了一个刚体。第三人称控制器具有“字符控制器”。当charactor控制器与它碰撞时,立方体总是移动。当我试图将第三人控制器拖到场景时,碰撞是可能的......即:它与墙碰撞......但是当我试图在运行时创建第三人称控制器时,碰撞不会发生.....什么是这样的原因.........怎么可能?

目标:当与岩石碰撞时,人停止移动(不能通过岩石)enter image description here

2 个答案:

答案 0 :(得分:1)

您可以简单地使用OnControllerColliderHit来获取角色控制器的冲突

https://docs.unity3d.com/Documentation/ScriptReference/CharacterController.OnControllerColliderHit.html

答案 1 :(得分:1)

刚体不足以管理碰撞。你应该在它上面装上一个盒子对撞机并使它成为非运动物体,以便实际发生碰撞。

如果在运行时出现问题,您可能会错过脚本中字符控制器的一些GetComponent。