【Unity3D自学记录】Unity3D之localEulerAngles

本文详细介绍了Unity中localEulerAngles属性的使用方法,通过多个实验案例解释了该属性如何控制对象相对于其父对象的旋转,并展示了不同轴向旋转的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自身欧拉角,说这是对象自己相对于父对象的旋转角度,该变量可用于读取和设置该角度。 不可以用于递增,角度超过360度将会失效(不懂)。
创建一个cube对象并reset,创建一个测试脚本绑定到该cube对象上,在脚本的start方法中设置cube对象的欧拉角,形如:
transform.localEulerAngles = new Vector3(0, 0, 0);
经过几番测试如下:
1、transform.localEulerAngles = new Vector3(0, 0, 0);物体的旋转方向是默认的方向。

2、transform.localEulerAngles = new Vector3(90, 0, 0);沿x轴指向看,逆时针旋转90度。

3、transform.localEulerAngles = new Vector3(0, 90, 0);沿y轴指向看,逆时针旋转90度。

4、transform.localEulerAngles = new Vector3(0, 0, 90);沿z轴指向看,逆时针旋转90度。

如果将以上的角度改成负数,沿着改变轴的指向看,将会是顺时针方向。

4、测试下文档上说的不能对其递增。在update方法里每帧沿z方向的角度多加1度,看下效果。发现能一直旋转,变量值一直增加,transform里R的z参数在[-180,180]之间变化。

5、现在测试下,相对于父对象的旋转。创建一个空物体,作为上面的cube的父对象,将空物体沿z轴随意旋转一个角度,此时cube的角度与空物体完全一样。start方法中添加 transform.localEulerAngles = new Vector3(0, 0, 90);另cube对象旋转,我们来看看效果。

空物体如图

分下面两种情况:

1)cube对象不做任何更改,此时与父物体的角度完全一样。旋转后如下

与上图的父对象对比,以及与右上角的坐标轴对比,好像它相对于自己旋转也能说得通,相对于父对象旋转也能说得通。

2)这次我们将cube对象沿z轴旋转一个角度,旋转后不与父对象重合。

启动项目,旋转后如下:

发现与上面的1)里的一模一样,说明cube旋转的角度由其父对象的角度决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值