第6章 AR开发-6.3 EasyAR SDK的基本使用方法_第1页
第6章 AR开发-6.3 EasyAR SDK的基本使用方法_第2页
第6章 AR开发-6.3 EasyAR SDK的基本使用方法_第3页
第6章 AR开发-6.3 EasyAR SDK的基本使用方法_第4页
第6章 AR开发-6.3 EasyAR SDK的基本使用方法_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章AR开发

6.3EasyARSDK的基本使用方法

.目录.1.图像目标跟踪.2.

三维实体目标跟踪.3.

多目标跟踪.4.

动态图像目标生成和跟踪1.图像目标跟踪

(1)新建场景,按图所示的方法进行使用EasyAR时的摄像机属性配置。1.LicenseKey的获取

(2)在工程里找到“EasyAR_ImageTracker-1”预设体,将其拖入场景。该预设体就是EasyAR已经配置好的图像追踪器。将该预设体的层级结构打开,可以看到EasyAR_ImageTracker-1预设体的3个子物体如图所示。其中第二个子物体VideoCameraDevice可设置AR设备中实际的摄像镜头,并将摄像镜头中拍摄的画面通过第一个子物体RenderCamera所指定的Unity摄像机渲染出来,而这个指定的摄像机就是在第一步中设置好的场景中默认的摄像机。第三个子物体ImageTracker则进行具体的图像识别工作。1.LicenseKey的获取

(3)在Project面板的“Assets”→“EasyAR”→“Prefabs”→“Primitives”文件夹中找到“ImageTarget”预设体,将其拖入场景。该预设体是个空物体,它通过携带的脚本组件“ImageTargetController”,起到设置目标图像的功能,图像目标的属性配置如图所示。1.LicenseKey的获取

(4)在ImageTarget预设体下放置一个三维物体模型作为子物体。这个三维物体模型就是要叠加到现实世界的虚拟物体。空物体ImageTarget下的小黄鸭物体如图所示,本例中放入了一个小黄鸭模型,并根据模型的实际情况调整好它的大小和摆放角度。除了一般的模型,读者在这里也可以自行尝试加入带动画或者其他特效的模型。1.LicenseKey的获取

(5)在Unity中运行场景,将摄像头对准目标图像,小黄鸭就会出现并叠加到摄像头拍摄的现实世界目标图像上了。摄像头还可以前后左右任意移动,只要不是晃动得特别厉害,模型就会跟踪目标图像,一直显示在目标图像上。小黄鸭模型叠加显示到目标图像上,如图所示。2.三维实体目标跟踪

所谓三维实体目标跟踪,是指检测和跟踪自然场景中的三维物体,如图所示。EasyAR目前可以检测和跟踪具有丰富纹理的三维物体,仅需要准备好待跟踪物体的三维模型文件,不需要事先进行复杂的配置或配准工作,也不需要将模型或任何数据上传到EasyAR或其他网站上。所以,三维实体目标跟踪的AR应用特别适合现在三维打印产业。2.三维实体目标跟踪

(1)使用三维实体目标跟踪的第一步是准备好待跟踪物体的三维模型文件。模型文件必须是OBJ格式,且必须包含相应的材质文件以及至少一张纹理贴图文件。纹理贴图文件必须是JPEG(JPG的全名)或PNG格式。模型应当具有丰富的纹理细节,如图所示,饼干模型就因缺乏纹理细节而不能被识别和跟踪到。2.三维实体目标跟踪

(2)新建场景,并按书中6.3.1小节的方式设置默认摄像机的属性。(3)在Project面板的“Assets”→“EasyAR”→“Prefabs”→“Composites”文件夹中找到EasyAR_ObjectTracker-1预设体,将其拖入场景。该预设体就是EasyAR已经配置好的三维实体追踪器,它与图像追踪器的区别在于,该物体的第三个子物体所携带的脚本组件是ObjectTrackerFrameFilter。2.三维实体目标跟踪

(4)在Project面板的“Assets”→“EasyAR”→“Prefabs”→“Primitives”文件夹中找到ObjectTarget预设体,将其拖入场景。该预设体是个空物体,它通过携带的脚本组件ObjectTargetController,起到设置目标三维物体的功能。三维实体目标的属性配置如图所示。2.三维实体目标跟踪

(5)在ObjectTarget预设体下放置一个三维物体模型作为子物体,这个三维物体就是要叠加到现实世界的虚拟物体。这里对于三维物体模型并没有具体要求,可以是和目标图像外形一样的模型,也可以是任何其他的模型。本例中还是和前面小节一样,放入了一个小黄鸭模型。(6)这里我们将模型渲染图当作真实世界里的实体目标来做试验。在Unity中运行场景,将摄像头对准实体目标,小黄鸭模型叠加显示到实体目标上,如图所示。3.多目标跟踪方法一:单个跟踪器(1)在书中6.3.1小节制作完成的场景里,按照其第3步和第4步的做法,使用不同的图像和模型制作出第二个ImageTarget目标。这时如果运行场景,将摄像头同时对准两个图像目标,EasyAR就会随机跟踪两个目标中的一个。(2)如果要同时跟踪两个图像目标,就需要将跟踪数量设置得更高。找到图6-13中的第三个子物体ImageTracker,它就是跟踪器。将其脚本组件“ImageTrackerFrameFilter”的“SimultaneousTargetNumber”属性改为2,跟踪目标个数的属性调整如图所示。这样EasyAR就能够同时跟踪两个目标了。3.多目标跟踪方法二:多个跟踪器

如果使用多个跟踪器,则能更加灵活地处理多目标的问题。具体步骤如下。(1)在书中6.3.1小节制作完成的场景里,找到子物体ImageTracker,也就是跟踪器物体,按Ctrl+D快捷键将其复制一份,两个跟踪器如图所示。如果要更多的跟踪器,可以继续复制该子物体。每个跟踪器的SimultaneousTargetNumber属性的值,也就是可以跟踪的目标的个数,都可以单独设置。3.多目标跟踪方法二:多个跟踪器(2)按照6.3.1小节里第3步和第4步的做法,重复制作第二个ImageTarget目标,图像文件和模型可以另外选择。并且将ImageTargetController组件的Tracker属性,设置为之前新建的跟踪器ImageTracker_2,设置图像跟踪器如图所示。3.多目标跟踪方法二:多个跟踪器(3)假设两个ImageTarget下放置的都是小黄鸭三维模型。这时运行场景,将摄像头同时对准两个目标图像,在两个目标图像上就会同时出现小黄鸭模型,如图所示。4.动态图像目标生成和跟踪除了跟踪设置好的图像目标之外,EasyAR也支持通过保存摄像头所采集的图像来达到动态创建跟踪目标的目的。(1)新建场景,按照6.3.1小节中例子的方式设置默认摄像机的属性。(2)在Project面板的“Assets”→“EasyAR”→“Prefabs”→“Composites”文件夹中找到EasyAR_ImageTracker-1预设体,将其拖入场景,作为图像跟踪器。4.动态图像目标生成和跟踪(3)新建一个空物体,在Project面板中搜索并找到“TargetOnTheFly”“FilesManager”“ImageTargetManager”这3个脚本,将它们作为该新建空物体的脚本组件。其中,“TargetOnTheFly”脚本组件的功能是生成一个UI,并通过UI让用户获取摄像头图像来作为跟踪目标。它还需要设置一个“Skin”属性,在Project面板中搜索并找到“GUISkin”,然后将其拖入属性框中,设置“Skin”属性如图所示。“GUISkin”是EasyAR已经配置好的UI皮肤属性。4.动态图像目标生成和跟踪“FilesManager”脚本组件的功能是将摄像头采集到的图像保存成文件,从而形成动态创建的图像目标。理论上,采集图像的张数是没有上限的,但考虑到设备的运算能力和存储空间限制,建议不要采集过多的图像目标。“ImageTargetManager”脚本组件的3个功能属性,如图所示数字。1是遍历读取“FilesManager”脚本组件保存的所有图像目标,2是指定场景中的图像跟踪器来跟踪所有目标,3是指定跟踪到目标后要显示的虚拟物体。4.动态图像目标生成和跟踪(4)做完以上步骤后,就可以运行场景,动态获取跟踪目标的界面如左图所示,将摄像头摆好,把目标置于中间的方框内,然后单击“TakePhoto”按钮,就会通过摄像头拍摄的图像形成一个跟踪目标。再次将摄像头对准刚才的位置,就会有一个三维模型显示到画面中,跟踪到目标后显

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论