8th Wall XR 相机位置没有改变
8th Wall XR Camera position is not changing
我正在使用 8th Wall XR 版本 1.0.9.3,我认为 XRController class 有问题。 XRCameraController class 无法使用 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");;
应该从本机调用中获取相机外部位置数据。然后我尝试从提供的 jar 可执行文件中反编译 com.the8thwall.reality.app.xr.android.XRAndroid.java
文件,jr.Call 从中获取变量以查看是否有任何关于它但没有运气。所有 Java 调用如 jr.Call<float>("cameraExtrinsicPositionX")
返回零。
6DoF 跟踪目前支持 Tango 和 ARKit 设备。对于所有其他手机,从今天开始,它会退回到 3DoF 跟踪和固定表面,这解释了为什么位置变量为零。
有关您正在开发的平台支持的功能的详细信息,请参阅https://docs.8thwall.com/xr/unity/#requirements
我正在使用 8th Wall XR 版本 1.0.9.3,我认为 XRController class 有问题。 XRCameraController class 无法使用 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");;
应该从本机调用中获取相机外部位置数据。然后我尝试从提供的 jar 可执行文件中反编译 com.the8thwall.reality.app.xr.android.XRAndroid.java
文件,jr.Call 从中获取变量以查看是否有任何关于它但没有运气。所有 Java 调用如 jr.Call<float>("cameraExtrinsicPositionX")
返回零。
6DoF 跟踪目前支持 Tango 和 ARKit 设备。对于所有其他手机,从今天开始,它会退回到 3DoF 跟踪和固定表面,这解释了为什么位置变量为零。
有关您正在开发的平台支持的功能的详细信息,请参阅https://docs.8thwall.com/xr/unity/#requirements