所以我使用的是我在这里(How to enable gyroscope camera at current device orientation)上找到的脚本,但我只希望此初始设备方向会影响标题。
Quaternion offset;
void Awake()
{
Input.gyro.enabled = true;
}
void Start()
{
//Subtract Quaternion
offset = transform.rotation * Quaternion.Inverse(GyroToUnity(Input.gyro.attitude));
}
void Update()
{
GyroModifyCamera();
}
void GyroModifyCamera()
{
//Apply offset
transform.rotation = offset * GyroToUnity(Input.gyro.attitude);
}
private static Quaternion GyroToUnity(Quaternion q)
{
return new Quaternion(q.x, q.y, -q.z, -q.w);
}
对于背景故事,我有一些内部效果图,并带有陀螺仪控件,可以环顾整个空间。我不想影响整个世界的方向,我只是希望它们以最佳的空间视角面向“正确的”方向。 (如果不是,则仅取决于设备的方向及其跳入某个空间的角度,该空间注视着房间的随机,无趣的角落。)
使用上面的脚本,它会在所有三个轴上(因此在整个世界方向上)重置摄影机,因此,如果用户以不寻常的角度握住平板电脑,那么事情会变得很奇怪。
这里有一张简短的图片来辅助说明:
我一直希望初始视图与绿色箭头对齐,而不是像红色箭头那样随意排列。但是只是标题,只要标题正好在房间的最佳位置,就可以看着地板或天花板。
谢谢!