使用Android智能手机的陀螺仪控制相机桌面应用程序

时间:2016-10-10 12:14:29

标签: unity3d camera gyroscope osc

对于我所在大学的项目,我需要在我的笔记本电脑上创建一个 Unity3D应用程序,其中摄像头是一个站点,可以控制在任何方向旋转我的Android智能手机的陀螺仪(Nexus 5),无线或通过usbcable。

我已经看过OSC或Unity Remote 5应用程序的可能性,但到目前为止还没有找到一种方法来获得这个结果。

任何帮助或建议都会非常感激 - 我对这一切都没有多少经验。

谢谢!

2 个答案:

答案 0 :(得分:0)

如果我要这样做,那么我将使用UNET(Unity内置多人网络API)并通过LAN进行旋转同步。

在相机上我会有一个网络变换和一个脚本来根据加速度计输入来控制它的旋转。

手机上的版本将是权限,并通过网络将其旋转同步到笔记本电脑上的客户端。

优点:无线,快速(通过wifi),使其工作所需的代码非常少,在线提供大量文档。

缺点:完全依赖于你的网络情况,你必须做很多试验和错误才能获得顺畅的体验(不是生涩)。

至于在设备上获取倾斜输入,Unity在这里有一个很好的教程:https://unity3d.com/learn/tutorials/topics/mobile-touch/accelerometer-input

这很直接。

听起来像一个有趣的项目,祝你好运!

答案 1 :(得分:0)

可以通过有线,WiFi,蓝牙2.0或蓝牙4.0(BLE)来实现。我已经为我目前的工作实现了WiFi和蓝牙2.0所需的功能。

很容易获得旋转值并从Android流式传输,但我不认为您需要做任何事情,因为您可以使用它! https://play.google.com/store/apps/details?id=de.lorenz_fenster.sensorstreamgps&hl=en

所以问题是你如何收到Unity发送的数据。答案是UdpClient类。

如果你需要更高的可靠性,因为你的大学图书馆里的每一个学生都在捣乱机器人先生和你的巨大滞后,那么我可以告诉你如何在蓝牙中实现同样的东西,这不像.NET 2.0那样过分琐碎(哪个统一使用)并不支持蓝牙库,但有解决方案......