版权申明:

  • 本文原创首发于以下网站:
  1. 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123
  2. 优梦创客的官方博客:https://91make.top
  3. 优梦创客的游戏讲堂:https://91make.ke.qq.com
  4. 『优梦创客』的微信公众号:umaketop
  • 您可以自由转载,但必须加入完整的版权声明!

AR

  • AR的应用

    • 扫描并视频展现 //输入是一幅图像
    • 扫描并3d展现
  • AR设备:

    -扫描:手机摄像头

    -展现:手机屏幕

  • MR设备:

    -hololens

    • 扫描:眼镜
    • 展现:全息影像投影在眼镜上
  • AR软件SDK:

    -voforia

    -FasyAr

    -HiAr //我们学习的

  • unity中的特殊文件夹

    -Editor 对unity菜单进行拓展

    -Resource 动态加载资源

    -Plugins 所有的插件

    -StreamingAssets 从网络下载的资源

  • 上传图片

  • 打包成图集(HIAR完成)

  • 下载打包后的图集(unity package)

  • 将图集作为插件导入unity

  • 也可以直接在网站上创建个空的应用,以获取Appkey和Secret,并使用插件自带的图片资源,位置在Assets\Editor\HiAR\ImageIargetTexures\Sample(需要ctrl + o在文件目录中预览, unity中无法直接预览)

  • 导入SDK

  • 创建HiARCamera

  • 添加ImageTarget //识别图的预制体

  • 设置Image Target中Image Target Behaviour使用的图集 Target Group,并设置我们需要识别的图片Image Target

  • 在Image Target下添加我们识别之后要表现的物体

  • 当图片被识别后,就根据图片显示的角度与位置动态调整Image Target的位置,此时作为子节点的位置,对应位置也会实时变化,实现AR效果

  • 在Image Target下添加Animation 添加Video player等东西都可以播放 显示

  • 多图识别:

  • 在HI AR Engine Behaviour中勾选MultiTarget 并可以指定最多可识别的imageTarget

  • 然后就可以创建多个ImageTarget进行选择需要识别的图像和表现形式

  • 动态加载:

  • 使用TargetDynamic组件

  • 从外部加载识别图(本地文件或网络下载)

  • 在TargetDynamic组件中使用AddTmageTarget()动态加载图片资源

  • 如:

void OnGUI()
{
if (GUI.Button(new Rect(30, 30, 200, 80), "Add Key"))
{
AddTmageTarget(System.IO.path.Combine(Application.streamingAssetsPath, "HiAR/sample"), "e58931", 854, 480);
}
}
  • 然后动态加载的图片就可以作为一个被识别图识别,然后在OnDynamicReco的回调中实时识别后的操作(新建一个cube设置为该TargetDynamic组件的子节点就可以跟着动了) //TargetDynamic本身就是一个Image Target

  • 设置中心点 //将taget固定到一个位置,使重力方向始终向下

  • 在Image Target Behaviour中选择Center pointer,该ImageTarget就可以成为中心,与重力方向垂直,在unity中就不会随着识别的图片移动,在一些需要物理应用的场景中使用(如小球弹起降落,视频播放等)

  • 涂涂乐:

  • 在ImageTarget下添加我们要表现的场景(一条鱼fish),指定ImageTarget识别的图片

  • 在fish上添加HiAR/HiARPaint(设置shader),添加Hi AR Paint的脚本并指定current Material为Fish的材质 //这步就相当于把小孩子画的部分作为一个shader,然后当做了fish的meterial

  • shader 着色器 把图像上绘制的部分作为纹理贴到模型上

Unity基础:AR(增强现实)的学习的更多相关文章

  1. unity 基础学习 transform

    unity  基础学习   transform 1.unity采用的是右手坐标系,X轴右手为+,Y轴向上为+,Z轴朝里为+; 但是我们从3D MAX中导入模型之后,发现轴向并没有遵从这个原理, 其实是 ...

  2. 《虚拟伙伴》AR增强现实应用开发总结

    一.概述 1.1选题背景 随着时代的发展,人们的生活节奏越来越快,生活质量也越来越高,但却在繁忙之中忽略或者忘记了关心自己成长时代最重要或者最正确的事情和道理.虽然现在有很多社交平台,如微博,微信,f ...

  3. 如何开发AR增强现实应用与产品

    2016年被称为VR元年,可见火爆程度,但是我要告诉你,其实还有一种技术AR(增强现实)技术,才是下一个真正的“风口”技术.可以预见的是,未来AR应用爆发之时,必将超越VR产业规模,开拓千亿级市场空间 ...

  4. AR增强现实开发介绍(续)

    AR增强现实开发介绍(续) ---开发基础篇 开发增强现实技术,无论是商业级应用,还是面向幼儿教育的游戏产品,都需要从了解.获取.下载增强现实插件开始.目前全世界使用量最大公认最好的增强现实插件是高通 ...

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

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

  6. 【Unity原神AR开发实战 2022】下载原神模型,PMX转FBX,导入到Unity,AR设置,测试应用程序,生成应用程序

    文章目录 一.前言 二.模型下载 1.官网下载 2.模之屋官方下载 3.第三方链接 三.pmx转fbx 1.Blender插件CATS的下载与安装 2.pmx模型的导入 四.Unity开发部分 1.V ...

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

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

  8. AR增强现实开发介绍

    AR增强现实开发介绍 ---理论篇 ​ AR增强现实开发最近做一些AR增强现实的内容,一些普及性的内容,与大家分享. 一: 什么是AR增强现实技术: 是一种将真实世界信息和虚拟世界信息“无缝”集成的新 ...

  9. Unity 基础

    Unity 基础是unity入门的关键.他将讲解Unity的界面, 菜单项,使用资源,创设场景,并发布版本. 当你读完这段,你将理解unity是怎么工作的,如何有效地使用它,并且完成一个基本的游戏. ...

  10. 【Unity】Unity中AR Foundation的使用

    前段时间通过Unity 3d打包测试对比ARCore与ARKit环境探针的效果的过程中,在Google AR Core官网下载到了ARCore for Unity SDK,但是在苹果官网却没有找到AR ...

随机推荐

  1. 轻量级移动端类库,大小20多k,支持多指触摸。

    /* * 移动端 公共类库 * 作者:hqs */ (function(global, factory) { // cmd commonjs if (typeof module === "o ...

  2. 吉特日化MES-工业生产盲区

    工业生产的几大盲区 1  重硬件忽略软件 : 目前只要提到智能化,大家都是想到的是一大堆自动执行的设备,什么机器人,输送线,人脸识别摄像头等,在一成套的系统中可能硬件几百万上千万,软件可以是几万几千几 ...

  3. Okhttp3源码解析(3)-Call分析(整体流程)

    ### 前言 前面我们讲了 [Okhttp的基本用法](https://www.jianshu.com/p/8e404d9c160f) [Okhttp3源码解析(1)-OkHttpClient分析]( ...

  4. deepin 15.11 安装 pyenv

    GitHub:官方环境:https://github.com/pyenv/pyenv/wiki/Common-build-problems GitHub:官方文档:https://github.com ...

  5. Spring学习之旅(二)--容器

    在 Spring 应用中,所有的对象都在 Spring 容器(container) 里,容器负责对象的创建.配置.装配并管理它们的整个生命周期. Spring 容器 Spring 容器 并不是只有一个 ...

  6. python 10 动态参数

    目录 1. 函数的动态参数 1.1 动态位置参数(*arges) 1.2 动态关键字参数 (**kwargs) 1.3 万能传参: 2. 函数的注释 3. 名称空间 4. 函数嵌套 5. 函数变量修改 ...

  7. Springboot源码分析之事务拦截和管理

    摘要: 在springboot的自动装配事务里面,InfrastructureAdvisorAutoProxyCreator ,TransactionInterceptor,PlatformTrans ...

  8. Linux shell 获得字符串所在行数及位置

    shell 获得字符串所在行数及位置 01 获取字符串所在的行数 方式一:用grep -n [root@root]# cat test apple bit create delect exe flow ...

  9. Unity Editor已停止工作

    在更换系统之后,可能会出现打开刚安装好的Unity,显示Unity Editor已停止工作,这时候我们考虑是系统win7的问题.可以在原系统上升级,也可以重新安装,升级.文中所涉及到的软件,可在右侧加 ...

  10. 配置Office Excel运行Python宏脚本

    基本环境 名称 版本 操作系统 Windows 10 x64 Office 2016 安装Python 1.下载Python安装包 登录https://www.python.org/downloads ...