ARFoundation入门到精通 - 1.7 检测设备是否支持AR功能

一、准备工作

1.打开Unity新建一个空场景,将场景中默认的“Main Camera”删除掉

2.Hierarchy->XR->AR Session Origin 创建AR Session Origin组件

3.Hierarchy->XR->AR Session 创建AR Session组件

二、环境配置(配置为 AR 必备或 AR 可选)  

AR 必备是指您的应用没有 AR 便无法使用。 在安卓设备上会打开应用商城,下载 Goodle Play Services for AR 。如果手机不支持AR功能又强行安装了 Goodle Play Services for AR ,一运行AR功能就会闪退。ARFoundation默认的设置是AR必备

AR 可选是指您的AR不是必要的功能,在Android设备上不会自动下载安装 Goodle Play Services for AR。(建议选择AR可选,然后判断设备是否支持AR功能后,再安装 Goodle Play Services for AR) 

1.Edit->Project Settings...->XR->ARCore Build Settings(苹果设备选择ARKit Build Settings)

2.点击“Create”创建一个 ARCoreSettings,选择一个路径保存(苹果设备创建 ARKitSettings )

3.根据项目需要,选择AR必选或AR可选 (强烈建议使用AR可选)

4.如果您的应用只是作为插件,导出集成到Android原生工程中,Unity中的AR必选或可选设置会被Android原生工程设置覆盖,如果Android原生工程并未设置,默认选择的是AR必选,需要在 AndroidManifest.xml 文件中添加以包含下列条目:

<!-- AR Required apps must declare minSdkVersion ≥ 24 -->
<uses-sdk android:minSdkVersion="24" />

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
…

<application>
    <meta-data android:name="com.google.ar.core" android:value="optional" />
    …
</application>

android原生工程具体设置请移步:启用 ARCore  |  Google Developers  

三、代码实现 

public class MyComponent {

    private ARSession m_ARSession;

    IEnumerator Start() {

        yield return ARSession.CheckAvailability();

        //当前设备不支持AR功能
        if (ARSession.state == ARSessionState.Unsupported) { //实现你不支持设备的代码 }
        else
        {
            //设备支持 AR,但需要安装相应软件(这里指手机端的 ARCore 或者 ARKit)
            if (ARSession.state == ARSessionState.NeedsInstall) { yield return ARSession.Install(); }
            
           //设备支持AR功能并且已经安装完成相应的软件Todo
        }
    }
}

四、ARSessionState 

ARSessionState描述
NoneAR系统尚未初始化,可用性未知。
Unsupported当前设备不支持AR。
CheckingAvailability系统正在检查当前设备上AR的可用性。
NeedsInstall当前设备支持AR,但是AR支持需要安装其他软件。
Installing正在安装AR软件。
ReadyAR已支持并准备就绪。
SessionInitializedAR会话正在初始化(即正在启动)。这通常意味着AR正在运行,但尚未收集到足够的有关环境的信息。
SessionTrackingAR会话正在运行并且正在跟踪(也就是说,设备能够确定其在世界上的位置和方向)。

推荐学习资料

1.ARFoundation系列讲解-教程目录

2.Unity官方API:学习一门技术,官方教程是最权威的

3.ARFoundation Samples : ARFoundation 示例地址

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

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值