Unity实现物体沿自身的任意轴向旋转
本文实例为大家分享了Unity实现物体沿任意轴向旋转,供大家参考,具体内容如下
一、创建一个需要旋转的物体
二、编写控制该物体的脚本
using UnityEngine; using System.Collections; public class Test_ElectricFan : MonoBehaviour { public bool isOpen=false; //是否开始旋转 public int speed=2; //旋转的速度 // Use this for initialization void Start () { } // Update is called once per frame void Update () { if(isOpen) { RotateAxisOfSelf(SelfAxis.Y,speed); } } /// <summary> /// 让物体绕自身的轴旋转 /// </summary> /// <param name="AxisX">自身的轴</param> private void RotateAxisOfSelf(SelfAxis selfAxis,int speed=2) { switch(selfAxis) { case SelfAxis.X: this.transform.Rotate (new Vector3(1*Time.deltaTime*speed,0,0)); break; case SelfAxis.Y: this.transform.Rotate (new Vector3(0,1*Time.deltaTime*speed,0)); break; case SelfAxis.Z: this.transform.Rotate (new Vector3(0,0,1*Time.deltaTime*speed)); break; default: this.transform.Rotate (new Vector3(1*Time.deltaTime*speed,0,0)); break; } } //枚举轴 enum SelfAxis { X, Y, Z, } }
三、将编写好的控制物体的脚本添加给需要沿自身任意轴旋转的物体上,然后运行程序,接着点击IsOpen打钩此时物体开始旋转
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Unity实现绕任意轴任意角度旋转向量
本文实例为大家分享了Unity实现绕任意轴任意角度旋转向量的具体代码,供大家参考,具体内容如下 游戏中有一需求,就是一个矩形或者Cube绕着某一点旋转任意角度,现在给出下面算法. public static Vector3 RotateRound(Vector3 position, Vector3 center, Vector3 axis, float angle) { Vector3 point = Quaternion.AngleAxis(angle, axis) * (position -
-
Unity3D实现鼠标控制旋转转盘
在培训模拟考试软件中,我们经常会遇到类似用鼠标旋转转盘打开开关的需求.让用户更加真实的操作设备仪器.接下来说下我的解决方案. 因为鼠标操作是在UI平面上,所以我们要先将被操作的模型的世界坐标转换到屏幕坐标上.代码如下: ModelScreenPos = camera.WorldToScreenPoint(Model.transform.position); 这里有个声明,这个模型代表的是转盘,而且要保证模型的中心点在转盘中心.然后我们就要计算鼠标以模型在屏幕坐标为中心点的旋转偏移量.我们开始以鼠
-
Unity3D使用鼠标旋转缩放平移视角
Unity使用鼠标旋转缩放平移视角,供大家参考,具体内容如下 用代码在Game界面完美实现Scene界面的操作方法. 使用方法:把脚本挂在相机上,把跟踪的target拖到脚本上. 视角跟踪的是一个空物体,当然如果你是做RPG游戏需要跟踪某一角色的视角,那就不需要中键平移功能,把空物体换成角色就行. 代码主要是分三部分功能进行实现. 1.右键拖动控制视角的旋转: 2.滚轮旋转控制视角的缩放: 3.中键拖动控制视角的平移. 右键拖动控制旋转主要是用GetAxis获得鼠标在x方向与y方向平移的距离,相
-
Unity向量按照某一点进行旋转
本文实例为大家分享了Unity向量按照某一点进行旋转的具体代码,供大家参考,具体内容如下 一.unity的旋转 首先要知道一点就是在Unity的旋转中使用过四元数进行旋转的,如果对一个物体的rotation直接赋值你会发现结果不是你最终想要的结果,这个时候我们需要去借助Quaternion来进行旋转. 二.向量按照原点进行旋转 用到的Unity内置方法Quaternion.AngleAxis(float angle,Vector3 axis) 第一个参数就是我们需要旋转的角度 angle大于0时
-
Unity控制指针旋转到指定位置
本文实例为大家分享了Unity控制指针旋转到指定位置的具体代码,供大家参考,具体内容如下 一.搭建基础的表盘.指针 二.编写控制指针旋转到指定位置的脚本: using UnityEngine; using System.Collections; public class Test_OnDashboard : MonoBehaviour { public int thiAngle = 0; public int rotateSpeed = 2; public bool openRotate = f
-
Unity实现旋转扭曲图像特效
旋转扭曲特效是指在一个圆形区域内扭曲所渲染的图像,其他像素的旋转程度随着距离的变化而变化.具体可以通过修改Shader来实现. 原始图片 扭曲图片 /*==================================================== 屏幕扭曲特效Shader ======================================================*/ Shader "Hidden/TwirlEffects" { Properties { _M
-
Unity3D使用陀螺仪控制节点旋转
本文实例为大家分享了Unity3D陀螺仪控制节点旋转的具体代码,供大家参考,具体内容如下 /******************************************************************** Desc: 陀螺仪对相机的逻辑类. *********************************************************************/ using System; using System.Collections; using
-
Unity3D实现物体旋转缩放移动效果
本文实例为大家分享了Unity3D实现物体旋转缩放移动的具体代码,供大家参考,具体内容如下 由于项目运行在安卓上,运用到了插件,比较麻烦.你们可以在触发条件上进行修改,不用插件也可以. 1.下载FingerGestures 插件 下载地址 点击打开链接 2.导入插件,创建场景 将预设Finger Gestures Initializer 拖拽到 Hierarchy 视图中 3.添加脚本,拖拽到摄像机上.创建一个方块拖拽到脚本target 属性上. using UnityEngine; using
-
Unity实现物体沿自身的任意轴向旋转
本文实例为大家分享了Unity实现物体沿任意轴向旋转,供大家参考,具体内容如下 一.创建一个需要旋转的物体 二.编写控制该物体的脚本 using UnityEngine; using System.Collections; public class Test_ElectricFan : MonoBehaviour { public bool isOpen=false; //是否开始旋转 public int speed=2; //旋转的速度 // Use this for initializat
-
unity3D实现物体任意角度自旋转
本文实例为大家分享了unity3D实现物体任意角度自旋转的具体代码,供大家参考,具体内容如下 主要涉及函数: Input.GetAxis("Mouse x") 可取得鼠标横向(x轴)移动增量 Input.GetAxis("Mouse y") 可取得鼠标竖向(y轴)移动增量 通过勾股定理获取拖拽长度,长度越长旋转越快.在project setting--Input 可以设置. 这里用Cube来做例子,因为方体看旋转比较清楚,如图: 代码如下: using UnityE
-
Unity之绕轴进行旋转的操作
先上一张效果图 using UnityEngine; using System.Collections; public class TestRotateRound : MonoBehaviour { public GameObject Sphere; private float curtTime = 0.0f; void Update() { //使用C#封装好的代码RotateAround gameObject.transform.RotateAround(Sphere.transform.p
-
Unity实现物体跟随鼠标移动
本文实例为大家分享了Unity实现物体跟随鼠标移动的具体代码,供大家参考,具体内容如下 相关函数 Vector3.Lerp 线性插值C# => static Vector3 Lerp(Vector3 from, Vector3 to, float t); Vector3.MoveTpwards 移向C# => static function MoveTowards(current: Vector3, target: Vector3, maxDistanceDelta: float): Vect
-
Unity实现物体左右移动效果
本文实例为大家分享了Unity实现物体左右移动效果的具体代码,供大家参考,具体内容如下 效果如下 代码: using UnityEngine; using System.Collections; //Add this script to the platform you want to move. //左右移动的平台 public class MovingPlatform : MonoBehaviour { //Platform movement speed.平台移动速度 public floa
-
Unity给物体添加多个Tag的实现
在unity中,我们经常通过给物体添加标签来判断这个物体是不是我们想要的 但是unity默认只能添加一个标签,那如果我们要给一个物体添加多个标签应该怎么办 首先,我们定义一个Tag.cs类,这个类用来存储物体的tag信息 public class Tags : MonoBehaviour{ public List<string> tags=new List<string>(); } 然后创建一个单例类TagManager.cs用来管理tag public class TagMana
-
unity实现物体延时出现
本文实例为大家分享了unity实现物体延时出现的具体代码,供大家参考,具体内容如下 新建一个cube和plane,隐藏cube,脚本挂在plane上. 1. update计时器实现 using System.Collections; using System.Collections.Generic; using UnityEngine; //一个隐藏的物体等待t秒后显示,updata计时器实现 public class activeShow : MonoBehaviour { public Ga
-
Unity实现物体运动时画出轨迹
本文实例为大家分享了Unity实现物体运动时画出轨迹的具体代码,供大家参考,具体内容如下 1.新建空物体,上赋LineRenderer 2.新建空物体,把轨迹画出来,设计和脚本. 3.LineMark的脚本是 using System.Collections; using System.Collections.Generic; using UnityEngine; public class LineMark : MonoBehaviour { private GameObject clone;
-
Pandas 重塑(stack)和轴向旋转(pivot)的实现
import numpy as np import pandas as pd from pandas import Series,DataFrame 一.重塑 stack:将数据的列索引旋转为行索引 unstack:将数据的行索引旋转为列索引 df = DataFrame({'水果':['苹果','梨','草莓'], '数量':[3,4,5], '价格':[4,5,6]}) print(df) 价格 数量 水果 0 4 3 苹果 1 5 4 梨 2 6 5 草
随机推荐
- 初学JavaScript第二章
- js判断文件格式及大小的简单实例(必看)
- JS操作Cookies的小例子
- JS实现微信里判断页面是否被分享成功的方法
- 在Framework4.0中实现延迟加载的实现方法
- php格式化json函数示例代码
- JavaScript实现审核流程状态的动态显示进度条
- Linux tar 命令出现 Cowardly refusing to create an empty archive 错误解决办法
- C语言之字符串模糊查询方法的实现
- 利用JQuery和Servlet实现跨域提交请求示例分享
- js 动态生成html 触发事件传参字符转义的实例
- 百度地图PC端判断用户是否在配送范围内
- 在IOS环境下配置DHCP服务6500
- php插入中文到sqlserver 2008里出现乱码的解决办法分享
- js实现改进的仿蓝色论坛导航菜单效果代码
- Android利用Intent启动和关闭Activity
- CS 之 在浩方用HLDS建服务器
- Google排名算法改变 不在以外部链为主
- 详解Android PopupWindow怎么合理控制弹出位置(showAtLocation)
- python set内置函数的具体使用