Unity-陀螺仪控制Camera旋转

使用陀螺仪控制Unity Camera旋转,需要注意两个问题:

1.左、右手坐标系转换:

陀螺仪的数据使用的坐标系是右手坐标系,而Unity场景的世界坐标系是左手坐标系,所以在使用陀螺仪数据时,需要将其转换为左手坐标系,代码如下:

Quaternion(-q.x, -q.y, q.z, q.w)
或者
Quaternion(q.x, q.y, -q.z, -q.w)

w = cos(theta/2)
x = ax * sin(theta/2)
y = ay * sin(theta/2)
z = az * sin(theta/2)
右手坐标系转左手坐标系,首先要将Z变为-Z,由于左右手坐标系的旋转方向相反,所以theta为-theta,代入求得Quaternion(-q.x, -q.y, q.z, q.w)

2.使用场景:

对于VR场景,通常是竖着放置手机,因此手机需要绕X轴旋转90度,即

Quaternion.Euler
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值