Character Controller


Character Controller: 用来模拟人的,但是又不遵循Physic 的规则,因为Physic里面的规则不太适合于人类。

Character Controller 首先它也是一个Collider ,只不过它自己不接受任何的Physic事件的影响,完全用来模拟人的。

有height, radius 属性,还有slope limit小于多少度的坡,这个人物才能爬上去,一般对于人来说小于90度的才能爬。

step offset :如果人物离地面的高度小于这个值,那么人物就可以上楼梯

Min Move Distance:最小移动距离,当要移动的距离小于这个值时,干脆就不移动了。推荐设置为0

Skin width: 皮肤的深度,也就是两个人物或者人物和物体之间可以互相掺和在一起,这个就表示这个掺和的深度。

如果这个值设置的太小,那么人物就很容易卡住,经验值是大于等于0.01并且大于radius * 0.1 

某个GameObject 被人物碰到了以后,就会触发CharacterController的OnControllerColliderHit() 这个函数

Character Controller 本身不响应Physic 系统,也就是说它完全无视外界施加给它的 Force, Torque 等,所以,如果你想让它响应Physic,最好的办法是添加一个Rigidbody。

Character Controller 要移动只能用Move这个方法来移动。 

总结一句话:如果要模拟人的物理行为,那么就用这个CharacterController,它本身是一个Collider,并且还能很好的模拟人类的移动行为。

如果你还想让它接收外界的物理响应,那么就再加上一个RigidBody组件。

如果添加人物向下掉,可能地面没加碰撞,还可能要把Character Controller的所带的碰撞体向上移动到地面之上。


  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值