Как сбросить или перезапустить сеанс ARCore? - PullRequest
0 голосов
/ 29 октября 2018

Мне нужно reset / restart сеанс ARCore. В ARKit мне просто нужно создать новую конфигурацию и выполнить метод RunWithConfigAndOptions, но я не могу найти никакой информации о том, как это сделать в ARCore. Ниже приведен код, который я использую в Unity для 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, но, думаю, любая информация будет полезна.

Спасибо

1 Ответ

0 голосов
/ 30 октября 2018

Попробуйте 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;

Надеюсь, это поможет.

...