这是问题所在,我有一个由CharacterController
控制的部队,我希望部队在与某些东西发生碰撞时阻挡。所以我给它添加了一个盒子对撞机。但是,如图所示,它无法正常工作。多维数据集不会阻止BoxCollider
,但会阻止CapsuleCollider
中的CharacterController
。
答案 0 :(得分:2)
简短回答:它没有用。
Character Controller
总是使用自己的CapsuleCollider
,你无能为力。这是几年来要求的功能,但在不久的将来添加此功能似乎没什么兴趣。
您需要将CharacterController
替换为Rigidbody
并编写您自己的控制器(或复制并粘贴一个)以处理移动。基本上你使用Rigidbody.AddForce
来移动你的玩家。
如果您需要一些如何实现它的想法,请查看这些教程。他们都使用不同的方法来控制运动:
http://unity3d.com/learn/tutorials/projects/roll-a-ball/moving-the-player
http://unity3d.com/earn/tutorials/projects/space-shooter/moving-the-player
http://unity3d.com/learn/tutorials/projects/stealth/player-movement