tl; dr:有没有办法获得Cardboard的校准数据而无需通过Google的协议缓冲区解析?
我需要访问Cardboard viewer的镜头数据,系数等来进行适当的非失真计算。
我联系了两个Cardboard查看器制造商,他们都不知道这些值是什么,并指出我联系谷歌,因为他们使用谷歌校准。
As discribed here你可以通过c ++解析QR码,通过谷歌的协议缓冲区解析它,但我目前还不是在c ++开发环境中,并且通过文档进行处理以获得制造商校准是非常耗时的一堆系数。还有更好的方法吗?
答案 0 :(得分:0)
有人构建了一个网页(http://vrembed.org/tools/google_profile_decode.html),该网页使用google javascript协议缓冲库将Google Cardboard链接解码为JSON。 (如果您使用短网址,请忽略http://
)
我用它来获取项目的数据。
答案 1 :(得分:0)
接受的答案对我不起作用,所以我用阅读器扫描了QR码,并得到了一个简短的goo.gl URL。
我通过https://www.expandurl.net/进行了此操作,并获得了一个更长的链接,该链接指向应用商店以如下方式下载Cardboard应用: http://google.com/cardboard/app?p=ALONGSTRINGOFCHARACTERS
我只需要这样做即可自动设置Unity项目的Cardboard个人资料,从而不必在每台设备上扫描QR码:
GvrCardboardHelpers.SetViewerProfile("http://google.com/cardboard/cfg?p=ALONGSTRINGOFCHARACTERS");
您可以Base64对该长字符串进行解码(“ p”参数)以获取系数,但是它是以二进制格式编码的。
对纸板配置文件生成器(https://vr.google.com/cardboard/viewerprofilegenerator/)进行反向工程可能有助于准确地解码出哪些变量是什么,但不幸的是,它似乎目前已损坏。