Unity脚本-Rotate旋转相关知识点

1,Transform旋转

transform.Rotate(X, Y, Z);//分别绕X,Y,Z轴旋转,可写为绕某个轴旋转,栗子transform.Rotate(0, 90, 0);

transform.Rotate(Vector3.right * Time.deltaTime);//以欧拉角旋转,顺序是ZXY,right是向X轴旋转1度

transform.Rotate(0, 45, 0, Space.World);//绕世界坐标系的XYZ轴旋转,也就是其顶层父物体的坐标系,如果自身在顶层则没有区别,并不是绕点旋转,而是不按照自身的坐标系旋转

transform.Rotate(Vector3.up, Space.Self);//绕自身坐标系旋转,这是默认的

transform.RotateAround(Vector3.zero, Vector3.up, 20 * Time.deltaTime);//绕点旋转,旋转轴,角度

transform.rotation = Quaternion.identity;//旋转可由四元数直接指定

transform.eulerAngles = new Vector3(angle);//由欧拉角直接指定

自动旋转:

在update中旋转并配合Time.deltaTime即可

2.Quaternion四元数

从以上可以看出我们既可以按角-轴旋转也可以根据向量计算出要旋转的角度

平滑旋转:

transform.rotation = Quaternion.Slerp (from : Quaternion, to : Quaternion,Time.fixedTime* smooth);

Lerp插值比Slerp更快但是如果旋转较远看起来就比较差。

注视旋转:

Quaternion LookRotation(Vector3 forward, Vector3 upwards);

创建一个旋转,沿着forward(z轴)并且头部沿着upwards(y轴)的约束注视。 也就是建立一个旋转,使z轴朝向forward,y轴朝向up。

所得的结果是 以forward为目标朝向时的旋转角,用于控制角色旋转很有用

3,刚体旋转

rigidbody.MoveRotation (rot : Quaternion)

对于运动学刚体,它基于刚体的运动应用摩擦力。模拟刚体的旋转。

如果你想其他的刚体与运动学刚体交互,你需要在FixedUpdate函数中使用它。

4,注视

transform.LookAt (target : Transform, worldUp : Vector3 = Vector3.up)

旋转物体使z轴(forward)指向目标物体。

当该物体设置了LookAt并指定了目标物体时,该物体的z轴将始终指向目标物体,在设置了worldUp轴向时,该物体在更接近指定的轴向是旋转便的灵活,注意worldUp指的是世界空间,不论你物体在什么位置,只要接近指定的轴方向,旋转会变的更灵活。

5,DoTween旋转
transform.DoLocalRotate();

transform.DoRotate();//函数记不大清楚了,应该就这两个,不清楚的可以在查下

unity中旋转rotation默认是以四元数存储的,按我们的习惯是欧拉角,通常需要将欧拉角转为四元数

原文地址:https://www.cnblogs.com/allyh/p/9418982.html

时间: 2024-10-12 10:15:26

Unity脚本-Rotate旋转相关知识点的相关文章

CSS3 skew倾斜、rotate旋转动画

css3出现之前.我们实现一个对象的一组连续动画须要通过JavaScript或Jquery编写,脚本代码较为复杂: 若须要实现倾斜.旋转之类的动画难度将更高(我还没试过用JavaScript或Jquery怎样实现),并且即使能实现预计花的时间代价及维护难度是非常大的,非常多时候仅仅能依靠绘图工具制作此类动画文件: 有时候在想假设不用脚本语言,也不用绘图工作制作动画文件.就能在网页上实现倾斜.旋转之类的动画效果多好. 近期挤出一些业余时间学习CSS3,当中就包括非常多动画演示样例,花了点时间学习和

Unity 脚本的执行顺序

在Unity脚本中常用到的函数就是下面这些,他们的顺序也是按照箭头的方向执行的. Awake ->OnEable-> Start -> FixedUpdate-> Update  -> LateUpdate ->OnGUI ->OnDisable ->OnDestroy 1.Awake 用于在游戏开始之前初始化变量或游戏状态.在脚本整个生命周期内它仅被调用一次.Awake在所有对象被初始化之后调用,所以你可以安全的与其他对象对话或用诸如GameObject.

Unity 脚本的未来发展

最近,我们谈到了Unity 的WebGL . 在那篇文中我们简要谈论到脚本在 WebGL  中的运行的新技术称为"IL2CPP" .然而IL2CPP 所代表的不只是适用于WebGL 的脚本解决方案,同时也是我们自己为了在更多平台上执行 .NET时能有高效能的方案. 在深入探究未来之前,让我们先谈谈现在吧. Unity 中脚本的现状 我们利用Mono (以及在 Windows Store App 和Windows Phone 上的WinRT )让C#变得容易使用,存取第三方资料库并最接近

Unity脚本中各函数成员的生命周期

在学习Unity时,掌握如何编写脚本是必须掌握的一项基本技能.但是关于Unity的游戏脚本中各函数的生命周期是怎样开始和结束的,它们的执行顺序是如何安排的?这一点我们要清楚的了解. 我们知道Unity中的脚本大多派生于MonoBehaviour类,所以可以重写MonoBehaviour类里面的方法来实现我们想要的功能.那么自定义脚本中的各函数执行顺序和MonoBehaviour里面的函数执行顺序大致是一样的. 首先介绍一下MonoBehaviour类里面的成员变量和成员函数. 1 public

UITableView相关知识点

//*****UITableView相关知识点*****// 1 #import "ViewController.h" 2 3 // step1 要实现UITableViewDataSource协议,因为tableView不存储数据 4 @interface ViewController () <UITableViewDataSource, UITableViewDelegate> 5 6 // step0 准备要显示的数据 7 @property(nonatomic,st

Unity脚本执行顺序自研框架

本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/52372611 作者:cartzhang 一.关于Unity脚本执行排序 1 Unity脚本执行排序的说明 在Unity中,要控制Unity的脚本执行顺序,Unity引擎本身已经有了一个脚本排序.这个排序在编辑器中可以编辑并设置. 它里面带有默认的,根据优先级来排定执行顺序.若没有在排序的均在default time排序的间隙

unity脚本自带函数执行顺序

在unity的脚本中,有大量的脚本执行按照预先确定的顺序执行的事件函数,由于篇幅有限,无法一一列举,这里只列举一些常用的自带函数的顺序,并论述他们之间的区别. 在Unity脚本中常用到的函数就是下面这些,他们的顺序也是按照箭头的方向执行的. Awake ->OnEable-> Start -> FixedUpdate-> Update  -> LateUpdate ->OnGUI ->OnDisable ->OnDestroy 秉着实践是检验真理的唯一标准,

拒绝IE8-,CSS3 transform rotate旋转动画效果(支持IE9+/chrome/firefox)

<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.jb51.net/" /> <title>拒绝IE8-,CSS3 transform rotate旋转动画效果(支持IE9+/chrome/firefox)</title> &l

垂直搜索的相关知识点总结

垂直搜索引擎大体上需要以下技术 1.Spider 2.网页结构化信息抽取技术或元数据采集技术 3.分词.索引 4.其他信息处理技术 垂直搜索引擎的技术评估应从以下几点来判断 1.全面性 2.更新性 3.准确性 4.功能性 垂直搜索的进入门槛很低,但是竞争的门槛很高.没有专注的精神和精湛的技术是不行的.行业门户网站具备行业优势但他们又是没有技术优势的,绝对不要想像着招几个人就可以搞定垂直搜索的全部技术,作为一个需要持续改进可运营的产品而不是一个项目来说对技术的把握控制程度又是垂直搜索成功的重要因素