unity手游<少侠历险记>(1)使用CharacterController控制人物移动
来源:互联网 发布:云计算的特点有哪些 编辑:程序博客网 时间:2024/04/30 04:04
本文由作者@zx一路飞奔出品,转载请注明出处
文章地址:http://blog.csdn.net/u014735301/article/details/42966247
作者微博:http://weibo.com/u/1847349851
之前在网上找到一个完整的rpg的游戏demo,断断续续自个琢磨了2个月,
学习NGUI的时候,就用NGUI插件把游戏本身基于GUI的部分UI界面改编了一下,
一直在看里面的游戏逻辑,刚开始一头雾水,之后慢慢的理解一部分东西了,借此写博客的机会,
决定重新开始学习其代码,参考下,做一个手游RPGdemo,自己对于RPG的美好记忆应该是源于小学时候玩的98版仙剑奇侠传。恩,真的是人生中美好的记忆~
CharacterController
开始正题,对于人物的移动,一般可以给人物添加collider和rigidbody组件,也可以添加CharacterController人物控制组件来进行控制
CharacterController包含Rigidbody组件的一些属性,个人理解,有了CharacterController,就不用再添加Rigidbody组件了,
控制器不会对加在它自身上的力做出反应,也不会自动推开其他刚体。
如果想让角色控制器推开其他刚体或者对象,你可以在对象附加的脚本中添加OnControllerColliderHit()函数,这样对它们施加力就能够产生碰撞。
长得像一个胶囊体,对于其属性的一些调整,有一些需要注意的
Slope Limit 坡度限制,不能设的太小,一般使用90度会比较合适。由于是胶囊体,角色控制器不会爬上墙。
Step Offset 角色可以迈上的最高台阶高度,确保对于一个两米大小的人来说该值介于0.1到0.4之间。
Skin width 皮肤厚度,皮肤厚度决定了两个碰撞器可以互相渗入的深度。较大的皮肤厚值度会导致颤抖。小的皮肤厚度值会导致角色被卡住。
实践中比较好的值是至少要大于0.01并且大于Radius的10%。如果发现你的角色频繁被卡住,尝试调整Skin Width值。
Min Move Distance 角色移动距离小于该值,角色就不会移动,避免颤抖现象,建议为0就行
center 调整胶囊体的位置
Radius 胶囊体半径,
Height 高度
下面来了解下,如何使用CharacterController来控制人物移动,上代码!
文章地址:http://blog.csdn.net/u014735301/article/details/42966247
作者微博:http://weibo.com/u/1847349851
之前在网上找到一个完整的rpg的游戏demo,断断续续自个琢磨了2个月,
学习NGUI的时候,就用NGUI插件把游戏本身基于GUI的部分UI界面改编了一下,
一直在看里面的游戏逻辑,刚开始一头雾水,之后慢慢的理解一部分东西了,借此写博客的机会,
决定重新开始学习其代码,参考下,做一个手游RPGdemo,自己对于RPG的美好记忆应该是源于小学时候玩的98版仙剑奇侠传。恩,真的是人生中美好的记忆~
CharacterController
开始正题,对于人物的移动,一般可以给人物添加collider和rigidbody组件,也可以添加CharacterController人物控制组件来进行控制
CharacterController包含Rigidbody组件的一些属性,个人理解,有了CharacterController,就不用再添加Rigidbody组件了,
控制器不会对加在它自身上的力做出反应,也不会自动推开其他刚体。
如果想让角色控制器推开其他刚体或者对象,你可以在对象附加的脚本中添加OnControllerColliderHit()函数,这样对它们施加力就能够产生碰撞。
长得像一个胶囊体,对于其属性的一些调整,有一些需要注意的
Slope Limit 坡度限制,不能设的太小,一般使用90度会比较合适。由于是胶囊体,角色控制器不会爬上墙。
Step Offset 角色可以迈上的最高台阶高度,确保对于一个两米大小的人来说该值介于0.1到0.4之间。
Skin width 皮肤厚度,皮肤厚度决定了两个碰撞器可以互相渗入的深度。较大的皮肤厚值度会导致颤抖。小的皮肤厚度值会导致角色被卡住。
实践中比较好的值是至少要大于0.01并且大于Radius的10%。如果发现你的角色频繁被卡住,尝试调整Skin Width值。
Min Move Distance 角色移动距离小于该值,角色就不会移动,避免颤抖现象,建议为0就行
center 调整胶囊体的位置
Radius 胶囊体半径,
Height 高度
下面来了解下,如何使用CharacterController来控制人物移动,上代码!
- unity手游<少侠历险记>(1)使用CharacterController控制人物移动
- unity手游<少侠历险记>(1)使用CharacterController控制人物移动
- unity手游<少侠历险记>(2)人物攻击动画判定和怪物AI
- unity手游<少侠历险记>(2)人物攻击动画判定和怪物AI
- unity手游<少侠历险记>(4)背包系统
- unity手游<少侠历险记>(4)背包系统
- unity手游<少侠历险记>(3)NGUI:HUD使用
- unity手游<少侠历险记>(3)NGUI:HUD使用
- CharacterController控制人物的移动
- unity 手游 3D人物的移动控制
- 查找使用CharacterController的人物移动位置出错的问题
- unity键盘控制人物移动
- 【unity学习笔记】unity控制人物跳跃,处理CharacterController的isGrounded总是返回false的问题
- Unity3D学习笔记04:角色控制器CharacterController控制人物移动旋转
- Unity3D控制人物移动跳跃,处理CharacterController的isGrounded总是返回false问题
- Unity3D控制人物移动跳跃,处理CharacterController的isGrounded总是返回false问题
- Unity 通过点击屏幕控制人物移动。
- Unity 通过点击屏幕控制人物移动
- 【最短系列】template模板
- JAVA动态编译
- QQ音乐(简陋版)
- adb 启动失败
- HTML4 和 HTML5 的10个关键区别
- unity手游<少侠历险记>(1)使用CharacterController控制人物移动
- Java数字字符串中怎么迭代每个数字
- mysql 主从复制配置
- android Viewpager禁用/开启滑动切换功能
- Eclipse在线集成Hibernate
- adb 修改system权限
- java 中的一些常用方法
- 算法之尾递归
- AndroidStudio中源代码查看