Unity3d角色控制器Character Controller

1.选中要控制的角色对象,依次打开菜单栏中的Component→ Physics→Character Controller选项,即可为角色对象添加角色控制器组件


·Slope Limit:坡度限制。
该项用于设置所控制的角色对象只能爬上小于或等于该参数值的斜坡。

·step offset:台阶高度。
该项用于设置所控制的角色对象可以迈上的最高台阶的高度。


·skin width:皮肤厚度。
该参数决定了两个碰撞体可以相互渗入的深度,较大的参数值会产生抖动
的现象,较小的参数值会导致所控制的游戏对象被卡住,较为
理的设定是:该参数值为Radius值的10%。


·Min Move Distance:最小移动距离。
如果所控制的角色对象的移动距离小于该值,则游戏对象将不会移动,这
可以避免抖动,大多数情况下将该值设为0。


·Center:中心。
该参数决定了胶囊碰撞体在世界坐标中的位置,并不影晌所控制的角色对
象的中心坐标。


·Radius:半径。
胶囊碰撞体的长度半径,同时该项也决定了碰撞体的宽度


·Height:高度。
该顶用于设置所控制的角色对象的胶囊碰撞体的高度,改变此值将会使碰
撞体沿着竹由的正负两个方向同时伸缩。


角色控制器不会施加给它的作用力做出反应,也不会作用与其他的刚体,如果想让

角色控制器能够作用于其他的刚体对象,可以通过脚本【OnControllerColliderHit()函数】在与其碰撞的对象上使用一个作用力

可以修改角色控制器的Height和Radius参数来适配角色模型的网格,对于
人形的角色一股推荐为2m左有。如果控制器的中心点不在人物中心,可修改胶
囊的Cente磋鞘炽寸其中心点进行调整,step offset参数也会对此产生影晌,所以一般
保证此值在0.1~04之间(以2m的人物角色为基准)。同时s丨ope um"参数值不
要设定过小,通常设为∞最好,此外,介于胶囊体形状的缘故,人物角色是无
法爬上墙的


角色控制器的Skin Width是非常重要的属性,因此必须要正确地设定。如果
角色卡住了通常是由于sk
in Wdth值设得太小而导致的,该值可使其他的对象轻微
地穿过角色控制器,并旦可以避免抖动且防止角色卡住。s灯n Width虐融脚大于
o创并旦大于Radius×
10%的值。Min Move Distance 的值推荐设为0。


如果角色频繁地被卡住,尝试调整Skin width的值
通过编写脚本,角色控制器可通过物理效粜来影晌其他的
对象。 | .
角色控制器无法通过物理效果被其他游戏对象所影晌。



你可能感兴趣的:(Unity3d角色控制器Character Controller)