(一)配置vuforia环境 与 运行简单AR程序

1.   安装unity2017

1)从官网上下载unity2017下载器

2)运行下载器勾选上vuforiasupport选项,其余不变,点击开始安装

2. 创建AR项目与配置AR运行环境

1)打开unity,点击create new project,命好名

点击create project 开始创建

2)点击file->buildsetting 弹出如下窗口

3)先点击红圈标出的Android再点击红圈标出的player setting

4)在右侧的inspector栏中修改Company Name

5)在该inspector中往下找,找到找到other setting 与XR

在other setting中 的identifier

格式为com.<CompanyName>.<ProductName>

其中 company name 是之前填好的company name ,product name 是之前的填的product name如图

6)仍然留在other setting里,往下找到android TV Compatibility

取消对它的勾选

变为下图

7)选择XR setting

勾上 Vuforia Augmented Realit 选项,如下图

 

3创建AR Object

1)  回到主界面 选择 GameObject->Vuforia->ARCamera,当弹出import对话框选择import

2)  删除原来的MainCamera

3)  选择Gameobject->Vuforia->image

4)  打开Assets->Resource->vuforiaconfigure

将从vuforia官网注册的key复制到下图所示处

要知道怎么注册key,可上网百度,或暂时使用以下key:

AVmMkxX/AAAAmScdKvKW70UhlvDMLLRnNmF8HCouRIvMHw5Q7VcjM0llwDWaXa6V6zvR8kWwx7P2h8rQ7fFvLKlxQ7ZXSW6pATdpRTGifrh7m+Jh6e3bCMhlk6ziQ2Nste6ySF/8y3d+jm2vFP4SNBFUmcavY/9EaJ3+KdVawAz9AKDUFfke/KSIycVa+yc+THhdm/qGnts1M5KbkO/8Z1oNqfu8N1bMJTntXA4XzxPjK1c7mCPol7stMyl+UdP9zwIuyVPvQ7dnPKzn75zaKC6dC3bvdur2r7WRBO06g9XPXqXtU3TP0agrJY9H9N96MRNcrO/2k65khpY3WluqICyKn0bTQ/dZ18bqpS766VHkyaYQXjsqNeDC

5)  在该面版中网下找,找到下图所示选项,并把红圈中所示勾选上

6)修改ARCamera与imageobject的位置关系,使得可以通过ARcamera看到比例适中位置适中的imahetarget

效果在game面板里显示如下图

如果没有显示图片而显示白色的话,就说明图片数据没有加载进来

转到imagetarget inspector面板的Image Target Behavior(script)组件

发现Database 与image Target 均为empty

点击选择,变为下图

这样就能出现如上图game面板的效果了

7)添加一个3d对象,作为imagetarget的子对象调整好位置

如图:

8)在电脑上运行即可

9)要使得在手机上运行,可点击file->build setting->build

选择要保存的apk的文件位置和名字,当生成成功后,将生成的apk安装到手机上运行即可

(二)用自己的图片进行AR识别

1.   在vuforia 官网上传图片生成图片库,下载生成的package到本机并导入

2.   主要过程跟(一)中一样,但在imagetarget 中的imagetarget behavior面板中的database改为我们自己定义的database,将imagetarget改为自己上传的图片

3.   同时在vuforiaconfigure中激活,过程类似于(一)中的第3大步中的第5)小步

(三)翻动书页

1.   创建一个plane ,plane_paging,创建material1,material2, sahder1 ,shader2

2.   创建脚本ButonPut, MyImage

3.   ButtonPut 用于监听buttonclick事件

MyImage 用于展现paging动画

4.   为对象更该texture是调用了下面一行代码:

GetComponent<Renderer>().material.mainTexture = (Texture)Resources.Load("Img/ao" + (ButtonPut.num));

5.   具体翻页原理是:

1)  在ButtonPut中定义一个public static intnum 变量,用于记录翻至第几页,定义void pageLeft() 和pageRight()函数用于实现左右翻页,定义public static bool pageright 变量用于记录翻页方向

当点击button后,改脚本可通过Instantiate(planepaging)方法创建一个planepaging 对象

当点击向左翻页的时候,令num++,pageright为false当向右翻页则num--,pageright为true

2)  主要翻页动画在MyImage脚本中实现:

① 当planepaging 对象创建出来,即运行MyImage脚本,首先根据pageright判断plane与pagingplane的贴图(其中资源中共有5章贴图图片)

② 当pageright为true时,planepaging的贴图会变为plane当前贴图的前一张图片 而plane在pagingplane刚创建时不变,到paging结束的时候变为前一张图片,

其中,判断paging是否结束用到了是否旋转了90度,当总共旋转角度超过90度时,这销毁pagingplane对象,并在此时将plane的贴图更换

③ 当pageright为false时,创建pagingplane对象后,令该对象的贴图为plane的当前图片并立刻将plane对象的texture变为它的下一张图片, pagingplane旋转90度销毁即可

3)其中旋转的实现是通过计算机图形学的平移与旋转相结合实现的,因为图片数目有限, ButtonPut.num 也是有限的因此要对其范围加以限制,只有num在一定范围内,button时间才可以被监听处理

6.   效果图:

 

vuforia for unity 入门教程相关推荐

  1. 一个非常棒的Unity入门教程(附上学习笔记)

    非常适合入门的unity教程,知识点全面,声音清晰,基本没有废话,时间控制得当,UP主Michael还在更很多其他的unity相关教程 视频教程地址:https://www.bilibili.com/ ...

  2. Unity 入门教程:贪吃射(1) —— Unity 安装和项目创建

    **这是一个系列教程,我将通过这个系列教程从零开始教你用Unity制作一个2D的贪吃蛇小游戏.凡事开头难这个教程不会让你马上精通Unity但是会让你对Unity有个初步的认知,好了废话不多说马上就进入 ...

  3. Unity -- 入门教程三

    进入这个页面,按编译器版本进行下载,我用的是2010,所以要下载这个. 安装就不用我教了,下面开始看我是如何导入Unity VS的. 点击Import之后我们会发现并没有发生什么,但是接下来我们按一下 ...

  4. 【Unity入门教程】 第八章 人工智能【中国大学MOOC游戏引擎原理及应用】

    以下均为来自中国大学mooc 游戏引擎原理及应用时的学习笔记,不含商用,仅供学习交流使用,如果侵权请联系作者删除. 文章目录 8.1 自动寻路 8.2 巡逻 8.3 视野 8.4 自动攻击 8.5 追 ...

  5. OpenCV For Unity 入门教程(一): 实现简单的抠图

    1. 需要引入 OpenCVForUnity 命名空间,结构图如下: 2.代码如下: using OpenCVForUnity; using System.Collections; using Sys ...

  6. Unity制作汽车(入门教程)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Unity入门教程 前言 一.如何使用Wheel Conllider组件 二.让汽车动起来 1.新建一个脚本TEST_Car 2.完善 ...

  7. Unity3D打砖块游戏入门教程

    今天来实现一个3D打砖块游戏,非常的简单,是正经的入门教程,但是学到的都是Unity游戏开发中重点的内容,下面一起来了解下吧. 新建3D游戏项目 打开Unity Hub软件,我们新建一个3D项目,新建 ...

  8. 【Unity入门计划】界面介绍(1)-Scene视图

    目录 正式记录前的废话 Unity的坐标系 2D/3D视图转换 视图的移动.旋转.缩放 移动 旋转 缩放 选中游戏对象Game Object 单选 多选 设置不允许选中 场景可见性 游戏对象的移动.变 ...

  9. 从零开始的unity3d入门教程(五)---- 基于Vuforia的AR项目

    从零开始的unity3d入门教程(五)---- 基于Vuforia的AR项目 文章目录 从零开始的unity3d入门教程(五)---- 基于Vuforia的AR项目 一.前言 二.Unity与VS环境 ...

最新文章

  1. 平板python_Wacom平板电脑的Python示例
  2. 循环队列解决约瑟夫问题
  3. linux tr命令书上的一个很好的例子
  4. C语言执行shellcode的五种方法
  5. 已知三角形三点坐标求角度_细心研磨椭圆焦点三角形,这肯定是最全的解释。...
  6. Spark初识-Spark基本架构概览使用
  7. Global.asax.cs中的方法(包括自定义方法)的含义
  8. 因为不想「被绿」,美国年轻人只想和 iPhone 聊天
  9. 在鉴定名画真伪这件事上,专家可能要被AI代替了
  10. 人工智能与人的职业发展
  11. 什么是自签名证书?自签名SSL证书的优缺点?
  12. 从青蒿素说一下专利与知识产权[更新]
  13. 软阈值迭代算法(ISTA)和快速软阈值迭代算法(FISTA)
  14. 小米2s解决充电过热的方法
  15. 如何用IED编写股票的量化策略?
  16. html 垂直底端对齐,CSS vertical-align(垂直对齐)
  17. c语言指针作用一句话,C语言指针是什么?C语言指针的概念。
  18. 2022年了,密码该如何保存都不会?
  19. 计算机教学设计与反思,[信客教案及反思] 信息技术教案课后反思
  20. 数据库mysql调优(最全整理)

热门文章

  1. 关于一个简易的Html5音乐播放器的制作
  2. 每日新闻 | 2018年全球十大IaaS服务商:中国占四席 阿里云第三
  3. git-for-windows下载地址
  4. iOS ReplayKit实时录制屏幕实现方案的细节记录
  5. 数据类型扩展及面试题讲解
  6. 什么是真实--有感于“嫁人就要嫁范跑跑!”
  7. 模电multisim实验
  8. ETC通行费9折活动
  9. 文章管理平台PC端(文章分类)
  10. RT1064学习笔记-外部中断