前言
8月底,在苹果发布ARKit没几个月,Google放出了ARCore,看起来就像是两家商店在对着打折。
就现在看,两家的SDK提供的api都非常相似,基本上就是VIO、平面检测、基础照明。这里就不评价哪个厉害了,毕竟一个是信仰,一个是**,网上也有很多分析。
ARCore支持4种环境:android、unity、unreal、web。web端的话,是支持iOS和android的。
搭建环境
android环境
万事开头难,中间难。。。
但是这次例外,因为真的没有什么环境可言,只要你手头上的设备是ARCore支持的范围。如果你是一个android开发者,必备的四件套:android studio, NDK, Java, FQ,有了这些足矣。
然后到https://github.com/google-ar/arcore-android-sdk clone一份源代码到本地,build,再点击run,一切OK,简单的出乎意料。如果需要替换模型的话,也非常简单,不多赘述。
当然你手头上可能没有支持的机型,那怎么办,总不能为了这个demo再买一个吧,方法总比困难多,可以参考这个库arcore-for-all,目前已知的hack情况下支持机型也不多
已知测试机型列表参考
Manufacturer | Device | Model | GPU | Official Support? | Functional? |
---|---|---|---|---|---|
Pixel | All | Adreno 530 | ✓ | ✓ | |
Pixel XL | All | Adreno 530 | ✓ | ✓ | |
Samsung | Galaxy S6 | G920 | Mali-T760MP8 | X | X X |
Samsung | Galaxy S7 | G930F | Mali-T880 MP12 | X | X |
Samsung | Galaxy S7 Edge | G9350 (Hong Kong) | Adreno 530 | X | ? |
Samsung | Galaxy S7 Edge | G935FD, G935F, G935W8 | Mali-T880 MP12 | X | X |
Samsung | Galaxy S8 | USA & China | Adreno 540 | ✓ | ✓ |
Samsung | Galaxy S8 | EMEA | Mali-G71 MP20 | ✓ | ? |
Samsung | Galaxy S8+ | USA & China | Adreno 540 | X | ✓ |
Samsung | Galaxy S8+ | G955F (EMEA) | Mali-G71 MP20 | X | ✓ |
HTC | HTC 10 | All | Adreno 530 | X | X |
Huawei | Nexus 6P | All | Adreno 430 | X | ✓ |
Huawei | P9 Lite | All | Mali-T830MP2 | X | X |
Huawei | P10 | All | Mali-G71 MP8 | X | X |
LG | G2 | All | Adreno 330 | X | X |
LG | V20 | US996 | Adreno 530 | X | X |
LG | Nexus 5 | All | Adreno 330 | X | X |
LG | Nexus 5X | All | Adreno 418 | X | X |
OnePlus | 3 | All | Adreno 530 | X | X |
OnePlus | 3T | All | Adreno 530 | X | X |
OnePlus | X | All | Adreno 330 | X | X |
OnePlus | 5 | All | Adreno 540 | X | ✓ |
Nvidia | Shield K1 | All | ULP GeForce Kepler | X | X |
Xiaomi | Redmi Note 4 | All | Adreno 506 | X | X |
Xiaomi | Mi 5s | capricorn | Adreno 530 | X | X |
Motorola | Moto G4 | All | Adreno 405 | X | X |
Motorola | Nexus 6 | All | Adreno 420 | X | X |
ZTE | Axon 7 | A2017 | Adreno 530 | X | X |
Sony | Xperia XZs | All | Adreno 530 | X | X |
赶脚Google这次把关很严啊
来源
Unity环境
Unity作为AR时代最为强大的开发工具,ARCore理所当然也是支持的,而且目前已有的ARCore的demo绝大部分都是Unity实现的。
下面的步骤我默认你已拥有android环境
Step 0
下载Unity:Unity必须是2017.2beta及以上版本,毕竟还在测试中。解压安装,如果没有unity账号,可以先注册账号,填一个问卷,激活License。
step 1
克隆仓库:可以clone 任意一个仓库,官方有一个demo,地址,当然你也可以用别的demo,操作方式都一样
git clone https://github.com/google-ar/arcore-unity-sdk.git
step 2
下载unity扩展包:这个扩展包是实现unity里ARCore的关键,地址,下载完之后在Unity里导入,如下图
然后选择场景后,设置编译选项(这步很重要!!!)
minimum Api 设置7.1 25
Target Api 设置7.1 25
不然可能启动的时候相机没权限,会挂掉。
step 3
当然是build啦,正常情况下就可以启动了。
Demo效果
结语
其实在上面的视频中,大家也能看出来,在实际的效果中还是会有位置偏移,所以真正的应用场景中也会出现不可避免的便宜,当然我们相信这种都是小问题,毕竟Tango都出了这么多年了,该调优也调优了,期待下正式版吧。
另外也建议大家去阅读下关于ARKit和ARCore的对比。
转载请注明出处
最后说一句:我,德鲁伊,为所欲为