ARCore快速入门-03检查手机是否支持ARCore功能

在谷歌官方对ARCore的介绍中,提到启用 ARCore 有两种方法:AR 必备和 AR 可选

AR 必备

AR 必备是指您的应用没有 AR 便无法使用。 应用商店会确保您的应用只能在支持AR的设备上运行,当用户安装 AR 必备应用时,应用商店会自动安装 ARCore,然后再安装应用。

要将应用设置为 AR 必备,确保按下图所示勾选 Edit > Project Settings > ARCore > ARCore Required 菜单项。 该菜单项默认情况下处于勾选状态。

ARCore快速入门-03检查手机是否支持ARCore功能_第1张图片

您的应用将自动执行运行时检查,以确保设备支持 ARCore 并已将其安装。 如果 ARCore 未安装(可能因为它被用户移除)或版本过旧,您的应用将提示用户安装或更新。 如果安装或更新失败(可能因为网络故障),Session.Status 将返回错误,您的应用应处理错误并退出。

AR 可选

AR 可选是指您的应用包括的一项或多项 AR 功能会在设备支持 ARCore 时启用。 但应用也可在不支持 ARCore 的设备上安装和运行。 当用户安装 AR 可选应用时,应用商店不会自动安装 ARCore。

要将应用设置为 AR 可选,请取消选中 Edit > Project Settings > ARCore > ARCore Required 菜单项。

ARCore快速入门-03检查手机是否支持ARCore功能_第2张图片

可以使用代码检查,遇到不支持ARCore的设备、没有安装ARCore设备、或者安装ARCore版本过低设备时候,您可以提醒用户安装或更新ARCore,也可以直接跳过AR功能(代码如下)

  ///

检查设备
    private bool OnCheckDevice()
    {
        if (Session.Status == SessionStatus.ErrorSessionConfigurationNotSupported)
        {
            Debug.Log("ARCore在本机上不支持或配置错误!");
            return false;
        }
        else if (Session.Status == SessionStatus.ErrorPermissionNotGranted)
        {
            Debug.Log("AR应用的运行需要使用摄像头,现无法获取到摄像头授权信息,请允许使用摄像头!");
            return false;
        }
        else if (Session.Status.IsError())
        {
            Debug.Log("ARCore运行时出现错误,请重新启动本程序!");
            return false;
        }

        return true;
    }

官方教程地址:https://developers.google.cn/ar/develop/unity/enable-arcore

欢迎对AR技术感兴趣的朋友,加入QQ群:883655607 讨论 

你可能感兴趣的:(ARCore)