Unity 鼠标旋转物体360展示
PC端
- using UnityEngine;
- using System.Collections;
- public class DragRound : MonoBehaviour {
- public Transform obj;
- public float speed = ;
- private bool _mouseDown = false;
- void Update ()
- {
- if (Input.GetMouseButtonDown())
- _mouseDown = true;
- else if (Input.GetMouseButtonUp())
- _mouseDown = false;
- if (_mouseDown)
- {
- float fMouseX = Input.GetAxis("Mouse X");
- float fMouseY = Input.GetAxis("Mouse Y");
- obj.Rotate(Vector3.up, -fMouseX * speed, Space.World);
- obj.Rotate(Vector3.right, fMouseY * speed, Space.World);
- }
- }
- }
移动端:
- using UnityEngine;
- using System.Collections;
- public class DragRoundPhone : MonoBehaviour {
- private Vector3 startFingerPos;
- private Vector3 nowFingerPos;
- private float xMoveDistance;
- private float yMoveDistance;
- private int backValue = ;
- public GameObject obj;
- void Update()
- {
- if (Input.touchCount <= )
- {
- return;
- }
- if (Input.GetTouch().phase == TouchPhase.Began)
- {
- //Debug.Log("======开始触摸=====");
- startFingerPos = Input.GetTouch().position;
- }
- nowFingerPos = Input.GetTouch().position;
- if ((Input.GetTouch().phase == TouchPhase.Stationary) || (Input.GetTouch().phase == TouchPhase.Ended))
- {
- startFingerPos = nowFingerPos;
- //Debug.Log("======释放触摸=====");
- return;
- }
- // if (Input.GetTouch(0).phase == TouchPhase.Ended) {
- //
- // }
- if (startFingerPos == nowFingerPos)
- {
- return;
- }
- xMoveDistance = Mathf.Abs(nowFingerPos.x - startFingerPos.x);
- yMoveDistance = Mathf.Abs(nowFingerPos.y - startFingerPos.y);
- if (xMoveDistance > yMoveDistance)
- {
- if (nowFingerPos.x - startFingerPos.x > )
- {
- //Debug.Log("=======沿着X轴负方向移动=====");
- backValue = -; //沿着X轴负方向移动
- }
- else
- {
- //Debug.Log("=======沿着X轴正方向移动=====");
- backValue = ; //沿着X轴正方向移动
- }
- }
- else
- {
- if (nowFingerPos.y - startFingerPos.y > )
- {
- //Debug.Log("=======沿着Y轴正方向移动=====");
- backValue = ; //沿着Y轴正方向移动
- }
- else
- {
- //Debug.Log("=======沿着Y轴负方向移动=====");
- backValue = -; //沿着Y轴负方向移动
- }
- }
- if (backValue == -)
- {
- obj.transform.Rotate(Vector3.up * - * Time.deltaTime * , Space.World);
- }
- else if (backValue == )
- {
- obj.transform.Rotate(Vector3.up * Time.deltaTime * , Space.World);
- }
- else if (backValue == )
- {
- obj.transform.Rotate(Vector3.right * Time.deltaTime * , Space.World);
- }
- else if (backValue == -)
- {
- obj.transform.Rotate(Vector3.right * - * Time.deltaTime * , Space.World);
- }
- }
- }
Unity 鼠标旋转物体360展示的更多相关文章
- unity鼠标拖动物体旋转
using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> / ...
- 【three.js第三课】鼠标事件,移动、旋转物体
1.下载three.js的源码包后,文件夹结构如下: 2.在[three.js第一课]的代码基础上,引入OrbitControls.js文件,此文件主要用于 对鼠标的操作. 该文件位置:在文件结构中 ...
- 关于Unity中鼠标选取物体的解决方案
今天修改了之前写的飞机大战的代码,原来的不足之处是点击屏幕的任意一点都可以移动飞机,也就是没有检测鼠标到底有没有点到飞机上. 我先是用之前的3D拾取技术,发现没有反应,才意识到我这个plane飞机节点 ...
- unity的旋转
绕着一个点旋转 : transform.RotateAround(Vector3.zero, Vector3.up, speed* Time.deltaTime ); 第一个参数,点的位置.第二个参数 ...
- 通过CSS3实现:鼠标悬停图片360度旋转效果
效果很好玩,代码很简单: 效果: 鼠标放置在图片上:360度顺时针旋转 鼠标离开图片:图片260度逆时针旋转 只要将下面代码拷贝过去,并将图片改成你想要的就可以看到效果 <!doctype ht ...
- Unity 3d 实现物体跟随摄像机视野运动
https://blog.csdn.net/qq_31411825/article/details/61623857 Unity 3d 实现物体跟随摄像机视野运动Created by miccall ...
- Unity 鼠标控制视角功能和动画播放冲突解决办法
环境是 unity 5.6.4 情况说明: 1 模型动画单独播放是没问题的. 2 鼠标控制模型是没问题的. 3 在start中播放模型动画,即使鼠标控制视角代码还挂载着,但是模型却无法用鼠标旋转等操作 ...
- 鼠标划过用户名时在鼠标右下角显示div展示用户资料
最近做一个网站论坛,为了方便会员之间相互了解,又不想再做一个页面展示用户资料,就想到了鼠标划过用户名时在鼠标右下角显示div展示用户资料这个效果, 这里要注意的该方法不是给每个用户名的旁边都绑定一个d ...
- canvas实现跟随鼠标旋转的箭头
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta ht ...
随机推荐
- (转)spring 框架介绍
转自:http://www.cnblogs.com/wawlian/archive/2012/11/17/2775435.html 1.Spring MVC简介 Spring MVC框架是有一个MVC ...
- js及jsp.java查错的几种方式
一.js 1.console.log("你想输出的内容"); 2.alert("你想输出的内容"); 3.debugger;(记得打开F12) 4.快速找到js ...
- int*v=newint[src.cols*4]
在学习:使用OpenCV2.x计算图像的水平和垂直积分投影中,有下图一种代码: 对比上面两个代码对于同一张图片求得的结果会发现不同: 为什么会出现这个原因呢?不知道为啥这样初始化? 首先查看一下图片深 ...
- numpy基础知识练习
# 1.导入numpy模块 # 2.创建一个大小为10的空向量 # 3.创建一个大小为10的空向量,但是第五个值为1 # 4.创建一个10-49的ndarray数组 # 5.创建一个3x3的矩阵,其值 ...
- JS定义类的六种方式详解
转载自: http://www.jb51.net/article/84089.htm 在前端开发中,经常需要定义JS类.那么在JavaScript中,定义类的方式有几种,分别是什么呢?本文就JS定义类 ...
- CSS遮罩层简易写法
现在很多站点弹出框,都需要一个遮罩层.写法很多,以下是我比较喜欢的一种: .box{ position:absolute; top:0; bottom:0; left:0; right:0; ba ...
- LUT
FPGA大多为LUT+寄存器的够,实现工艺为SRAM:寄存器很好理解,存储器的一种,用于存储指令和数据,多位于CPU内.拿什么是LUT呢? LUT:即Look up table,查找表,其本质是一个R ...
- layui下拉框数据过万渲染渲染问题解决方案
方案一:layui下拉框分页插件 https://fly.layui.com/jie/29002/ 此插件我用了下浏览器缓存有问题,而且当下拉框数据量过万后,会一直渲染不出来,期待后期作者优化 如图下 ...
- LED Decorative Light Manufacturer - Decorative Lighting: Functionality And Aesthetics
Whether it is for general ambient lighting, task lighting or accent lighting, the decorative lightin ...
- EAC3 mantissa quantization(VQ & GAQ)
EAC3基于hebap来决定mantissa的quantizer. hebap如下: mantissa 使用VQ(vector quantization) 和GAQ(gain adaptive qua ...