Unity---有关游戏物体角度的两种赋值方法这件事


Unity几个角度方法的区别

平常我们对物体的的世界坐标赋值的时候,会使用三维坐标系,很直观的赋值位置。

transform.position = new Vector3(1, 1, 1);

当我们给物体赋值角度的时候,肯定也想用在三维坐标系中直观的方式赋值角度,但是使用欧拉角,会导致一种欧拉角中的万向节死锁,所以在Unity中对物体的赋值并不会直接用欧拉角的方式,而是使用四元数Quaternion。

四元数是一种高阶复数,会比较难理解,所以我们一般都会用欧拉角转换为四元数来间接的对物体赋值,这样看着比较直观,也不会导致死锁。

//两种方法。
//把欧拉角转换为四元数,然后复制给rotation(rotation其实就是四元数类型的)
transform.rotation = Quaternion.Euler(0, 0, 0);
//直接对物体赋值角度
transform.localEulerAngles = new Vector3(0, 0, 0);
posted @ 2020-09-17 15:37  Fflyqaq  阅读(1378)  评论(0编辑  收藏  举报