1、角度相关
// 相对世界坐标的角度
this.transform.eulerAngles(与Inpector界面显示的相同,this.transform.rotation是四元数,显示的不一样)
// 相对于父对象的角度
this.transform.localEulerAngles// 注意:
(1)设置角度与设置位置一样,不能单独设置xyz,要一起设置。如果希望改变的角度是Inpector界面显示的内容,一定是改变相对父对象的角度
(2)即使Inspector面板上显示的是负数,通过以上方法得到的角度都是正数,范围是0~360
2、旋转相关
// 方式一:自己计算,和位置一样,不停改变角度即可
// 方式二:API计算
// 自转
// 每个轴具体转多少度
// 参数一:每个轴每一帧旋转的角度
// 参数二:默认不填,相对于自己坐标系进行旋转
this.transform.Rotate(new Vector3(0, 5, 0) * speed * Time.deltaTime)// 相对于某个轴转多少度
// 参数一:相对那个轴进行转动
// 参数二:转动的角度
// 参数三:默认不填就是相对于自己的坐标系进行旋转
this.transform.Rotate(Vector.up, speed * Time.deltaTime);// 相对于某一个点转
//

本文介绍了在Unity中处理角度和旋转的方法。包括获取相对世界坐标和父对象角度的技巧,强调设置角度时需要同时考虑xyz轴。还详细讲解了旋转的两种方式,包括自定义旋转角度和使用API进行旋转,并提供了绕轴旋转和绕点旋转的参数说明。在实际应用示例中,解释了为何在模拟太阳、地球、月亮系统时,设置月亮为地球的子对象以保持旋转半径稳定的重要性。
最低0.47元/天 解锁文章
3075

被折叠的 条评论
为什么被折叠?



