1

我正在使用 8th Wall XR 版本 1.0.9.3,我认为 XRController 类存在问题。XRCameraController 类无法使用 XRController.GetCameraPosition() 方法获取现实相机位置。在每次更新中,该方法对所有位置变量都恢复为零。

我试图追查问题的根源,然后发现在Android JNI下的XRNativeBridge.cs里面有这样的代码:

r.ptr.cameraExtrinsicPositionX = jr.Call<float>("cameraExtrinsicPositionX");
r.ptr.cameraExtrinsicPositionY = jr.Call<float>("cameraExtrinsicPositionY");
r.ptr.cameraExtrinsicPositionZ = jr.Call<float>("cameraExtrinsicPositionZ");;

它应该从本地调用中获取相机外部位置数据。然后我尝试com.the8thwall.reality.app.xr.android.XRAndroid.java从提供的 jar 可执行文件中反编译文件,jr.Call 从中获取变量,以查看是否有任何关于它的内容,但没有运气。所有 Java 调用jr.Call<float>("cameraExtrinsicPositionX")都返回零。

4

1 回答 1

1

支持 Tango 和 ARKit 的设备目前支持 6DoF 跟踪。对于所有其他手机,截至今天,它回退到 3DoF 跟踪和固定表面,这解释了为什么位置变量为零。

有关您正在开发的平台支持的功能的更多信息,请参阅https://docs.8thwall.com/xr/unity/#requirements

于 2017-09-01T18:02:05.870 回答