角色控制器 Character Controller
2016-07-21 14:34
323 查看
角色控制器主要用于第三人称或第一人称游戏主角控制,并不使用刚体物理效果。(载自unity圣殿)
下面先说啥为啥要用角色控制器,和角色控制器的特性
角色跑到了90英里每小时,然后马上停下而且可以极快的转身。因为是这么地不真实,用刚体和物理效果来创建这种行为是不切实际的,感觉上也不对劲。解决办法就是专门的角色控制器。很简单,就是一个胶囊碰撞器附加了可以控制其移动的脚本。控制器会执行脚本传达的动作但被碰撞影响。它会沿着墙动,走上台阶(如果台阶高度低于Step
Offset属性)以及走上坡度小于Slope Limit的斜坡。
控制器不会对加在它自身上的力做出反应,也不会自动推开其他刚体。
如果想让角色控制器推开其他刚体或者对象,你可以在对象附加的脚本中添加OnControllerColliderHit()函数,这样对它们施加力就能够产生碰撞。
下面先说啥为啥要用角色控制器,和角色控制器的特性
角色跑到了90英里每小时,然后马上停下而且可以极快的转身。因为是这么地不真实,用刚体和物理效果来创建这种行为是不切实际的,感觉上也不对劲。解决办法就是专门的角色控制器。很简单,就是一个胶囊碰撞器附加了可以控制其移动的脚本。控制器会执行脚本传达的动作但被碰撞影响。它会沿着墙动,走上台阶(如果台阶高度低于Step
Offset属性)以及走上坡度小于Slope Limit的斜坡。
控制器不会对加在它自身上的力做出反应,也不会自动推开其他刚体。
如果想让角色控制器推开其他刚体或者对象,你可以在对象附加的脚本中添加OnControllerColliderHit()函数,这样对它们施加力就能够产生碰撞。
OnControllerColliderHit()函数,在角色控制器,与物体接触时会自动调用
相关文章推荐
- 关于Fragment使用中遇到的异常:Fragment already added和fragment not attached
- <LeetCode> 题365:二进制中有多少个1
- api 之家
- Velocity
- 前端知识普及之HTML
- 剑指offer——不用加减乘除做加法
- SELECTION-SCREEN 文本丢失
- 建造者模式
- 基本数据类型
- javascript的api设计原则
- Linux + python +mysqlDB + mysql + innoDB
- 静态库和动态库
- Linux命令-less
- Android launcher 开发笔记(三) 启动过程分析 part 2
- 手把手教你做安卓应用开发-目录
- IOS 安装 ffmpeg
- Activity是否显示
- 链表中环的入口结点
- UE4物体描边
- Linux中zip压缩和unzip解压缩命令详解