我需要reset / restart ARCore session 。在ARKit中,我只需要创建一个新配置并执行RunWithConfigAndOptions方法,但是在ARCore中找不到有关如何执行此操作的任何信息。以下是我在Unity for ARKit中使用的代码:

ARKitWorldTrackingSessionConfiguration config = new ARKitWorldTrackingSessionConfiguration();
config.planeDetection = UnityARPlaneDetection.Horizontal;
config.alignment = UnityARAlignment.UnityARAlignmentGravity;
config.enableLightEstimation = true;

UnityARSessionNativeInterface.GetARSessionNativeInterface().RunWithConfigAndOptions(config,
                                                                                    UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors |
                                                                                    UnityARSessionRunOption.ARSessionRunOptionResetTracking);

我在Unity中工作,但是我想任何信息都将有用。

谢谢

最佳答案

尝试DestroyImmediate(session)Destroy(session)。其中之一可能会起作用。

ARCoreSession session = goARCoreDevice.GetComponent<ARCoreSession>();
ARCoreSessionConfig myConfig = session.SessionConfig;

DestroyImmediate(session);
// Destroy(session);

yield return null;

session = goARCoreDevice.AddComponent<ARCoreSession>();
session.SessionConfig = myConfig;
session.enabled = true;

希望这可以帮助。

08-17 17:52