本文实例为大家分享了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;//摄像机Transform private Transform m_transform;//摄像机父物体Transform public float m_movSpeed=10;//移动系数 public float m_rotateSpeed=1;//旋转系数 private void Start() { m_camTransform = Camera.main.transform; m_transform = GetComponent(); } 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 wsad 鼠标_Unity键盘WASD实现物体移动|chu相关推荐

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

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

  2. Unity/c#鼠标右键控制相机围绕物体旋转/滚轮控制远近

    鼠标右键控制相机围绕物体旋转/滚轮控制远近 #c#代码` 鼠标右键控制相机围绕物体旋转/滚轮控制远近 using System.Collections; using System.Collection ...

  3. Unity 键盘WASD 实现物体移动

    1首先在场景中建立一个Capsule,将主摄像机拖到其物体下. 2.将脚本挂在Capsule物体下,WASD 控制移动方向,空格延Y轴向上移动,F延Y轴向下移动 using System.Collec ...

  4. 三、Unity中的鼠标、键盘的获取

    在Unity中,我们经常会处理点击鼠标的事件检测和键盘的事件检测.所以,我觉的应该将这个小知识点进行一个整理. 1.按下键盘的事件检测: 1.GetKey:   当通过名称指定的按键被用户按住时返回t ...

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

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

  6. Unity 用鼠标拖动3D物体 跟随鼠标移动

    public class MouseMove : MonoBehaviour {//鼠标经过时改变物体颜色private Color mouseOverColor = Color.blue;//声明变 ...

  7. Unity学习日志_Unity地形系统简介

    Unity学习日志_Unity地形系统简介 地形创建: Terrain中的组件: Transform Terrain 四大功能: paint Terrain,可以选择下面几种具体的模式: Create ...

  8. Unity实用小工具或脚本——3D物体带坐标轴的拖拽

    一.前言 我们最近要做一个线路的规划编辑,并且是在三维场景中,编辑完就立马能用.立马能用还好说,有特别多的轮子可以用,在三维场景中实时编辑就有点意思了.其实功能就是类似于在Unity的编辑界面操作一个 ...

  9. 简单的鼠标和键盘事件+阻止默认阻止冒泡+dom0,dom2

    什么是事件 在我们学习DOM之后,事件就是我们必不可少的一块知识点了,事件其实就是我们的一些操作需要在用户来完成之后才执行的.比如我们PC端的点击事件,键盘事件,以及我们移动端的的触屏事件.接下来咱们 ...

最新文章

  1. [公告]欢迎您加入WF技术研究团队
  2. android 日历下面备注,怎样在日历的下面加备注?
  3. 高阶奇异值分解(HOSVD)理解
  4. 这 5 个能挣钱的 SpringBoot 项目,真TMD香!
  5. 在.net2.0中实现Action和Func方法
  6. python——opencv入门(一)
  7. php server自定义函数,php:SQL Server用户自定义的函数种类详解
  8. GitLab 小组中的项目访问权限赋予给用户
  9. 晨哥真有料丨Ta是暧昧成瘾,你却动了真心!
  10. Java字符串分割(split)
  11. GZip、Deflate压缩算法对应的C#压缩解压函数
  12. C++ 自旋锁简单实现
  13. 更新 FF.PyAdmin v1.2
  14. android 手机解锁声音,新奇玩法:教大家一个手机声控解锁的方法!识别率很高噢!...
  15. 心理正常与异常的区分_判断心理正常异常三原则
  16. SAP中的录屏BDC最贱实践
  17. 2015北邮计算机考研复试上机题解
  18. 众多交通工具3dm Rhino资源素材一键即可获取
  19. 鼠标右键点击文件夹、bat文件、txt文档,指针出现假死转圈的解决方法(Adobe Acrobat右键邮件选项引起的win10假死)
  20. 这里整理了基于java平台的常用资源

热门文章

  1. 秒表计时器怎么读_秒表应该怎么读
  2. TS之namespace与module
  3. 第1章 Java程序设计概述
  4. 景深概念以及景深的计算公式
  5. [喜闻乐见]期末尻♂总结
  6. Mysql,SQL server中英文翻译对照
  7. STM32学习-keil 调试问题1:单步可以执行 全速运行不可以
  8. 高德地图1008INVALID_USER_SCODE错误
  9. centos 阿帕奇无法解析php_PHP文件包含漏洞利用思路与Bypass总结手册(二)
  10. time.gmtime()获取的时间问题