Unity 开发AR之 Vuforia


本文提供全流程,中文翻译。

Chinar 坚持将简单的生活方式,带给世人!

(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)


Chinar —— 心分享、心创新!

助力快速完成AR的简单开发,学习 Vuforia 的使用流程

为新手节省宝贵的时间,避免采坑!

Chinar 教程效果:



全文高清图片,点击即可放大观看 (很多人竟然不知道)


Vuforia —— 增强现实

Vuforia —— 是AR开发工具中的一种,接入较为简单、且使用方便!



由于该公司和 Unity 公司进行合作,所以在2017较新版本中,直接选择安装 Vuforia 插件,即可在 Unity 中直接导入 Vuforia 。

具体安装步骤,就在 Unity 安装程序中选中 Vuforia ,这里就不在做过多的陈述!

使用 Vuforia 需要先注册账号




Create Development Key —— 创建开发者资源

1. 登陆后,点击 Get Development Key






2. 创建密钥






3. 创建数据库




4. 在数据库中添加一个图片

图片最好选择锐化度较高的、棱角分明的图片

(图片最大不能超过 2M/如果png不成功,就用jpg尝试)

上传后, Vuforia 后台,会自动生成文件加入当前数据库,并对图片打分1-5星不等

5星,AR测试识别率最高

在此,我用手机桌面来做测试!上传后,会给5颗星!






5. 下载数据库,放在桌面上待用!




Unity Vuforia Setting —— Unity中 Vuforia 的设置

下面,来到 Unity 中对 Vuforia 进行设置

如果菜单栏中 GameObject 中有 Vuforia 选项,则证明已经正确安装

否则需要自己去安装后,再进行一下操作


1. 添加 AR Camera




2. 设置 AR Camera 上的脚本组件 Vuforia Behavior

由于 Vuforia Behavior 为,警告:不可用状态

所以需要在 Player Setting 中进行设置






3. 添加密钥

添加我们之前在Vuforia网站创建的开发者密钥






4. 导入数据库,并设置

导入我们已经创建好的 Vuforia 数据库包 TestOneData.unitypackage 到 Unity 工程中




5. 添加AR Image

右键层次列表,添加 AR Image

并在检视面板中对属性进行设置,选择自己创建的数据 TestOneData




6. 添加物体

添加一个球体,用于测试AR是否正常运行

注意:

物体必须是 ImageTarget 的子物体

设置完成后点击 测试即可 (需要电脑有摄像头)




7. 测试效果

当镜头对准我们设置好的图像后,会显示 球体

Vuforia 免费版,都会有Logo

见谅:(我的台式电脑没配摄像头)

该测试图样,来自于我5年前的备用机 HTC One ,有些老旧、进灰




8. ——安卓打包报错

上边提到,安卓打包会报错

那是因为 Vuforia 不支持 Android TV ,所以需要在 Player Setting 中关闭该选项

即可成功打包工程



至此:Vuforia 基本操作流程完美结束


Explain —— 说明

如果想要进行更多的操作,*需要深入学习

其他就跟平时写 Unity 项目一样了,通过代码控制, UGUI 添加界面即可

没有什么区别

例如想让物体动起来、变色,直接加代码即可



给球添加一个材质球,把脚本挂在 球身上

即可实现每隔一秒变一次色

using System.Collections;
using UnityEngine; /// <summary>
/// 改变球体颜色
/// </summary>
public class ChangeBall : MonoBehaviour
{
private Material deMaterial; //默认材质
public float speed = 10f; //渐变速度
public float rotateSpeed = 360f; //旋转速度 void Start()
{
deMaterial = GetComponent<MeshRenderer>().material;
InvokeRepeating("ChangeColor", 1, 1);
} void Update()
{
transform.Rotate(Vector3.up, rotateSpeed * Time.deltaTime); //自转
} /// <summary>
/// 随机颜色
/// </summary>
/// <returns> Color </returns>
private Color RandomColor()
{
float r = Random.Range(0f, 1f);
float g = Random.Range(0f, 1f);
float b = Random.Range(0f, 1f);
Color color = new Color(r, g, b);
return color;
} /// <summary>
/// 改变颜色
/// </summary>
private void ChangeColor()
{
StopAllCoroutines();
Color temColor = RandomColor();
StartCoroutine(ColorEnumerator(temColor));
} /// <summary>
/// 开启协程 —— 循环颜色
/// </summary>
/// <returns></returns>
IEnumerator ColorEnumerator(Color temColor)
{
while (true) //死循环
{
deMaterial.color = Color.Lerp(deMaterial.color, temColor, speed * Time.deltaTime); //插值
yield return 10; //每次暂停10帧
}
}
}


支持

May Be —— 搞开发,总有一天要做的事!

拥有自己的服务器,无需再找攻略!

Chinar 提供一站式教程,闭眼式创建!

为新手节省宝贵时间,避免采坑!

先点击领取 —— 阿里全产品优惠券 (享受最低优惠)



1 —— 云服务器超全购买流程 (新手必备!)



2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)



3—— Windows 服务器配置、运行、建站一条龙 !



4 —— Linux 服务器配置、运行、建站一条龙 !




" role="presentation">

Chinar


END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究


对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com


对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

Unity 3D-AR开发-Vuforia教程手册的更多相关文章

  1. Unity 3D 建立开发环境

    之后的基本方向 ios游戏开发,基础教程http://www.devdiv.com/unity_d_-thread-128068-1-1.html,学习Unity 3D游戏开发. 应该昨天表示,读了一 ...

  2. Unity 3D游戏开发学习路线(方法篇)

    Unity 3D本来是由德国的一些苹果粉丝开发的一款游戏引擎,一直只能用于Mac平台,所以一直不被业外人士所知晓.但是后来也推出了2.5版,同时发布了PC版本,并将其发布方向拓展到手持移动设备.Uni ...

  3. 基于Unity的AR开发初探:第一个AR应用程序

    记得2014年曾经写过一个Unity3D的游戏开发初探系列,收获了很多好评和鼓励,不过自那之后再也没有用过Unity,因为没有相关的需求让我能用到.目前公司有一个App开发的需求,想要融合一下AR到A ...

  4. Unity 3D UGUI Toggle用法教程

    UGUI Toggle用法教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...

  5. Unity 3D游戏开发引擎:最火的插件推荐

    摘要:为了帮助使用Unity引擎的开发人员制作更完美的游戏.我们精心挑选了十款相关开发插件和工具.它们是:2D Toolkit.NGUI.Playmaker.EasyTouch & EasyJ ...

  6. 基于Unity的AR开发初探:发布AR应用到Android平台

    本文接上一篇,介绍一下如何通过Unity发布第一个AR应用至Android平台,在Android手机上使用我们的第一个AR应用. 一.一些准备工作 1.1 准备Java JDK 这里选择的是JDK 1 ...

  7. 【Unity】1.0 第1章 Unity—3D游戏开发和虚拟现实应用开发的首选

    分类:Unity.C#.VS2015 创建日期:2016-03-23 一.简介 Unity是跨平台2D.3D游戏和虚拟现实高级应用程序的专业开发引擎,是由Unity Technologies公司研制的 ...

  8. 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门演示样例

    一. 工作区域具体解释 1. Scence视图 (场景设计面板) scence视图简单介绍 : 展示创建的游戏对象, 能够对全部的游戏对象进行 移动, 操作 和 放置; -- 演示样例 : 创建一个球 ...

  9. 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例

    一. 工作区域详解 1. Scence视图 (场景设计面板) scence视图简介 : 展示创建的游戏对象, 可以对所有的游戏对象进行 移动, 操作 和 放置; -- 示例 : 创建一个球体, 控制摄 ...

随机推荐

  1. [LeetCode] 108. Convert Sorted Array to Binary Search Tree ☆(升序数组转换成一个平衡二叉树)

    108. Convert Sorted Array to Binary Search Tree 描述 Given an array where elements are sorted in ascen ...

  2. 关于TCP长连接和发送心跳的一些理解

    原因 TCP是一种有连接的协议,但是这个连接并不是指有一条实际的电路,而是一种虚拟的电路.TCP的建立连接和断开连接都是通过发送数据实现的,也就是我们常说的三次握手.四次挥手.TCP两端保存了一种数据 ...

  3. python http 请求 响应 post表单提交

    1. 查看请求 响应情况 print(response.text) print(response.headers) print(response.request.body) print(respons ...

  4. php对于url提交数据的获取办法

    $url = Request::getUri();//获取当前的url $arr = parse_url($url); //$arr_query = convertUrlQuery($arr['que ...

  5. Win10系列:JavaScript 动画1

    在应用程序中使用动画会使应用显得更加生动,进而给用户带来良好的视觉效果.例如,当用户将某个项添加到列表时,新项不会立即出现在列表中,而是采用动画形式到达相应位置,并且列表中的其他项也采用动画形式移动到 ...

  6. laravel composer 安装指定版本以及基本的配置

    1 安装指定的 laravel版本 以下的案例是安装5.2版本 composer create-project laravel/laravel=5.2.* --prefer-dist 2 配置 优化相 ...

  7. Animation(动画)倒着播放方法

    public GameObject AnimationObj;//带有动画的对象 // Use this for initialization void Start () { AnimationObj ...

  8. objectstate对象三种状态

    1.临时状态:new对象的过程,刚被创建出来,数据库中没有对应数据 2.持久状态:session.save(),数据库中有对应数据,session中也有对应数据 3游离状态:数据库中有对应数据,ses ...

  9. Linux防火墙iptables的策略

    iptables策略 iptables -L #查看现有防火墙所有策略 iptables -F #清除现有防火墙策略 只允许特定流量通过,禁用其他流量 1.允许SSH流量(重要) iptables - ...

  10. Java使用POI插件将数据以excel形式备份

    将数据以表格形式进行备份 (1)导入poi的jar包 放入lib下:  WebRoot\WEB-INF\lib\poi-3.2-FINAL-20081019.jar 下载链接:https://gith ...