首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建Android - Controller - SteamVr通信

创建Android - Controller - SteamVr通信
EN

Stack Overflow用户
提问于 2017-09-25 16:37:01
回答 1查看 3K关注 0票数 1

我想要做的是:我的智能手机把它的定位(陀螺仪、Accel和磁性的融合)发送给控制器,控制器进一步处理数据,使SteamVr能够访问它,这反过来应该会将我想要发送回智能手机的帧发送回我的智能手机。

到目前为止,我所取得的成就是:我实现了一个基本的android程序,该程序已经捕获了它的方向,将其打包到一个UDP-数据报中,并将其发送到给定的IP地址。

我编写了一个小型Java程序来验证它的功能,而且它已经工作了。

现在我想转到第2步:将这些数据提供给SteamVr。现在,我不想把视频流回android。

假设我想使用像C#或Java这样的高级语言,有人能给我提供一些帮助吗?我能用OpenVr吗?如果是,怎么做?(这并不是很好的记录)。

编辑:

我有个暂时的解决办法。我将使用FreePie通过UDP将方向发送到OpenTrack (我已经修改了FreePie.apk以使结果更加平滑)。OpenTrack通过UDP将其发送到本地主机。

为了接受不存在的HMD,我必须修改SteamVr以使用空驱动程序。

HeadTracking和Stream很好,但是现在还有另外一个问题:当SteamVR启动一个FullScreen HMD显示窗口时,我不能在任何游戏中使用通常的输入。

游戏通常在一个单独的窗口启动,该窗口接受输入,而HMD则显示虚拟现实体验。现在,虚拟现实窗口有一个大问题。当没有焦点时,它既不显示也不接受来自OpenTrack的输入。这意味着没有视频,没有头跟踪。一些游戏开始在虚拟现实模式,所以我可以使用这个窗口获得KeyboardInput和视频,但头部跟踪被禁用,如前面所述。

所以简单地说:- FreePie -> OpenTrack -> SteamVR空驱动程序- Moonlight -> Android适用于所有不需要输入的东西。

这里唯一的解决方案是:第二次显示。以-Set 2显示器为主。-Move一切到第二扩展显示-开始steamVR (这将在第二显示),-开始游戏。现在,当焦点切换到VR窗口时,它突然出现在PC主插入式显示器上(只在笔记本+电视上进行测试)。因此,月光将捕捉视频,而第二(当前的主)屏幕集中在GameWindow,以捕获输入。

我的新问题是:如何解决第二次展示的需要?

EN

回答 1

Stack Overflow用户

发布于 2017-09-26 18:30:03

好的。以下是我的解决方案和指南:

如何使用你的Android智能手机作为SteamVr的VR-HMD

你需要什么:

硬件:

  • 2部智能手机(1部用于虚拟现实的智能手机,一款价格便宜的智能手机,平板电脑也是如此)
  • Nvidia GameStream支持的PC机,具有足够的虚拟现实能力

软件:

  • SteamVr
  • OpenVr-OpenTrack (https://github.com/r57zone/OpenVR-OpenTrack)
  • OpenTrack 2.3-me 20(我选择这个是因为只有可提取的zip适合我)
  • FreePIE IMU apk for Android (它已经在OpenTrack文件夹中)
  • 面向Windows和Android的Spacedesk
  • Android的月光

如何:

  • 安装蒸汽和SteamVR (和任何你想玩的游戏)
  • 安装OpenVR-OpenTrack (请遵循页面指南)
  • 安装OpenTrack
  • 在Android手机上安装FreePIE IMU以实现虚拟现实
  • 在Android手机上安装用于VR的月光

现在,确保虚拟现实电话和你的电脑在同一个网络中.在OpenTrack中设置:

跟踪器-> FreePIE UDP接收机与俯仰+180。将端口设置为与FreePIE安卓应用程序相同的端口

协议-> UDP接收端IP: 127.0.0.1端口: 4242

如果您启动了FreePIE应用程序和OpenTrack,您应该会发现它是有效的。

下一步:

  • 在Windows和廉价手机上安装Spacedesk
  • 把两者连接起来。
  • 在PC上设置为扩展显示。
  • 设置第二显示为主显示器
  • 现在开始SteamVR和你的游戏(游戏应该在窗口模式)。
  • 移动游戏窗口到第二(主)显示(如果它还没有)。
  • 专注于蒸汽by窗口(现在应该是红色/黑色的)
  • 点击屏幕。

该窗口现在应该显示在您的个人电脑显示,而游戏本身仍然在Android显示器。

  • 单击此处可专注于“游戏”窗口。
  • 启动虚拟现实手机上的月光并启动桌面(关于如何流桌面的教程,请使用谷歌)

你已经准备好玩了。当你的个人电脑显示器显示VR窗口时,它将显示内容并接受面向Android的内容。当扩展(主)-Monitor显示游戏窗口时,游戏将接受控制器/键盘/鼠标输入。

是的,这是一个令人毛骨悚然的工作,很明显会给你的(W)局域网带来压力。你也可以通过一个物理的第二监视器,如果你有一个备用,这将减少你的路由器的流量。

尝试了这与WarThunder和项目汽车帕加尼版和它的工作!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46410076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档