unity wsad 鼠标_Unity键盘WASD实现物体移动|chu
本文实例为大家分享了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相关推荐
- unity wsad 鼠标_Unity键盘WASD实现物体移动
本文实例为大家分享了Unity键盘WASD实现物体移动的具体代码,供大家参考,具体内容如下 1首先在场景中建立一个Capsule,将主摄像机拖到其物体下. 2.将脚本挂在Capsule物体下,WASD ...
- Unity/c#鼠标右键控制相机围绕物体旋转/滚轮控制远近
鼠标右键控制相机围绕物体旋转/滚轮控制远近 #c#代码` 鼠标右键控制相机围绕物体旋转/滚轮控制远近 using System.Collections; using System.Collection ...
- Unity 键盘WASD 实现物体移动
1首先在场景中建立一个Capsule,将主摄像机拖到其物体下. 2.将脚本挂在Capsule物体下,WASD 控制移动方向,空格延Y轴向上移动,F延Y轴向下移动 using System.Collec ...
- 三、Unity中的鼠标、键盘的获取
在Unity中,我们经常会处理点击鼠标的事件检测和键盘的事件检测.所以,我觉的应该将这个小知识点进行一个整理. 1.按下键盘的事件检测: 1.GetKey: 当通过名称指定的按键被用户按住时返回t ...
- Unity移动---使用WASD控制物体朝摄像机方向移动和旋转,并且自动贴合斜坡角度
这里的功能是使用WASD移动物体自身,物体朝向自身移动的方向,并且在移动时能够自动根据地面斜坡(角度)调整自身角度 物体的移动方向也是基于摄像机的方向. 这里是演示效果: 我这里做的物体移动时贴合地面 ...
- Unity 用鼠标拖动3D物体 跟随鼠标移动
public class MouseMove : MonoBehaviour {//鼠标经过时改变物体颜色private Color mouseOverColor = Color.blue;//声明变 ...
- Unity学习日志_Unity地形系统简介
Unity学习日志_Unity地形系统简介 地形创建: Terrain中的组件: Transform Terrain 四大功能: paint Terrain,可以选择下面几种具体的模式: Create ...
- Unity实用小工具或脚本——3D物体带坐标轴的拖拽
一.前言 我们最近要做一个线路的规划编辑,并且是在三维场景中,编辑完就立马能用.立马能用还好说,有特别多的轮子可以用,在三维场景中实时编辑就有点意思了.其实功能就是类似于在Unity的编辑界面操作一个 ...
- 简单的鼠标和键盘事件+阻止默认阻止冒泡+dom0,dom2
什么是事件 在我们学习DOM之后,事件就是我们必不可少的一块知识点了,事件其实就是我们的一些操作需要在用户来完成之后才执行的.比如我们PC端的点击事件,键盘事件,以及我们移动端的的触屏事件.接下来咱们 ...
最新文章
- [公告]欢迎您加入WF技术研究团队
- android 日历下面备注,怎样在日历的下面加备注?
- 高阶奇异值分解(HOSVD)理解
- 这 5 个能挣钱的 SpringBoot 项目,真TMD香!
- 在.net2.0中实现Action和Func方法
- python——opencv入门(一)
- php server自定义函数,php:SQL Server用户自定义的函数种类详解
- GitLab 小组中的项目访问权限赋予给用户
- 晨哥真有料丨Ta是暧昧成瘾,你却动了真心!
- Java字符串分割(split)
- GZip、Deflate压缩算法对应的C#压缩解压函数
- C++ 自旋锁简单实现
- 更新 FF.PyAdmin v1.2
- android 手机解锁声音,新奇玩法:教大家一个手机声控解锁的方法!识别率很高噢!...
- 心理正常与异常的区分_判断心理正常异常三原则
- SAP中的录屏BDC最贱实践
- 2015北邮计算机考研复试上机题解
- 众多交通工具3dm Rhino资源素材一键即可获取
- 鼠标右键点击文件夹、bat文件、txt文档,指针出现假死转圈的解决方法(Adobe Acrobat右键邮件选项引起的win10假死)
- 这里整理了基于java平台的常用资源