Transform角度和旋转

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

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

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);

// 相对于某一个点转

//

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值