CharacterController控制人物的移动
来源:互联网 发布:飞鱼网络电视版本介绍 编辑:程序博客网 时间:2024/04/30 05:47
- -
Unity3d使用CharacterController控制行走
- 使用Input.GetAxis(“Horizontal”) 和 “Vertical”得到垂直和水平方向的值
- 使用CharacterController.SimpleMove(Vector3)参数表示运动的方向和速度 单位可以认为是 m/s
代码如下:
private CharacterController cc;
public float speed = 4;
void Start(){ cc = GetComponent<CharacterController>();}void Update(){ float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); if (Mathf.Abs(h)>0.1f||Mathf.Abs(v)>0.1) { Vector3 targetDir = new Vector3(h, 0, v); transform.LookAt(targetDir+transform.position); cc.SimpleMove(transform.forward * speed); } }
注:
- speed 是控制人物移动的速度
- float h 获取的是操纵杆输入和键盘输入,值为(-1到1)的值,x轴正方向为1,负方向为-1,也就是说A键为-1,D键为1
- float v获取的是操纵杆输入和键盘输入,值为(-1到1)的值,y轴正方向为1,负方向为-1,也就是说W键为1,S键为01
- targetDir 是键盘输入之后获取到的方向,将目标用SimpleMove方法向获取到方向移动
- transform.lookat 是让目标旋转到获取到的方向
- transform.forward 是让目标向正前方移动
阅读全文
0 0
- CharacterController控制人物的移动
- Unity3D控制人物移动跳跃,处理CharacterController的isGrounded总是返回false问题
- Unity3D控制人物移动跳跃,处理CharacterController的isGrounded总是返回false问题
- 查找使用CharacterController的人物移动位置出错的问题
- Unity3D学习笔记04:角色控制器CharacterController控制人物移动旋转
- unity手游<少侠历险记>(1)使用CharacterController控制人物移动
- unity手游<少侠历险记>(1)使用CharacterController控制人物移动
- 【unity学习笔记】unity控制人物跳跃,处理CharacterController的isGrounded总是返回false的问题
- 利用OnAnimatorove函数控制人物的移动
- Unity3D 人物移动控制
- Unity3d 人物控制器CharacterController
- unity键盘控制人物移动
- Unity3d 键盘控制人物移动
- 手机游戏3D人物的移动控制
- unity 手游 3D人物的移动控制
- CharacterController 角色移动
- Unity3d中CharacterController的移动和碰撞分析
- 人物动画的控制
- jQuery事件和动画
- 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 C cocout
- 【区块链】Truffle 安装和使用
- JavaScript- 使用 atan2 来绘制 箭头 和 曲线
- HDU 6055 推公式
- CharacterController控制人物的移动
- ionic+上拉刷新,下拉加载
- 飞秋软件看不到好友
- 【51Nod1412】AVL树的种类
- 【java】多项式计算(中缀转后缀)
- CTF/CTF练习平台-各种绕过哟【sha1数组类型比较漏洞】
- 最全Pycharm教程(35)——Pycharm中使用Vagrant
- MacOS 开发
- 关于高级类特性修饰符、类间关系,API概念浅析