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 实现物体移动相关推荐

  1. unity wsad 鼠标_Unity键盘WASD实现物体移动

    本文实例为大家分享了Unity键盘WASD实现物体移动的具体代码,供大家参考,具体内容如下 1首先在场景中建立一个Capsule,将主摄像机拖到其物体下. 2.将脚本挂在Capsule物体下,WASD ...

  2. unity wsad 鼠标_Unity键盘WASD实现物体移动|chu

    本文实例为大家分享了Unity键盘WASD实现物体移动的具体代码,供大家参考,具体内容如下 1首先在场景中建立一个Capsule,将主摄像机拖到其物体下. 2.将脚本挂在Capsule物体下,WASD ...

  3. Unity移动---使用WASD控制物体朝摄像机方向移动和旋转,并且自动贴合斜坡角度

    这里的功能是使用WASD移动物体自身,物体朝向自身移动的方向,并且在移动时能够自动根据地面斜坡(角度)调整自身角度 物体的移动方向也是基于摄像机的方向. 这里是演示效果: 我这里做的物体移动时贴合地面 ...

  4. unity中控制游戏物体移动最基本的三种方法

    **unity**中控制游戏物体移动的最基本的三种方法 第一种移动方法-transform.Translate,游戏物体按照你给的方向和速度进行运动 代码如下: Public float speed; ...

  5. Unity中获取一个物体下所有的子物体的方法

    Unity中获取一个物体下所有的子物体的方法 方法1(获取全部子物体,无论子物体SetActive是否为true): using System.Collections; using System.Co ...

  6. unity 摄像机追随指定物体

    unity 摄像机追随指定物体, 摄像机离远离近,围绕物体旋转using System.Collections; using System.Collections.Generic; using Uni ...

  7. unity 里让一个物体围绕x,y,z轴旋转起来。

    如何 在unity 里让一个物体围绕x,y,z轴旋转起来? 先看下效果:  如何 在unity 里让一个物体围绕x轴旋转起来?答案揭晓: 实现代码: using System.Collections; ...

  8. Unity的VRTK捡拾物体学习笔记

    Unity的VRTK捡拾物体学习笔记 1.VRTK捡拾物体设置: 2.VRTK可交互对象设置: 3.触摸设置: 4.触摸设置2:

  9. Unity触摸屏幕 拖拽物体 旋转物体 放大缩小物体 单击 双击 长按

    Unity触摸屏幕 拖拽物体 旋转物体 放大缩小物体 单击 双击 长按 拖拽物体 using System.Collections; using System.Collections.Generic; ...

最新文章

  1. JAVA实现简单链表操作
  2. Julie Desk:这个帮你安排会议的AI助手刚刚融了250万欧元
  3. This file can not be opened as a file descriptor; it is probably compressed
  4. 使用LXE_SP_CHECKSPELLING_MS进行ABAP文本拼写检查
  5. ABP入门系列(8)——Json格式化
  6. mysql 建立索引的例子_mysql建立合适的索引的例子
  7. python json loads 中文乱码_python实现智能语音天气预报
  8. 关于ng-class中添加多个样式类的解决方案
  9. MYSQL数据库事务介绍
  10. DXperience 6.3.2 破解
  11. 基于操作系统编程与裸机编程的区别
  12. 软件智能:aaas系统 后天八卦-aaas作为组织者的数据结构及其运行时
  13. jumpserver 添加Windows主机
  14. 《用微信测试公众号慰问你的好兄弟/姐妹》:用java简单实现微信公众号消息推送(入门且详细且有效)
  15. sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk'
  16. ASCII码格式转回汉字
  17. 差距不止一星半点,Github星标85K的性能优化法则圣经
  18. python处理excel合并单元格的拆分和填补
  19. 武田在第11届国际霍奇金淋巴瘤研讨会上呈报霍奇金淋巴瘤数据
  20. LeetCode知识点总结 - 977

热门文章

  1. 全国职称计算机考试办公应用选几科,全国职称计算机考试科目有哪些
  2. 免拆诊断 | 2018 款大众蔚领车加速无力
  3. 另类远控:木马借道商业级远控软件的隐藏运行实现
  4. 【OTT】腾讯视频发布第一代“企鹅盒子”
  5. 刺激战场国际服越来越卡,竟是腾讯为了让玩家重回和平精英?
  6. Nginx——nginx作为负载均衡服务(负载均衡示例)
  7. ma5822是什么设备_ma5822是什么设备_华为MA5821-24 - AC远端光接入ONU光纤设备24口 全新原装...
  8. TEA算法加密/解密在线工具
  9. AD8609ARUZ 精密四路微功耗轨对轨输入/输出放大器 、 线性放大器仪表、运算放大器、缓冲放大器
  10. 2023 食物卡路里查询API接口源码