我已经在现有的ios中集成了Unity Arkit插件,我在应用程序上遇到了电池和发热的问题。现在,我想要停止unity ARKIT的会话,并在需要时启动。现在,它只暂停ARKIT和相机仍然在暂停状态跟踪。
请给我提供任何停止和启动UnityArkit会话的方法。
发布于 2018-03-29 23:16:47
您可以尝试如下所示:
public void planeDetectionOn () {
ARKitWorldTrackingSessionConfiguration config = new ARKitWorldTrackingSessionConfiguration ();
config.planeDetection = UnityARPlaneDetection.Horizontal;
config.alignment = UnityARAlignment.UnityARAlignmentGravity;
config.getPointCloudData = true;
config.enableLightEstimation = true;
m_session.RunWithConfig (config);
isDetecting = true;
}
public void planeDetectionOff () {
ARKitWorldTrackingSessionConfiguration config = new ARKitWorldTrackingSessionConfiguration ();
config.planeDetection = UnityARPlaneDetection.None;
config.alignment = UnityARAlignment.UnityARAlignmentGravity;
config.getPointCloudData = false;
config.enableLightEstimation = false;
m_session.RunWithConfig (config);
isDetecting = false;
}这将重新启动会话配置。我把它放在管理m_session的脚本中。插件中的脚本示例是UnityARCameraManager。根据需要,您也可以使用RunWithConfigAndOptions来代替RunWithConfig。选项包括:
public enum UnityARSessionRunOption {
/** The session will reset tracking. */
ARSessionRunOptionResetTracking = (1 << 0),
/** The session will remove existing anchors. */
ARSessionRunOptionRemoveExistingAnchors = (1 << 1)
}在UnityARKitPlugin中的README.md中:
public void RunWithConfigAndOptions(ARKitWorldTackingSessionConfiguration config, UnityARSessionRunOption runOptions)
public void RunWithConfig(ARKitWorldTackingSessionConfiguration config)还有一种方法
public void Pause()但我还没有试过它到底是做什么的。
https://stackoverflow.com/questions/47054360
复制相似问题