Unity角 {MOD}控制角 {MOD}不穿过场景模型

2019-04-13 14:11发布

data/attach/1904/4w6ylot6t4r85u59v1zhgcmaxie1xzgp.jpg 角 {MOD}在场景移动的时候在移动到场景中的模型(建筑)时如果不对角 {MOD}出来会出现下图所示现象 如何解决这个问题并且能让角 {MOD}沿着这个斜坡往上走呢? 经过查找发现给角 {MOD}添加Character Controller组件可以解决我们上面的问题。我们通过 在菜单栏中Component->physics->Character Controller方法添加  现在运行程序人物会出现往下落的显现(人物受重力影响的效果)所以我们还需要对Character Controller参数进行调节 下图为Character Controller的Inspector面板
我们来看一下这个组件的参数的意思
---------------------------------------------------------------------------------------------------------------------------------------------------------------------- Height 设置Character Controller的高度 一般人物模型的高度为两米所以该值设置为2; Radius 设置Character Controller的半径; Slope Limit 限制该角 {MOD}只能爬小于等于该值的斜坡(一般设置该值小于90度)。 Step Offset 限制该角 {MOD}只能怕高度小于该值的台阶(一般设置该值0.1-0.4之间)。 Skin Width 防止角 {MOD}被其他模型卡主 一般设置该值大于Radius属性的10%并且大于0.01。 Min Move Distance 角 {MOD}最小的移动距离 防止角 {MOD}抖动 一般设置为0。 Center: 设置Character Controller 的位置 相当于锚点;
------------------------------------------------------------------------------------------------------------------------------------- 上面是Character Controller的属性面板的解释 我们要是实现人物角 {MOD}在场景中跑动并且能上坡 现在只需调整面板中的Center属性由于我的模型高度是2米所以我设置Character Controller的Height属性为2米当设置完以后会发现人物的一半身体在地下所以我们还要设置Character Controller的Center属性调节Y轴的数值为1,这样点击play按钮就能看见我们想要的效果了。