Unity角色控制角色不穿过场景模型
2015-03-13 08:16
1301 查看
角色在场景移动的时候在移动到场景中的模型(建筑)时如果不对角色出来会出现下图所示现象
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/06/9897dd8d817a3877b71e820a075a0b82)
如何解决这个问题并且能让角色沿着这个斜坡往上走呢?
经过查找发现给角色添加Character Controller组件可以解决我们上面的问题。我们通过
在菜单栏中Component->physics->Character Controller方法添加
现在运行程序人物会出现往下落的显现(人物受重力影响的效果)所以我们还需要对Character Controller参数进行调节
下图为Character Controller的Inspector面板
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/06/06457bafa54a9bc7b45515639338e437)
我们来看一下这个组件的参数的意思
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
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按钮就能看见我们想要的效果了。
如何解决这个问题并且能让角色沿着这个斜坡往上走呢?
经过查找发现给角色添加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按钮就能看见我们想要的效果了。
相关文章推荐
- 解决Unity方向键控制角色行走时,鼠标箭头会一直回到场景的中心点问题
- (4)unity入门,模型、光照、角色移动、场景加载
- 基于Unity的AOP的符合基于角色的访问控制(RBAC)模型的通用权限设计
- 基于Unity的AOP的符合基于角色的访问控制(RBAC)模型的通用权限设计
- Unity中模型的面数控制
- 在unity的player角色控制中实现MVC模式
- 三维游戏引擎——Unity 角色模型优化要点续:换肤和导入
- 【Unity3D实战项目:疯狂杀戮】角色模型的行走控制(一)
- 从领域、对象、角色、职责、对象交互、场景等方面去分析和设计领域模型(附源码)
- 基于角色的访问控制模型
- Unity 3D 一个简单的角色控制脚本
- 基于角色-功能-资源的权限控制模型的设计与实现-引子
- Unity 角色控制相关操作
- 【Unity3D实战项目:疯狂杀戮】角色模型的行走控制(一)
- RBAC基于角色的访问控制模型(权限管理)
- Unity 角色模型优化要点
- 基于角色-功能-资源的权限控制模型的设计与实现-引子
- unity中结合oculus制作VR场景控制相机的移动的三种方式
- 利用 AOP 实现 .NET 上完整的基于角色的访问控制(RBAC)模型
- unity中简单的角色移动控制