Unity 键盘WASD 实现物体移动
1首先在场景中建立一个Capsule,将主摄像机拖到其物体下。
2.将脚本挂在Capsule物体下,WASD 控制移动方向,空格延Y轴向上移动,F延Y轴向下移动
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class MoveCam : MonoBehaviour
{private Vector3 m_camRot;private Transform m_camTransform;//摄像机Transformprivate Transform m_transform;//摄像机父物体Transformpublic float m_movSpeed=10;//移动系数public float m_rotateSpeed=1;//旋转系数private void Start(){m_camTransform = Camera.main.transform;m_transform = GetComponent<Transform>();}private void Update(){Control();}void Control(){if (Input.GetMouseButton(0)){//获取鼠标移动距离float rh = Input.GetAxis("Mouse X");float rv = Input.GetAxis("Mouse Y");// 旋转摄像机m_camRot.x -= rv * m_rotateSpeed;m_camRot.y += rh*m_rotateSpeed;}m_camTransform.eulerAngles = m_camRot;// 使主角的面向方向与摄像机一致Vector3 camrot = m_camTransform.eulerAngles;camrot.x = 0; camrot.z = 0;m_transform.eulerAngles = camrot;// 定义3个值控制移动float xm = 0, ym = 0, zm = 0;//按键盘W向上移动if (Input.GetKey(KeyCode.W)){zm += m_movSpeed * Time.deltaTime;}else if (Input.GetKey(KeyCode.S))//按键盘S向下移动{zm -= m_movSpeed * Time.deltaTime;}if (Input.GetKey(KeyCode.A))//按键盘A向左移动{xm -= m_movSpeed * Time.deltaTime;}else if (Input.GetKey(KeyCode.D))//按键盘D向右移动{xm += m_movSpeed * Time.deltaTime;}if (Input.GetKey(KeyCode.Space) && m_transform.position.y <= 3){ym+=m_movSpeed * Time.deltaTime;}if (Input.GetKey(KeyCode.F) && m_transform.position.y >= 1){ym -= m_movSpeed * Time.deltaTime;}m_transform.Translate(new Vector3(xm,ym,zm),Space.Self);}
}
Unity 键盘WASD 实现物体移动相关推荐
- unity wsad 鼠标_Unity键盘WASD实现物体移动
本文实例为大家分享了Unity键盘WASD实现物体移动的具体代码,供大家参考,具体内容如下 1首先在场景中建立一个Capsule,将主摄像机拖到其物体下. 2.将脚本挂在Capsule物体下,WASD ...
- unity wsad 鼠标_Unity键盘WASD实现物体移动|chu
本文实例为大家分享了Unity键盘WASD实现物体移动的具体代码,供大家参考,具体内容如下 1首先在场景中建立一个Capsule,将主摄像机拖到其物体下. 2.将脚本挂在Capsule物体下,WASD ...
- Unity移动---使用WASD控制物体朝摄像机方向移动和旋转,并且自动贴合斜坡角度
这里的功能是使用WASD移动物体自身,物体朝向自身移动的方向,并且在移动时能够自动根据地面斜坡(角度)调整自身角度 物体的移动方向也是基于摄像机的方向. 这里是演示效果: 我这里做的物体移动时贴合地面 ...
- unity中控制游戏物体移动最基本的三种方法
**unity**中控制游戏物体移动的最基本的三种方法 第一种移动方法-transform.Translate,游戏物体按照你给的方向和速度进行运动 代码如下: Public float speed; ...
- Unity中获取一个物体下所有的子物体的方法
Unity中获取一个物体下所有的子物体的方法 方法1(获取全部子物体,无论子物体SetActive是否为true): using System.Collections; using System.Co ...
- unity 摄像机追随指定物体
unity 摄像机追随指定物体, 摄像机离远离近,围绕物体旋转using System.Collections; using System.Collections.Generic; using Uni ...
- unity 里让一个物体围绕x,y,z轴旋转起来。
如何 在unity 里让一个物体围绕x,y,z轴旋转起来? 先看下效果: 如何 在unity 里让一个物体围绕x轴旋转起来?答案揭晓: 实现代码: using System.Collections; ...
- Unity的VRTK捡拾物体学习笔记
Unity的VRTK捡拾物体学习笔记 1.VRTK捡拾物体设置: 2.VRTK可交互对象设置: 3.触摸设置: 4.触摸设置2:
- Unity触摸屏幕 拖拽物体 旋转物体 放大缩小物体 单击 双击 长按
Unity触摸屏幕 拖拽物体 旋转物体 放大缩小物体 单击 双击 长按 拖拽物体 using System.Collections; using System.Collections.Generic; ...
最新文章
- JAVA实现简单链表操作
- Julie Desk:这个帮你安排会议的AI助手刚刚融了250万欧元
- This file can not be opened as a file descriptor; it is probably compressed
- 使用LXE_SP_CHECKSPELLING_MS进行ABAP文本拼写检查
- ABP入门系列(8)——Json格式化
- mysql 建立索引的例子_mysql建立合适的索引的例子
- python json loads 中文乱码_python实现智能语音天气预报
- 关于ng-class中添加多个样式类的解决方案
- MYSQL数据库事务介绍
- DXperience 6.3.2 破解
- 基于操作系统编程与裸机编程的区别
- 软件智能:aaas系统 后天八卦-aaas作为组织者的数据结构及其运行时
- jumpserver 添加Windows主机
- 《用微信测试公众号慰问你的好兄弟/姐妹》:用java简单实现微信公众号消息推送(入门且详细且有效)
- sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk'
- ASCII码格式转回汉字
- 差距不止一星半点,Github星标85K的性能优化法则圣经
- python处理excel合并单元格的拆分和填补
- 武田在第11届国际霍奇金淋巴瘤研讨会上呈报霍奇金淋巴瘤数据
- LeetCode知识点总结 - 977
热门文章
- 全国职称计算机考试办公应用选几科,全国职称计算机考试科目有哪些
- 免拆诊断 | 2018 款大众蔚领车加速无力
- 另类远控:木马借道商业级远控软件的隐藏运行实现
- 【OTT】腾讯视频发布第一代“企鹅盒子”
- 刺激战场国际服越来越卡,竟是腾讯为了让玩家重回和平精英?
- Nginx——nginx作为负载均衡服务(负载均衡示例)
- ma5822是什么设备_ma5822是什么设备_华为MA5821-24 - AC远端光接入ONU光纤设备24口 全新原装...
- TEA算法加密/解密在线工具
- AD8609ARUZ 精密四路微功耗轨对轨输入/输出放大器 、 线性放大器仪表、运算放大器、缓冲放大器
- 2023 食物卡路里查询API接口源码