您的位置:首页 > 移动开发 > Unity3D

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

2015-03-13 08:16 1301 查看
角色在场景移动的时候在移动到场景中的模型(建筑)时如果不对角色出来会出现下图所示现象



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

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

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

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

下图为Character Controller的Inspector面板



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

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

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按钮就能看见我们想要的效果了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: