檢查手機是否支持ARCore功能

在谷歌官方對ARCore的介紹中,提到啓用 ARCore 有兩種方法:AR 必備和 AR 可選

AR 必備

AR 必備是指您的應用沒有 AR 便無法使用。 應用商店會確保您的應用只能在支持AR的設備上運行,當用戶安裝 AR 必備應用時,應用商店會自動安裝 ARCore,然後再安裝應用。

要將應用設置爲 AR 必備,確保按下圖所示勾選 Edit > Project Settings > ARCore > ARCore Required 菜單項。 該菜單項默認情況下處於勾選狀態。

您的應用將自動執行運行時檢查,以確保設備支持 ARCore 並已將其安裝。 如果 ARCore 未安裝(可能因爲它被用戶移除)或版本過舊,您的應用將提示用戶安裝或更新。 如果安裝或更新失敗(可能因爲網絡故障),Session.Status 將返回錯誤,您的應用應處理錯誤並退出。

AR 可選

AR 可選是指您的應用包括的一項或多項 AR 功能會在設備支持 ARCore 時啓用。 但應用也可在不支持 ARCore 的設備上安裝和運行。 當用戶安裝 AR 可選應用時,應用商店不會自動安裝 ARCore

要將應用設置爲 AR 可選,請取消選中 Edit > Project Settings > ARCore > ARCore Required 菜單項。

可以使用代碼檢查,遇到不支持ARCore的設備、沒有安裝ARCore設備、或者安裝ARCore版本過低設備時候,您可以提醒用戶安裝或更新ARCore,也可以直接跳過AR功能(代碼如下)

  /// <summary>檢查設備</summary>
    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

Unity QQ交流羣:299412191 歡迎對Unity感興趣的同學加入.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章