版权申明:

  • 本文原创首发于以下网站:
  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. http客户端-性能比较系列-第一篇-单线程

    系列文章: 单线程性能测试:https://www.cnblogs.com/victor2302/p/11077208.html 多线程性能测试:https://www.cnblogs.com/vic ...

  2. struts的上传下载

    文件上传 添加jar包 commons-io-1.3.2.jar commons-fileupload-1.2.1.jar 前台页面 form表单 method值为post 添加"encty ...

  3. Spring项目集成ShiroFilter简单实现权限管理

    Shiros是我们开发中常用的用来实现权限控制的一种工具包,它主要有认证.授权.加密.会话管理.与Web集成.缓存等功能.我是从事javaweb工作的,我就经常遇到需要实现权限控制的项目,之前我们都是 ...

  4. DT-06 For MQTT

    感谢关注深圳四博智联科技有限公司产品!我公司提供完整的WiFi信号强度采集方案,包括WiFi信号采集.设备远程管理平台.智能终端应用等. Doit_MQTT透传固件基于乐鑫ESP_IOT_SDK使用C ...

  5. 使用webpack---安装webpack和webpack-dev-server

    1.先确保安装了最新版的Node.js和NPM,并已经了解NPM的基本用法 (以下使用cmd命令行进行) 2.安装webpack (1)全局安装 $ npm install webpack -g   ...

  6. 如何彻底禁用 werfalut.exe

    在程序中调用 控制台程序 的时候,一旦出现控制台出现 crash 往往会弹出 werfault 窗口, 这样往往会锁死线程,导致程序无法继续运行. 那如何禁止 werfault 窗口的弹出呢? 在 s ...

  7. 分布式系统的一致性级别划分及Zookeeper一致性级别分析

    最近在研究分布式系统的一些理论概念,例如关于分布式系统一致性的讨论,看了一些文章我有一些不解.大多数对分布式系统一致性的划分是将其分为三类:强一致性,顺序一致性以及弱一致性.强一致性(Strict C ...

  8. Kubernetes 再深入一点点

    kb master 运行如下容器 etcd 是 k8s 的核心, 主要负责k8s的核心数据处理及保存, 需要备份该数据,或者做集群 ,服务端口 2379(客户端服务) 2380(节点通信)kube-c ...

  9. HBase的高可用(HA)

    在公司写文档时候查到的一些资料,感觉对自己很有帮助,现在整理如下: 介绍 HBase是一个高可靠性.高性能.列存储.可伸缩.实时读写的分布式数据库系统,基于列的存储模式适合于存储非结构化数据. 适用场 ...

  10. CSS动效集锦,视觉魔法的碰撞与融合(一)

    前言 在本文中我讲述了7种CSS的动效,它们也许看起来并不惊艳,但是我认为却足够传达本文的理念:编写一些特殊的CSS样式的时候需要不拘于常理,要用特殊的认识角度看待标签和样式属性,从而用「绕个弯」的方 ...