把手机变成VR头显的零成本攻略:3步玩转PC端SteamVR游戏

把手机变成VR头显的零成本攻略:3步玩转PC端SteamVR游戏

【免费下载链接】PhoneVR Use Steam VR-enabled applications with your phone as HMD (Head-mounted display). The only Open-Source solution to similar commercial packages like VRidge, iVRy, Trinus etc etc. 【免费下载链接】PhoneVR 项目地址: https://gitcode.com/gh_mirrors/ph/PhoneVR

周六深夜,你盯着Steam里那款VR大作的页面,再看看头显价格,默默关掉了。PhoneVR要告诉你的是:把手机当VR头显,其实一分钱都不用花。这个开源项目是目前唯一免费的同类方案,对标VRidge、iVRy、Trinus这些收费软件,支持WiFi、USB网络共享和手机热点三种连接方式。

核心门槛一句话:一台Windows 7以上的PC、一部Android 5.0以上的手机,剩下的交给PhoneVR。

手机屏幕上的效果,真没你想的那么「玩具」

先上实拍,眼见为实:

手机当VR头显分屏显示SteamVR游戏画面的实拍效果

握在手里的手机已经分屏渲染出左右眼画面,配一个纸盒或手机支架,就是一台临时头显;画面来自PC上正在运行的SteamVR游戏,而不是手机里的小游戏。换到驾驶类赛道,沉浸感照样在线:

把手机当VR头显玩驾驶类SteamVR游戏的分屏画面

它靠什么骗过SteamVR的眼睛

你可能好奇:SteamVR怎么会把一部手机当成「头显」?

原理并不玄乎。PhoneVR在PC端装一个虚拟驱动,SteamVR便把它当作一台真实头显持续输出画面;手机端App负责两件事——把画面解码显示出来,同时把你转头产生的头部姿态数据回传PC。这条路上来回跑的数据,就像「发快递」:PC把画面打包发出,手机签收后再回传一包「我正看向哪里」。整个链路在局域网内完成,没有路由器时,USB网络共享也能当这条路用。

PhoneVR把手机当VR头显的完整数据链路架构图

动手前先选好引擎:ALVR 还是传统服务器

PhoneVR支持两套服务器,别装错,先看对比:

对比项ALVR服务器(推荐)传统PhoneVR服务器
图形界面没有
自动配置防火墙没有
编码方式硬件+软件编码仅x264软件编码
平均延迟约150ms约1500ms
手机端要求Android 8.0+Android 5.0+

结论很干脆:绝大多数人直接选ALVR服务器,省心且延迟低一个量级。只有系统停在Android 5.0~7.x的老手机,才需要退回去用传统服务器。

如何在局域网内完成手机与SteamVR的首连

以ALVR路线为例,整条链路只需要三次「点击」:

第一步,PC端装服务器。 安装ALVR v20.8.0(PhoneVR当前支持的版本),跟着安装向导走,它会顺手把防火墙规则配好。若走传统路线,则下载PhoneVR-Server压缩包,把里面的PVRServer整个文件夹复制到SteamVR的drivers目录(默认在C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers)。

第二步,手机端装App。 安装PhoneVR的APK,首次打开会询问服务器类型——之前装了哪套,这里就选哪套。

第三步,同网络下开机即连。 PC和手机连同一个路由器(WiFi 5.0体验最佳),先打开手机App,再启动SteamVR里的游戏。传统服务器有个顺序要记牢:先开手机App,再在PC上开游戏,顺序反了容易连不上。

对小米这类系统管得严的机型,记得在设置里给PhoneVR「后台运行」和「自启动」权限,否则它可能在你戴上眼镜前就被系统「请走」了。

第一次连接就翻车?三个坑我帮你提前踩了

坑一:永远连不上。 九成是网络问题——两台设备不在同一局域网。剩下的一成,是配对端口(默认33333)被其他程序占用。把App设置和PC端pvrsettings.json里的配对端口一起改成30000~65535之间的任意值,两端保持一致,重启SteamVR即可。

坑二:画面卡成PPT。 先确认装的是Release版APK而不是Debug版,再关掉后台吃资源的App。还卡的话,打开App设置里的调试统计,把各环节帧率调出来看——cR(PC端渲染)、SS(流发送)、E(编码)、VRa(游戏本身)这几项应当都稳定在game_fps±10的区间内,谁掉队,谁就是瓶颈。

坑三:刚进游戏就闪退回主界面。 别怀疑硬件,去系统省电管理里看看,是不是它把后台的PhoneVR干掉了。

把VR画面延迟再压一压:编码器调参小手术

传统服务器的编码参数藏在pvrsettings.json里,改完重启SteamVR生效。默认配置已经很保守:presetultrafast(速度优先)、tunezerolatency(零延迟)、qp为20。想换更高画质,可以放慢预设、调低qp(0~51,越小越清晰);但每次调整后盯一眼同目录下的pvrlog.txt,如果出现"Skipped frame! Please re-tune the encoder parameters"刷屏,说明CPU已经不堪重负,往回退一步。

顺带一提,这是PhoneVR的隐藏技能:没有路由器时,USB网络共享也能充当PC和手机之间的传输通道,出差途中照样能临时玩一把。

想动手改代码的开发者,源码结构也很清晰:Windows驱动在code/windows/PhoneVR.sln,Android端在code/mobile/android/PhoneVR,用 git clone https://gitcode.com/gh_mirrors/ph/PhoneVR 拉下来,C++与Java/Kotlin各管一头。

下一步,轮到你上场了

几千块的头显解决的是「极致沉浸」,PhoneVR解决的是「现在就想玩」。前者可以等工资日,后者今晚就能开始——下载PhoneVR的APK、装上服务器、同一网络下点开App。十分钟后你可能会怀疑:这真的是我手机跑出来的画面?

零成本,开源,唯一需要你付出的,是给手机配一个合适的支架。🎮

【免费下载链接】PhoneVR Use Steam VR-enabled applications with your phone as HMD (Head-mounted display). The only Open-Source solution to similar commercial packages like VRidge, iVRy, Trinus etc etc. 【免费下载链接】PhoneVR 项目地址: https://gitcode.com/gh_mirrors/ph/PhoneVR

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值