Unity实现键鼠控制立方体移动旋转
创建立方体,编写脚本实现使用键盘控制 立方体的移动、旋转,鼠标控制立方体旋转
1. 新建一个场景
2. 新建几何体
新建一个平面用于参考。
新建一个立方体
3. 创建脚本
创建脚本方法1:
直接在资源中创建:
从菜单栏创建
从项目视图的资源文件夹中创建
创建成功
创建方法2
在检查器中创建
在检查器中新建一个脚本并命名,这样脚本直接就挂载在立方体对象上了。
创建成功,可以在资源文件夹中看到
4. 查看脚本
单击资源文件夹中的脚本,即可在检查器中查看脚本
5. 编写脚本
为cs文件设置默认打开方式(我使用的sublime text),然后在资源文件夹中双击脚本即可在编辑器中打开
编辑脚本实现功能:
从物体角度,通过键盘按键 WSAD 前后左右移动立方体cube
从物体角度,通过键盘按键 QE 上、左 旋转立方体cube
从摄像机角度,通过鼠标左键 旋转立方体
运行效果:
原本:
移动、旋转之后:
6. 源码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class move : MonoBehaviour
{Vector3 mPrevPos = Vector3.zero;Vector3 mPosDelta = Vector3.zero;void Start(){}private void Update(){float ws = Input.GetAxis("Vertical"); //按‘W’'S'键返回一个[-1,1]的值float ad = Input.GetAxis("Horizontal"); //按‘A’'D'键返回一个[-1,1]的值this.transform.Translate(Vector3.forward * ws * Time.deltaTime * 7,Space.Self); //前后移动transform.Translate(Vector3.left * ad * Time.deltaTime * 7,Space.Self); //左右移动if(Input.GetKey(KeyCode.Q)) //按下Q{transform.Rotate(Vector3.up,1.0f,Space.Self); //前后旋转}if(Input.GetKey(KeyCode.E)) //按下E{transform.Rotate(Vector3.left,1.0f,Space.Self); //左右旋转}if (Input.GetMouseButton(0)) //按下鼠标左键{mPosDelta = Input.mousePosition - mPrevPos;transform.Rotate(Camera.main.transform.up, -mPosDelta.x, Space.World);transform.Rotate(Camera.main.transform.right, mPosDelta.y, Space.World); //在指定坐标系(参数3,世界坐标系)中,对象绕指定向量(参数1),旋转指定角度(参数2)//transform.up 在世界坐标系中的上方向。要搭配使用Space.Word//此方法解决了摄像机反向拍摄场景时,旋转坐标系不合理的问题}mPrevPos = Input.mousePosition;}
}
Unity实现键鼠控制立方体移动旋转相关推荐
- Unity 触屏手势控制Camera平移旋转缩放
Unity 触屏手势控制Camera平移旋转缩放 实现思路 单点触屏,位移增量控制相机平移: 两点触屏,两点位移控制相机前后移动(缩放):两点中一点不位移控制相机绕点旋转: 实现需要的API Touc ...
- WebGL入门(三十四)-三维空间中鼠标控制物体旋转,用鼠标控制立方体的旋转
用鼠标控制立方体的旋转 1. demo效果 2. 实现要点 2.1 注册鼠标事件 2.1.1 注册鼠标事件函数的声明 2.1.2 注册鼠标事件函数的调用 2.2 纹理图片加载 2.3 图形绘制 3. ...
- 如何把笔记本做台式机的副屏(一套键鼠控制两台电脑)
通过一套键鼠控制两台电脑 前提 安装所需的软件 一. 简介 二. 安装 2.1 小技巧 前提 两台电脑在同一个局域网内,并且均为windows操作系统 例如两台电脑链接的同一个WIFI,或者笔记本无线 ...
- Python 键鼠控制
2021/9/18,在bilibili看到小马视频https://www.bilibili.com/video/BV1b4411T7Gn?share_source=copy_web,学到了用Pytho ...
- 单键鼠控制多台电脑:无界鼠标简单教程
https://www.bilibili.com/read/cv16470540 事情的起因是这样的,我在实验室有一台台式电脑,还有一个笔记本. 但是我只有一套好用的键盘鼠标.此前使用的时候,一般都是 ...
- Unity --- 基本键鼠操作
1.我们对于键盘和鼠标的点击操作相当于在输入数据,这些输入的数据都会被存储到对应的数据缓存区中供程序读取和调用 而我们所谓的游戏程序中的键鼠操作其实就是当我们通过键盘输入了特定数据之后,游戏程序马上从 ...
- Barrier多计算机共享键鼠详细教程(可跨平台)+使用感受
满足需求 如果你希望仅用一套键鼠控制两台及以上的电脑,那么这款免费开源的工具Barrier你一定不能错过!可以在Windows.macOS和Linux之间共享同一套鼠标和键盘,不仅让你摆脱在不同键鼠间 ...
- 一套键鼠操控多台电脑--Mouse Without Borders 设置教程(转载)
这篇文字是转载的,地址一套键鼠操控多台电脑–Mouse Without Borders 设置教程 一套键鼠控多机+文件秒传 微软神器<Mouse Without Borders>实战 你或 ...
- 一套键鼠操控多台主机/电脑/笔记本 - 《Mouse Without Borders》安装配置教程
1. 一套键鼠控多机+文件秒传 2. 背景 3. MWB介绍 4. 下载安装 5. 配置本机 6. 配置其他机器 7. 小贴士:安全码验证有技巧 8. 小贴士:文件传输的特别说明 补充 1. 一套键鼠 ...
- 【Unity基础】人物控制的三种方式(键盘)、(鼠标)、(键鼠)
先看效果: (键鼠): 人物会随着指针转动,WASD控制人物移动. 鼠标 键盘就是去除掉键鼠的看向鼠标指针,改成看向最后方向 代码: using System.Collections; using S ...
最新文章
- Kotlin学习 PART 3:类,对象和接口
- Linux下父子进程的全局变量
- jQuery鼠标移入移出(冒泡版和无冒泡版)
- ITK:使用地标将图像注册到另一个图像
- Cacti监控一台Webserver上多个Tomcatport的实现
- 爬虫 spider01——基本概念
- slf4j+log4j2的整合配置
- mysql获取逻辑日志_Mysql 逻辑架构图及日志系统
- [Java] 蓝桥杯BASIC-25 基础练习 回形取数
- mysql注入多语句执行_MySQL注入总结MySQL暴错注入方法整理
- 翻译:生产中的机器学习:为什么你应该关心数据和概念漂移
- MATLAB显示图像为什么一片白
- 同花顺 行情服务器系统,[分享]完美运行同花顺,Linux下的股友有福了
- lux视频下载工具的安装和使用
- 宇视EZVMS系统通过GB28181协议接入EasyGBS的步骤说明
- 《线性代数》学习之———第一章 矩阵与方程组(1.1线性方程组)
- 使用屏幕录制专家--录制视频技巧
- 《D o C P》学习笔记(3 - 0)Regular Expressions, other languages and interpreters - 简介
- 【转载】知行合一在年轻人中的作用
- 盘点2011年的网络流行语