c# - 检测陀螺仪相机的初始方向,但仅检测航向
问题描述
所以我正在使用我在这里找到的脚本(如何在当前设备方向启用陀螺仪相机)但我只希望这个初始设备方向影响航向。
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);
}
对于背景故事,我有一些室内效果图,带有陀螺仪控制环视空间。我不想影响整个世界的方向,我只想让他们面向“正确”的方向,就空间的最佳视角而言。(如果不是,这仅取决于设备的定向方式以及跳入空间查看房间随机、无趣的角落的常见情况。)
使用上面的脚本,它会重置所有三个轴上的相机(以及整个世界方向),所以如果用户以不寻常的角度拿着平板电脑,那么事情就会变得非常奇怪。
这是一张帮助解释的快速图片:
我总是希望初始视图与绿色箭头对齐,而不是像红色箭头那样随机。但是只是标题,只要标题正好在房间的最佳位置,就可以看着地板或天花板。
谢谢!
解决方案
推荐阅读
- xamarin.forms - Xamarin 表单手势拖拽闪烁
- laravel - Laravel 在 cpanel 登录问题中恢复
- c# - Azure Web 应用程序上的 ASP.NET Core,添加 Azure Web 应用程序诊断会在启动时引发 FileNotFoundException
- c# - 如何将控件转发到自定义控件中的堆栈面板?
- android - 如何检查发生的另一个事件而不是预期的返回码?
- python - 在 tensorlfow 对象检测 api 中导出推理图时出错
- python - 你能在多个 url 上训练 Scrapely Scraper 吗?
- flutter - 列表视图实现
- java - 如何创建 bash 文件以使用 VM 参数启动 Java 程序
- java - 如何在用户地图缩放中调整多个圆圈的大小?