Unity3D中四元数与欧拉角的相互转换入门
创作时间:
作者:
@小白创作中心
Unity3D中四元数与欧拉角的相互转换入门
引用
CSDN
1.
https://m.blog.csdn.net/2401_82978699/article/details/143569763
代码示例:
public class siyuanshu : MonoBehaviour
{
void Start()
{
//1.欧拉角转四元数
Quaternion q2 = Quaternion.Euler(60, 0, 0);
GameObject obj2 = GameObject.CreatePrimitive(PrimitiveType.Cube);
obj2.transform.rotation = q2;
//2.四元数转欧拉角
print(q2.eulerAngles);
}
}
运行结果:
1.
Quaternion.Euler(float x, float y, float z)
- 作用:这个方法接受三个
float
类型的参数,分别代表绕X轴、Y轴和Z轴旋转的欧拉角(以度为单位),并返回一个
Quaternion
对象,该对象表示这三个欧拉角对应的旋转。 - 参数:
- x
:绕X轴旋转的角度(度)。 - y
:绕Y轴旋转的角度(度)。 - z
:绕Z轴旋转的角度(度)。 - 执行顺序 z-x-y
- 返回值:一个
Quaternion
对象,表示给定的欧拉角旋转。 - 在本代码中的使用:
Quaternion q2 = Quaternion.Euler(60, 0, 0);
这行代码创建了一个四元数
q2
,它表示绕X轴旋转60度,绕Y轴和Z轴不旋转(即旋转角度为0)。
2.
GameObject.CreatePrimitive(PrimitiveType type)
- 作用:这个方法接受一个
PrimitiveType
枚举类型的参数,并返回一个
GameObject
对象,该对象是一个具有指定基本形状(如立方体、球体等)的新游戏对象。 - 参数:
- type
:一个
PrimitiveType
枚举值,指定要创建的基本形状。 - 返回值:一个
GameObject
对象,它是新创建的基本形状游戏对象。 - 在本代码中的使用:
GameObject obj2 = GameObject.CreatePrimitive(PrimitiveType.Cube);
这行代码创建了一个新的立方体游戏对象,并将其赋值给
obj2
变量。
3.
Transform.rotation
- 作用:这是一个属性,用于获取或设置游戏对象的旋转(以
Quaternion
表示)。 - 类型:
Quaternion
。 - 可读写:是。
- 在本代码中的使用:
obj2.transform.rotation = q2;
这行代码将之前创建的
q2
四元数(表示绕X轴旋转60度)赋值给
obj2
游戏对象的
Transform
组件的
rotation
属性,从而使立方体绕X轴旋转60度。
在这部分代码中,实现了将一个欧拉角转换为四元数,并将这个四元数旋转应用到一个新创建的立方体游戏对象上。
** 综上所述,这段代码通过
Quaternion.Euler
方法将欧拉角转换为四元数,然后通过
GameObject.CreatePrimitive
方法创建一个立方体游戏对象,最后通过
Transform.rotation
属性将四元数旋转应用到这个立方体上。这是Unity中常见的用于控制游戏对象旋转的方法。**
public Vector3 eulerAngles { get; set; }
eulerAngles
属性
- 类型:
Vector3 - 可读写:是
- 描述:
- 获取:当你读取
eulerAngles
属性时,它返回一个
Vector3
,其中包含游戏对象当前旋转的欧拉角(X、Y、Z分量,以度为单位)。 - 设置:当你设置一个
Vector3
给
eulerAngles
属性时,游戏对象的旋转会被更新为对应的欧拉角旋转。Unity会自动将这个欧拉角转换为一个四元数(
Quaternion
),因为四元数在内部用于表示旋转,以避免万向锁(gimbal lock)等问题。
热门推荐
最鲜美的韭菜饼,凉了都不发硬,家常做法,特别软和香浓
一个人做独立游戏如何安排开发计划
新生入学结核病筛查怎么做→
GitHub源码如何找人帮忙指导
黑神话悟空:西游之后,天命之人的救赎与觉醒
USB3.0线束特征阻抗测试报告解读
葡萄籽油含有多种营养价值与生物活性 超临界CO2萃取法有望成为其主流提取方法
航母主题公园:集军事、科技、娱乐于一体的旅游胜地
合规纳税小课堂丨健全内控体系,争创A级纳税信用企业
【CAD:全方位提升你的设计效率】:从入门到精通,掌握CAD的每一个细节
水飞蓟宾胶囊:作用、使用方法与注意事项全解析
蛋白质和氨基酸代谢实验脲酶试验董慧讲解
如何通过热水疏通下水道
中山大学石牌坊:百年学府的历史见证
清朝最后一位武状元张三甲:三招败霍元甲的传奇人生
福州美食宝藏榜单 | 九大必吃美食,你吃过几个?
“一次挂号管三天” 看病如何更方便、更省心?
染色体异常是生育失败的元凶?PGS筛查如何确保健康宝宝!
不要谈到激素类药物就色变,这份安全使用指南请收下
电子病历系统的业务有哪些 电子病历系统功能 电子病历系统有哪些核心功能 最新解读
外来语中,日语占了近40%!没了日本词汇,我们还能开口说话吗?
河南中医药大学学费多少钱一年-各专业收费标准
如何选择购买和田玉的优质商家及参考价格
世界防治结核病日|“肺”话连篇之结核潜伏感染
劳动教育对孩子成长的4大好处
如何选择合适的储蓄方式并提高利息收益?这些储蓄方式在实际操作中有哪些技巧?
开发校园小程序:打造智慧校园的新篇章
在郑州哪些人群可以免费、半价坐地铁?看这篇就够!
高校辅导员岗位为什么那么难考
手术切除在神经纤维瘤NF1的应用