Unity3D与旋转相关的函数(C#)
2015-12-23 12:23
1031 查看
Unity3D与旋转相关的函数(C#)
1)void Rotate(Vector3 eulerAngles, float relativeTo)
应用一个欧拉角的旋转角度,eulerAngles.z度围绕z轴,eulerAngles.x度围绕x轴,eulerAngles.y度围绕y轴(这样的顺序)。
如果relativeTo留空或者设置为Space.Self 旋转角度被应用围绕变换的自身轴。(当在场景视图选择物体时,x、y和z轴显示)如果是Space.World 旋转角度被应用围绕世界的x、y、z轴。
2)void SetFromToRotation (Vector3 fromDirection, Vector3 toDirection)
把物体的fromDirection旋转到toDirection
3)void SetLookRotation(Vector3 view);
void SetLookRotation(Vector3 view,Vector3 up);
这个函数根据指定的向前和向上向量创建四元数,建立一个旋转使z轴朝向view, y轴朝向up。
4)static Quaternion AngleAxis(float angle,Vector3 axis)
物体沿指定轴向axis旋转角度angle。
5)Quaternion.eulerAngles
存放四元数对应的三个轴向的欧拉角,分别是绕x轴、y轴、z轴旋转的角度
6)static Quaternion FromToRotation(Vector3 fromDirection,Vector3 toDirection);
根据两个向量计算出旋转量,计算出来的旋转量为从fromDirection旋转到toDirection的旋转量,跟SetFromToRotation差不多,区别是可以返回一个Quaternion。通常用来让transform的一个轴向(例如 y轴)与toDirection在世界坐标中同步。
7)static Quaternion LookRotation(Vector3 forward);
static Quaternion LookRotation(Vector3 forward,Vector3 upwards);
使用指定的向前方向和向上方向来创建四元数,跟SetLootRotation差不多,区别是可以返回一个Quaternion。
8)static Quaternion RotateTowards(Quaternion from,Quaternion to, float maxDegreesDelta);
以maxDegreesDelta作为角度步长计算从from到to之间的旋转量
9)static Quaternion Slerp (Quaternion from : Quaternion to, float t)
球形插值, 从from转换到to,移动距离为t。当两个quaternion接近时,转换的速度会比较慢。
10)static Quaternion Lerp (Quaternion a, Quaternion b, float t)
跟Slerp相似,且比Slerp快,.但是如果旋转角度相距很远则会看起来很差
11)static Quaternion Inverse (Quaternion rotation) :
返回与rotation相反的方向
12)static float Angle (Quaternion a, Quaternion b)
计算两个旋转之间的夹角。跟Vector3.Angle() 作用一样。
13)static Quaternion Euler (float x, float y, float z)
把旋转角度变成对应的Quaternion
14)void ToAngleAxis (out float angle, out Vector3 axis)
返回物体的旋转角度(物体的z轴和世界坐标z轴的夹角)和三维旋转轴的向量到变量out angle 和out axis
1)void Rotate(Vector3 eulerAngles, float relativeTo)
应用一个欧拉角的旋转角度,eulerAngles.z度围绕z轴,eulerAngles.x度围绕x轴,eulerAngles.y度围绕y轴(这样的顺序)。
如果relativeTo留空或者设置为Space.Self 旋转角度被应用围绕变换的自身轴。(当在场景视图选择物体时,x、y和z轴显示)如果是Space.World 旋转角度被应用围绕世界的x、y、z轴。
2)void SetFromToRotation (Vector3 fromDirection, Vector3 toDirection)
把物体的fromDirection旋转到toDirection
3)void SetLookRotation(Vector3 view);
void SetLookRotation(Vector3 view,Vector3 up);
这个函数根据指定的向前和向上向量创建四元数,建立一个旋转使z轴朝向view, y轴朝向up。
4)static Quaternion AngleAxis(float angle,Vector3 axis)
物体沿指定轴向axis旋转角度angle。
5)Quaternion.eulerAngles
存放四元数对应的三个轴向的欧拉角,分别是绕x轴、y轴、z轴旋转的角度
6)static Quaternion FromToRotation(Vector3 fromDirection,Vector3 toDirection);
根据两个向量计算出旋转量,计算出来的旋转量为从fromDirection旋转到toDirection的旋转量,跟SetFromToRotation差不多,区别是可以返回一个Quaternion。通常用来让transform的一个轴向(例如 y轴)与toDirection在世界坐标中同步。
7)static Quaternion LookRotation(Vector3 forward);
static Quaternion LookRotation(Vector3 forward,Vector3 upwards);
使用指定的向前方向和向上方向来创建四元数,跟SetLootRotation差不多,区别是可以返回一个Quaternion。
8)static Quaternion RotateTowards(Quaternion from,Quaternion to, float maxDegreesDelta);
以maxDegreesDelta作为角度步长计算从from到to之间的旋转量
9)static Quaternion Slerp (Quaternion from : Quaternion to, float t)
球形插值, 从from转换到to,移动距离为t。当两个quaternion接近时,转换的速度会比较慢。
10)static Quaternion Lerp (Quaternion a, Quaternion b, float t)
跟Slerp相似,且比Slerp快,.但是如果旋转角度相距很远则会看起来很差
11)static Quaternion Inverse (Quaternion rotation) :
返回与rotation相反的方向
12)static float Angle (Quaternion a, Quaternion b)
计算两个旋转之间的夹角。跟Vector3.Angle() 作用一样。
13)static Quaternion Euler (float x, float y, float z)
把旋转角度变成对应的Quaternion
14)void ToAngleAxis (out float angle, out Vector3 axis)
返回物体的旋转角度(物体的z轴和世界坐标z轴的夹角)和三维旋转轴的向量到变量out angle 和out axis
相关文章推荐
- Unity3D研究院之主角面朝方向一定区域内对象角度计算
- unity3d easytouch计算摇杆旋转角度以及摇杆八方向控制角色
- 在Unity3D中加载外部图片的两种方法
- Unity3D游戏内存瘦身 UI优化是关键
- Unity3D 中 用quaternion 来对一个坐标点进行旋转的初步体会
- Unity3D之触摸输入单击与双击研究
- unity3d简单血条的制作方法
- unity 2D摄像机移动导致FPS骤降的大坑
- unity 5.3.1播放视频文件
- unity3d API汇总
- [Unity实战]攻击范围的绘制
- Community detection
- Unity3d 4.6版本时assetbundle.createFromFile的问题
- Unity 绘制多边形
- (插播)unity的 异常捕捉和 ios Android 崩溃信息的捕捉。
- Unity3D游戏开发之截屏保存精彩瞬间
- BCE0019: '' is not a member of 'UnityEngine.Component'的问题
- Unity 5.x BuildAssetBundles 角色换装 加载ab包 资源管理 根据部件组合完整角色
- Unity UGUI Button 按下,抬起,连续按下,鼠标退出事件响应函数
- Unity3d使用MeshCollider检测区域