Unity角色控制角色不穿过场景模型

角色在场景移动的时候在移动到场景中的模型(建筑)时如果不对角色出来会出现下图所示现象

Unity角色控制角色不穿过场景模型_第1张图片

如何解决这个问题并且能让角色沿着这个斜坡往上走呢?

经过查找发现给角色添加Character Controller组件可以解决我们上面的问题。我们通过

在菜单栏中Component->physics->Character Controller方法添加 

现在运行程序人物会出现往下落的显现(人物受重力影响的效果)所以我们还需要对Character Controller参数进行调节

下图为Character Controller的Inspector面板

Unity角色控制角色不穿过场景模型_第2张图片

我们来看一下这个组件的参数的意思


----------------------------------------------------------------------------------------------------------------------------------------------------------------------

Height 设置Character Controller的高度 一般人物模型的高度为两米所以该值设置为2;

Radius 设置Character Controller的半径;

Slope Limit 限制该角色只能爬小于等于该值的斜坡(一般设置该值小于90度)。

Step Offset 限制该角色只能怕高度小于该值的台阶(一般设置该值0.1-0.4之间)。

Skin Width 防止角色被其他模型卡主 一般设置该值大于Radius属性的10%并且大于0.01。

Min Move Distance 角色最小的移动距离 防止角色抖动 一般设置为0。

Center: 设置Character Controller 的位置 相当于锚点;


-------------------------------------------------------------------------------------------------------------------------------------

上面是Character Controller的属性面板的解释 我们要是实现人物角色在场景中跑动并且能上坡 现在只需调整面板中的Center属性由于我的模型高度是2米所以我设置Character Controller的Height属性为2米当设置完以后会发现人物的一半身体在地下所以我们还要设置Character Controller的Center属性调节Y轴的数值为1,这样点击play按钮就能看见我们想要的效果了。

你可能感兴趣的:(Unity)