• W/S :: 前进/后退
  • A/D :: 下降/上升
  • 鼠标滚轮 :: 对象移动的速度
  • 光标水平移动 :: 对象左右方向旋转
  • 光标上下移动 :: 对象上下方向旋转
using UnityEngine;
using System.Collections;public class ObjectController : MonoBehaviour
{// x方向移动的速度public float xSpeed = 1f;// y方向移动的速度public float ySpeed = 1f;// z方向移动的速度public float zSpeed = 1f;public Vector3 velocity = Vector3.zero;// 是否按下A键private bool isAdown = false;// 是否按下D键private bool isDdown = false;private float x = 0.0f;private float y = 0.0f;void Update(){float theZ = Input.GetAxis("Vertical") * this.zSpeed;float theX = Input.GetAxis("Horizontal") * this.xSpeed;// 设置位移Vector3 v1 = new Vector3(0, 0, theZ);v1 = this.transform.TransformDirection(v1);v1 = v1 - Vector3.Dot(v1, Vector3.up) * Vector3.up;v1 = this.transform.InverseTransformDirection(v1);this.transform.Translate(v1);// 设置旋转角度Vector3 v2 = new Vector3(0, theX, 0);this.transform.Rotate(v2);if (Input.GetKeyDown(KeyCode.A))this.isAdown = true;else if (Input.GetKeyUp(KeyCode.A))this.isAdown = false;else if (Input.GetKeyUp(KeyCode.D))this.isDdown = false;else if (Input.GetKeyDown(KeyCode.D))this.isDdown = true;if (this.isAdown)this.transform.position = Vector3.SmoothDamp(this.transform.position, this.transform.position - new Vector3(0, this.ySpeed, 0), ref velocity, 0.1f);if (this.isDdown)this.transform.position = Vector3.SmoothDamp(this.transform.position, this.transform.position + new Vector3(0, this.ySpeed, 0), ref velocity, 0.1f);float zoom = Input.GetAxis("Mouse ScrollWheel");if (this.zSpeed + zoom < 10 && this.zSpeed + zoom > 0.1)this.zSpeed += zoom;}private void Rotate(){this.x += Input.GetAxis("Mouse X") * this.xSpeed;this.y -= Input.GetAxis("Mouse Y") * this.ySpeed;if (this.y < -360f)this.y += 360f;if (this.y > 360f)this.y -= 360f;y = Mathf.Clamp(y, -20f, 80f);Quaternion rotation = Quaternion.Euler(y * 0.5f, x, 0);this.transform.rotation = rotation;}private void LateUpdate(){Rotate();}
}

unity 控制对象移动、旋转相关推荐

  1. Unity摄像机对象锁定旋转运镜模拟

    问题简述 在3D模式下如何模拟实现Unity摄像机对象锁定旋转运镜,可以分为两个部分,第一是实现对象锁定,第二是实现旋转运镜.对象锁定就是无论摄像机如何运动,始终保持对象位于摄像机成像区域的固定位置, ...

  2. fabricjs 围绕对象中心点旋转

    先吐槽一下现在网上搜索的东西,莆田货先不说,牛鬼蛇神,各显神通,要么是千篇一律.答非所问,要么是无人善后的半吊子回答,再要么是上个世纪的古董玩意儿,这样让我们这些面向百度编程的人很难办啊! 围绕左上角 ...

  3. Unity 触屏手势控制Camera平移旋转缩放

    Unity 触屏手势控制Camera平移旋转缩放 实现思路 单点触屏,位移增量控制相机平移: 两点触屏,两点位移控制相机前后移动(缩放):两点中一点不位移控制相机绕点旋转: 实现需要的API Touc ...

  4. Unity 用于控制摄像机的旋转、远近

    /// <summary> /// 用于控制摄像机的旋转.远近 /// </summary> public class CameraTransform : MonoBehavi ...

  5. Unity手势控制物体球形旋转

    目的:当我想让物体绕Y轴旋转时,无论他当前的朝向都可以绕绝对Y轴转,同理X轴,Z轴.同时不可以有万向锁. 原理:当我们物体绕轴旋转时,其实是矩阵相乘,所以我们需要先算出当前要旋转角度的旋转矩阵,代码如 ...

  6. 【虚拟仿真】Unity3D中实现控制物体的旋转、移动、缩放

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦. 一.前言 ...

  7. Unity的对象复用

    2019独角兽企业重金招聘Python工程师标准>>> 对象复用是 用空间换时间的一种典型的做法,对于Unity来说虽然引擎内部有GameObject的对象池,但是 这只是Nativ ...

  8. matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色

    一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色 觉得有用的话,欢迎一起讨论相互学习~ 参考书籍 <matlab 程 ...

  9. Unity 相机围绕目标旋转、缩放功能实现

    Unity 相机围绕目标旋转.缩放功能实现 //************************************************相机围绕物体旋转.相机缩放*************** ...

  10. Unity 控制摄像机移动

    Unity 控制摄像机移动 控制摄像机移动 1.摄像机围绕某一固定点移动(旋转) 2.摄像机无需围绕某一固定点移动 3.摄像机先后显示问题 控制摄像机移动 控制摄像机移动目前我接触到的有两种方式,一种 ...

最新文章

  1. python游戏中调整箭头下落速度_入门 | 三行Python代码,让数据预处理速度提高2到6倍...
  2. cpu,内存,虚拟内存,硬盘,缓存之间是什么关系??
  3. python编程和plc哪个好-plc和python
  4. Android Telephony分析(五) ---- TelephonyRegistry详解
  5. 【图文详解】JAVA中的转义字符
  6. 五子棋项目结束总结_居家活动系列总结
  7. spring boot 相关注解
  8. cocos2dx实现翻书效果。
  9. php源码 自定义字段,wordpress主题制作:设置自定义选项字段
  10. 装机必备:借用IDM实现百度云高速下载
  11. 感动的要哭了(不得不看)
  12. LABVIEW宝典(第2版)简版电子书出炉了,需要赶紧下
  13. 微信红包发送关键代码
  14. OBJ 模型文件与MTL材质文件 介绍
  15. tiny6410烧录
  16. webpack2系列step1--HTML
  17. todd li 保留_用Todd Motto对JavaScript进行解密
  18. c语言抛物线弓形图像,行列式计算(C#)
  19. 自制图像标注软件 —— 支持mask-rcnn等算法
  20. HTML+CSS实现网页分页页码

热门文章

  1. 30天自制操作系统第8天harib05c
  2. 基于php的校园电影网站系统
  3. CEPH OSD_SCRUB_ERRORS 错误处理
  4. 举头皮皮虾机器人_一种仿生水下皮皮虾机器人通信系统的制作方法
  5. 解决鼠标不能移出视频框,切换网页不能播视频的小窍门
  6. oracle 10g固定执行计划,oracle 10g执行计划 (转帖)
  7. 财帮子(caibangzi.com)网站架构
  8. RT Preempt Linux简介
  9. 我原来的chinaunix博客地址
  10. ACM程序设计 -L (字符串倒输出)