我试图做的是: 我的智能手机将其方向(Gyro,Accel和Magnetic的融合)发送到控制器,控制器进一步处理数据,使其可以被SteamVr访问,而SteamVr又会向我发送我要发送回智能手机的帧。
到目前为止我取得的成就: 我实现了一个基本的android程序,它已经捕获了它的方向,将其打包成UDP数据报并将其发送到给定的IP地址。
我写了一个小的Java程序来验证它的功能,它已经可以运行了。
现在我想转到第2步:将此数据提供给SteamVr。 现在我不在乎将视频流回到android。
假设我想使用像C#或Java这样的高级语言,有人可以给我一些帮助吗?我可以使用OpenVr吗?如果是,怎么样? (这不是很好的记录)。
编辑:
我有一个临时解决方案。我将使用FreePie通过UDP向OpenTrack发送方向(我修改了FreePie.apk以平滑结果)。 OpenTrack通过UDP将其发送到localhost。
我必须修改SteamVr以使用Null-Driver才能接受 不存在的HMD。
通过Moonlight的HeadTracking和Stream效果很好,但现在 还有另一个问题: 当SteamVR启动FullScreen HMD-Display-Window时,我无法做到 对任何游戏使用通常的输入。
游戏通常在一个单独的窗口启动,接受 在HMD显示VR-Experience时输入。 现在,VR-Window有一个很大的问题。 当没有聚焦时,它既不显示也不从OpenTrack获取输入。 这意味着没有视频,没有头像。 有些游戏以VR模式开始,所以我可以使用 此窗口获取KeyboardInput和视频,但禁用了Headtracking, 如前所述。
简而言之: - FreePie - > OpenTrack - > SteamVR NULL-Driver - 月光 - > Android的 适用于所有不需要输入的内容
这里唯一的解决方案是: 第二显示。 - 将第二个显示设为主。 - 将所有内容移至第二个扩展显示器 - 启动steamVR(将在第二个显示中打开), - 开始游戏。 现在,当焦点切换到VR-Window时,它会突然出现 在PC主要插入显示器(仅用笔记本电脑+电视测试)。 所以月光将捕获视频而第二(当前主要)屏幕焦点 在GameWindow上捕获输入。
我的新问题是: 如何解决第二个显示器的需求?
答案 0 :(得分:1)
好的。这是我的解决方案和指南:
如何将Android智能手机用作SteamVr的VR-HMD
你需要什么:
设备:
软件:
如何:
现在确保VR-Phone和您的PC在同一网络中。 在OpenTrack中设置:
追踪器 - > FreePIE UDP接收器,音高+180。 将端口设置为与FreePIE Android App中的相同
协议 - > UDP接收器 IP:127.0.0.1 港口:4242
如果您启动FreePIE App和OpenTrack,您应该会看到它正常工作。
后续步骤:
将第二个显示设为主显示
现在启动SteamVR和你的游戏(游戏应该处于窗口模式)。
现在,窗口应显示在您的PC显示屏上 游戏本身仍然在Android-Display上。
你准备玩了。 当您的PC监视器显示VR窗口时,它会 显示内容并接受Android-Orientations。 当扩展(主) - 监视器显示游戏窗口时, 游戏将接受控制器/键盘/鼠标输入。
是的,这是一个非常疯狂的工作,并且会给你带来压力 (W)局域网。 如果你有一个可以减少路由器流量的备用设备,你也可以使用物理第二台显示器。
尝试使用WarThunder和Project CARS Pagani Edition,它可以使用!