超详细的AR增强现实开发入门总结

UnityAR——AR插件Vuforia入门 Vuforia的SDK支持很多平台,包括iOS、Android、UWP,能够适配市面上大部分的移动终端。Vuforia SDK封装了底层用来图像识别的计算机视觉模块,而且不用你操心摄像头的开启以及图像的读取,这些Vuforia都为你提供好了一系列的参数设置,开发者需要做的只是按照需要配置这些参数,然后基于底层的识别算法开发出自己想要的AR程序。 阅读详情

最近有一些朋友在QQ群或者微信公众号后台问Relax关于AR应用开发如何入门的问题,我想后面肯定还有很多人会问这样的问题,干脆就自己所知道的,比较系统的写一篇入门文章出来,供大家参考一下。

这是AR应用开发入门的第一篇,先从整体上给大家讲一下,后面文章再分开来详细讲。

1、AR发展现状

在做AR开发之前,有必要说一下AR开发的现状。AR目前已经在军事和工业方面有比较多的应用,硬件设备大都是基于AR眼镜,因为都是军事和工业方面比较专业的应用,所以都是企业在做,一般都没个人开发者什么事;

另外一方面,在2017年,苹果和谷歌都相继推出了ARkit和ARCore,这两个是AR开发的SDK,苹果和谷歌分别是安卓和苹果手机系统厂商,所以推出这两个SDK的意图很明显,就是想让手机也能使用AR,手机现在人手一部,如果有了AR应用,那AR很快就会走进我们的生活中。所以就目前来说,AR应用开发主要还是指手机AR应用开发;

目前AR眼镜也开始进入消费级发展阶段,所以后面很快我们就可以基于AR眼镜开发应用,手机受限于屏幕大小,手机AR应该只是AR发展的一个过渡阶段,AR眼镜才是AR应用的主流平台;当然这是后话,我们这个系列的文章也只会讲手机AR应用的开发。

2、开发环境的选择

前面说了我们是讲手机AR应用开发,所以如果你是想做苹果手机的AR应用开发,那自然就选择苹果自己的ARkit,但是对安卓来说,这个选择就复杂一些,由于安卓的碎片化或者说开放性,安卓手机厂商众多,AR SDK也众多,下面是Relax整理的一张国内外的AR SDK的表,供大家参考。
在这里插入图片描述
就ARCore来说,目前也并不是所有的安卓手机都支持,因为每个手机厂商的配置不一样,ARCore需要与手机硬件厂商进行适配调校,所以目前只能是部分机型支持,目前支持ARCore的手机型号如下,详情可以参见官网这个实时更新的页面 https://developers.google.cn/ar/discover/supported-devices。

Relax目前入手的是华为的Nova 3i在学习AR,下载了一些AR应用做了测试,如果是作为测试机用,完全没问题,从性价比考虑,大家可以考虑一下。
在这里插入图片描述
上面的表里面还有其他的SDK,在功能方面,各个SDK可能会有一些差异,但是AR基础的环境理解、运动跟踪和光照估计肯定都是支持的。

Relax目前用了ARCore,也简单看了下华为AR Engine,从文档资料来看,华为AR Engine支持骨骼、手势识别等等,但是华为AR Engine肯定只对华为系的手机更友好,如果你想让你的手机支持更多的机型,目前来说还是选择ARCore吧,把ARCore理解透彻,再理解其他SDK其实就很容易了,只是API函数的接口名称变了。

另外要提到的是,正是由于AR SDK太多了,Unity这个3D游戏开发引擎厂商开发出了AR Foundation,做的事情简单来说就是把ARCore和ARkit再封装了一下,大家都知道,Unity是跨平台的,同一份代码可以打包发布到windows、android和苹果等各个平台,所以对于AR开发,Unity也希望简化开发者的工作,开发者基于AR Foundation开发,选择发布不同的平台,就选择使用对应的SDK,这样一来可以省去开发者需要学习多个平台SDK的成本,预计后期Unity还会整合其它SDK,再不久的将来可以基于Unity开发AR眼镜应用也是有可能的。

ARCore目前发布了Android、Android NDK、Unity、Unreal、IOS(ARCore其实也支持苹果手机)等平台的SDK,由于Relax之前使用Android Studio开发APP,所以一开始是选择AS学习ARCore,之前还没有支持AR的手机,是参照官网用模拟器运行了一下HelloSceneform,感觉AS的配置开发还是比较麻烦的,也遇到了一些坑,前段时间写了一篇文章记录了下来,有需要的朋友也可以看下,所以个人感觉AS不太适合AR的新手入门。

目前Relax选择了基于Unity学习ARCore开发,后面一篇文章会写一下如何搭建基于Unity的ARCore开发环境。

另外说一下,写到这里Relax有一个想法,就是Relax想要搭建一个博客系统,目前靠Relax一个人只写基于Unity的AR开发教程,显然不够,可能还有很多很多的朋友会因为各种各样的原因,选择其他的平台或者SDK,不同的平台不同的SDK,在操作步骤和API上都不一样,所以Relax想搭建一个AR开发者自己的技术博客,大家把自己学习AR开发的过程或者遇到的问题都记录在自己的博客空间里面,这样后来者通过我们写的博客就能很快学习AR,也方便大家进行技术交流,避免大家到处搜索资料。

通过这样一个平台大家共同来为AR的发展出一份力,不知道大家觉得Relax这个想法怎么样,后面这个博客系统搭建好了再告诉大家。(PS:AR博客平台目前已搭建好,可留言获取)

3、 基础知识的准备

Relax之前没有用过Unity,也没有做过3D方面的开发,对Unity工具的使用,3D模型方面的基础知识都比较欠缺,所以跟我一样的朋友,熟悉Unity根据的使用和3D基础知识是很有必要的,Relax主要是看了一下Unity官网的用户手册,这个用户手册Relax已经上传到开发群里面了,有需要的朋友可以下载。

4、学习资料

关于学习资料的问题,也是刚开始学习AR开发的朋友比较关心的问题,目前关于ARCore开发的资料比较少,Relax目前主要是在看《ARCore之路——Unity开发从入门到实践》这本书,以及《ARCore从0到1》视频教程。

其实从原理来讲,AR涉及到数学、计算机视觉、机器学习、图像识别等各个方面的内容,对开发者来说,掌握深层次的原理对学习AR开发肯定是有很大帮助的,但是在短时间内掌握这些知识显然是不太可能的,建议大家根据自己的实际情况考虑吧,我们学习AR开发肯定有自己的目标,我们的目标要求我们掌握哪些知识那我们就必须掌握那些知识了。

5、应用开发方向

根据你想实现的AR功能,其实AR可以再细分出一些场景,比如目前比较常见的扫描一个卡片然后显示3D模型,这个是AR的图像识别功能,如果是AR特效相机,那就是AR的人脸增强功能,如果是多人AR游戏,那就要用到共享云锚点功能;

这些都根据你需要做什么类型的应用来重点研究就好,但是基础的功能,比如特征点和可视化平面的检测以及模型的大小、声音、动画的调整和放置,这些都是必须掌握的。

学习是为了使用,建议大家先有一个目标,比如大家想开发出一个什么类型的AR应用,然后由点及面来学习AR,就跟滚雪球一样,越滚越大,掌握的知识才会越来越多,如果一头扎进AR这片浩瀚的蓝海中(坑也多),多少会有些不知所措不知从何下手的感觉。

谨以此想法跟所有学习AR开发的朋友共勉。

如果你还有不清楚或者有疑问的地方,可以关注微信公众号:AR新世界,直接来问Relax吧。

想要Relax写出更精彩的文章?那么希望老铁别吝啬你的三连击哦

1、点赞,可以让更多的人看到这篇文章

2、关注我的原创微信公众号『AR新世界』,第一时间阅读我的文章。

3、也欢迎关注我的博客哦。

在这里插入图片描述

跨平台AR增强现实开发(一)(AR开发环境的搭建) 简介: AR,英文单词为AugmentedReality,增强现实;该技术在几十年前就被提出来了;但一直局限于设备,硬件的限制,无法在生活中应用开来,随着这几年移动互联网的快速发展以及市场的需求变更速度加快,AR开始流行起来 在国内,AR已经应用到了教育,医学,展览,旅游行业;开发环境: 我使用的高通的Vuforia + Unity3d 32bit进行开发的,这样开发的好处是跨平台,基于强大的 阅读详情

相关推荐

Python中的增强现实AR)技术和应用

增强现实AR)是一种技术,它允许用户在真实环境中与虚拟物体进行交互。在Python中实现AR应用通常涉及使用专门的AR库和框架,这些库和框架提供了创建和渲染虚拟内容的工具。一个流行的AR框架是ARKit(对于iOS设备)和ARCore(对于Android设备),但这些框架主要是用原生语言(如Swift和Java/Kotlin)编写的。对于Python,虽然没有直接的官方支持,但可以使用一些库和工具来间接实现AR功能,或者通过与其他语言的桥接来利用原生AR框架。

api77的博客 2030

AR小白入门指南:从零开始开发增强现实应用

定义:将虚拟信息(3D模型、文字、声音等)叠加到真实场景中,实现虚实融合的交互体验。典型应用场景零售:虚拟试衣、家具摆放预览(如IKEA Place)教育:3D解剖模型、历史场景重现(如Google Expeditions)工业:设备维修指导、远程协作(如Microsoft HoloLens 2)与VR/MR的区别VR(虚拟现实):完全沉浸虚拟环境(如Oculus Quest)MR(混合现实):虚拟与现实深度交互(如HoloLens 2)

程序边界 9955

unity+高通vuforia开发增强现实AR)教程(一)

增强现实AR)在国内也兴起有一段时间了,做了一年的AR开发,真心觉得用高通的那一套要实现最基本的功能很简单,当然要做出很棒的AR,仍需同志们努力啊。在网上看了一些别人写的教程,说实话,虎头蛇尾,可能国内就是这种情况,自己会的肯定不能让别人会,不然自己还混什么饭吃。现在学AR的人也越来越多了,我觉得把信息(注意是信息,不是技术,真心不难,连行代码都木有,所以大家发明创造的机会来了)贡献出来应该不会

dzyi_的专栏 10万+

AR开发总结

一:Unity中AR开发环境配置 1. 安卓开发环境配置 (1):创建一个工程,点击File—BuildSettings,选中Android平台,如果没有下载安卓开发包的话,需要先下载安卓开发包,可以直接点击此页面的链接下载,如下图所示: (2):如果点击没有跳转,则去官网下载,先去官网下载Unity版本的页面,找到你所需要的版本,然后点击Release notes按钮 然后点击AndroidTargetSupport下载即可。 (3):下载之后,安装到和此版本同一个目录下即可。然后重启Unity,此

qq_44718259的博客 2029

AR code开发】第一章 : AR基本知识概括

ARFoundation诞生之前,如果我们需要开发一个多平台的AR应用,会使用 ARCore XR Plugin 开发一个Android设备版本,使用 ARKit XR Plugin 开发一个iOS设备版本。由于底层API的不同,这样我们就需要同时维护多份代码,这无疑增加了我们工作量和开发成本。

iris的博客 2413

增强现实AR的Python实现

增强现实AR的Python实现 增强现实技术(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。这种技术1990年提出。随着随身电子产品CPU运算能力的提升,预期增强现实的用途将会越来越广。 增强现实技术,它是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,是...

William030 3827

python增强现实AR

import argparse import cv2 import numpy as np import math import os from objloader_simple import * # Minimum number of matches that have to be found # to consider the recognition valid MIN...

Frank的博客 4407

AR——增强现实技术

前言:在VR技术引发大众热议的当下,有一种产生已久的技术已然悄悄进入我们的生活。很多人或许听说过这个名字,也亲身体验过这项技术的神奇,却对其原理知之甚少!   下面先让我们看几组图片:       看到这里想必大家已经猜到了,就是增强现实技术。现如今,AR技术可以说是已经成为了我们生活的一部分。QQ中的AR扫描技术,扫描特定的图片即可体验真实与虚拟完美结合的效果;

White3zz的博客 4954

一文读懂增强现实AR)技术

随着信息技术的高速发展,虚拟现实、增强现实等逐渐火热。虚拟现实是一种完全建立虚拟环境,让人类脱离现有环境进入新的世界,它的广泛应用可能还要经过一段时间的积淀,目前虚拟现实主要在科研仿真、...

3D视觉工坊 2万+

Unity增强现实(AR)开发教程

通过理解AR光照的原理,合理应用材质,并采用有效的优化技巧,开发者可以创建出既逼真又高效的AR场景。光照与材质的优化是AR开发中不可忽视的环节,它直接影响到用户体验和应用的性能表现。

kkchenjj的博客 3048

unity应用开发实战案例_Unity AR增强现实开发实战

《Unity AR增强现实开发实战》以Unity2018版本为开发平台,从增强现实的基本概念出发,系统介绍AR相关理论、行业应用及发展趋势,并且结合大量增强现实技术应用开发案例,从实战角度系统地介绍增强现实开发相关知识。《Unity AR增强现实开发实战》共分为10章。章为增强现实技术概述,主要对增强现实理论进行介绍,重点介绍增强现实技术的概念、原理、特点、组成、分类、表现形式等内容。第2章为Un...

weixin_39973009的博客 2490

AR增强现实开发介绍

https://www.cnblogs.com/LiuGuozhu/p/5963039.html ---开发基础篇 开发增强现实技术,无论是商业级应用,还是面向幼儿教育的游戏产品,都需要从了解、获取、下载增强现实插件开始。目前全世界使用量最大公认最好的增强现实插件是高通的Vuforia。我们先从开发一个最简单的AR Hello World 开...

优秀技术文章收录 4879

AR内容开发--AR开发引擎和SDK

Vuforia支持多种AR应用程序,如AR游戏、AR教育应用程序和AR广告等。这些工具通常提供了各种功能和库,使开发人员能够创建各种AR应用程序,如AR游戏、AR维修手册、AR教育应用程序等。EasyAR:EasyAR是一种AR开发工具,它为开发人员提供了各种AR功能和插件,使开发人员能够创建各种AR应用程序。总的来说,AR开发工具的价值在于提供了一个方便、易用、快速和高效的平台,使开发人员能够轻松地创建各种AR应用程序,从而满足不同用户和市场的需求。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 1748

如何开发自己的增强现实应用

1.背景介绍 增强现实(Augmented Reality,简称AR)是一种将数字内容与现实世界相结合的技术,使用户能够在现实环境中与虚拟对象互动。随着AR技术的不断发展,它已经被应用于各种领域,包括游戏、教育、医疗、工业等。本文将介绍如何开发自己的AR应用,包括核心概念、算法原理、代码实例等。 1.1 AR技术的发展历程 AR技术的发展可以分为以下几个阶段: 1960年代:AR技术的诞...

AI天才研究院 1488

从 0 到 1 揭秘增强现实AR)应用开发:技术框架、实战案例与未来趋势

从实验室里的概念验证到改变千万人生活的实用工具,AR 技术正经历着从 "可用" 到 "易用" 再到 "无感" 的进化。当 AR 眼镜成为像手机一样的日常设备,今天每一位投入 AR 开发的技术人员,都将是这场数字革命的重要参与者。现在就拿起设备,从开发第一个 AR 小程序开始,在现实与虚拟的交界处,创造属于你的技术奇迹。

gfcgvbv的博客 2470

增强现实AR)应用开发:从入门到实践

AR技术正在快速发展,为开发者提供了广阔的创新空间。无论你是想开发游戏、教育应用还是企业解决方案,AR都能提供独特的价值。从今天开始,选择一个开发平台,动手创建你的第一个AR应用吧!Unity AR Foundation官方文档Apple ARKit开发者指南Google ARCore开发者文档Udemy/慕课网上的AR开发课程希望这篇博文能为你开启AR开发之门!如果你有任何问题或想法,欢迎在评论区交流讨论。

djdjdkddkdk的博客 2029

Unity引擎开发:Unity基础入门_Unity增强现实(AR)开发

AR Foundation是Unity提供的一套跨平台AR开发框架,它简化了AR应用的开发流程,使得开发者可以更容易地在不同平台上创建一致的AR体验。AR Foundation支持多种AR平台,包括ARKit、ARCore、Magic Leap等。本文介绍了Unity中AR开发的基本概念和关键步骤,包括AR Foundation的使用、平面检测、对象放置、图像检测、光照估计、手势识别、物体识别和多人协作。通过这些技术,开发者可以创建出丰富、自然、互动性强的AR应用。

chenlz2007的博客 2079

Unity2020 AR传送门开发ARFoundation)

Unity版本:2020.3.0 先看看成品效果 目录一、AR环境搭建二、AR传送门原理三、代码控制AR的状态检测、开启及关闭1、如何判断设备是否满足AR硬件需求2、如何主动开启、关闭AR功能四、项目下载链接 一、AR环境搭建 我这边开发AR用的是ARFoundation,集成了ARCore和ARKit的功能,AR环境的搭建有两种方式: 1、直接使用unity提供的AR模板 在unityHub面板新建项目,弹出如下弹框,选择AR模板,设置好项目名称和位置,创建。 2、如果是在已有项目上添加AR功能,则可以

小程小程,永不消沉 1万+
上一篇: 通过wifi连接手机使用adb命令调试APP
下一篇: AR增强现实应用开发入门之环境搭建
编程十万问
博客等级 码龄7年 2358粉丝 59原创
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值