需求

在HoloLens2中,使用webcam扫描中型物体,然后触发事件

环境

visual studio2019
unity2020.3.20f1c1
HoloLens2
vuforia10.2.5
MRTK2.7.3

实现

1、先分析下,使用vuforia的object scanner是否可行:这种方式针对体型小、特征点多的物体合适,需要配合安卓apk——vuforia object scanner、打印的扫描纸,将物体放到右上角,接着拿起手机围绕物体进行扫描。若物体表面的凹凸不够,达不到比较多的识别点要求(150以上为佳),甚至还要贴些东西到物体上。


2、vuforia的model target:模型识别
这种方式,就是根据模型文件,来识别真实物体。当然前提是,模型的尺寸要比较贴近真实物体的尺寸,vuforia允许10%内的误差。
一般工作流程:得到模型文件(一般推荐FBX与OBJ格式)——导入到vuforia的Model Target Generator(下称MTG)——跟着流程进行,生成standard model target——生成的unitypackage导入unity——使用预制体modelTarget,往他下面放子物体,这样识别到子物体才显示,否则隐藏。
下面我使用的是iPhoneXR的模型,刚好笔者手头有一台用了好几年的iPhoneXR。模型文件、unitypackage在下面提供下载
下载资源

注意事项

当部署到HoloLens,发现子物体有偏移时,可尝试下面步骤
1、确保模型尺寸和真实物体一致
2、在MTG中修改guide view,即发现物体时看到的面,尽量贴合现实情况看到的角度
3、为了保证性能,不用的时候关闭vuforiabehaviour.enable
4、使用脚本frameRateSetting.cs锁帧率,锁HoloLens 60帧
5、vuforia configuration的camera device mode = speed,加速识别
6、避开同时使用vuforia与webcam,例如相机截图
7、在HoloLens中进行目视校准
8、在unity-build setting-player setting-player-publishing setting-supported device families 支持的设备系列下, 确保 选中全息holographic 。
9、禁用 在后台运行 run in background, 以便 Vuforia 在应用程序进入后台时暂停,并在应用程序恢复时再次访问相机。
10、在 Default Orientation 下拉菜单中,确保 选择Landscape Left
11、按照ARCAMERA设置,拷贝到MRTK的相机里(两个脚本,vuforiabehaviour和default error handler)

不用vuforia10.5.5的原因

在unity2020.3.20f1c1导入时会报错
1、custom video input - Could not connect pins - RenderStream()
2、SerializedObjectNotCreatableException: Object at index 0 is null

以后抽空再来研究,而10.2.5版本尝试使用MTG经过云训练的model target时会报错,应该要更高版本才支持

参考链接

vuforia的创建Model target的文档
MTG下载
unity2020 vuforia model target的油管教程

关于vuforia中,识别后显示的图像抖动解决

这篇文章的注意事项
脚本

guideview

由于笔者在HoloLens中使用vuforia功能,它自带的guideview在HoloLens效果不好,所以建议自制一个image,结合ontargetfound和OnTargetLost来控制guideview的显示与隐藏

HoloLens2的vuforia模型识别相关推荐

  1. Hololens2 Vuforia开发

    Unity 2020.3.35 MRTK :2.7.3(官方推荐支持OpenXR版本,) (2.6.1,2.7.0,2.7.2,2.8.0) 已经验证成功版:MRTK2.8.0(非OpenXR),2. ...

  2. HoloLens 2开发: Vuforia图片识别

    前言 最近有新成员加入本团队,为了方便其开发HoloLens1/HoloLens2,将不定时更新HoloLens相关开发相关内容. 软件需求: HoloLens 1:VS2017 + Unity201 ...

  3. Unity+Vuforia+Hololens2 AR开发

    接触了一个使用HoloLens在Unity中开发一个AR程序的项目.网上的教程很乱,在这里整合一下官方以及各博客的教程. 本文包括环境的安装和配置,一个demo的实现及在HoloLens2上的部署过程 ...

  4. UnityAR之旅-Vuforia ModelTarget模型识别(二)

    上一篇分享了一下如何使用Model Target Generator,这一篇我们接着分享如何在Unity中使用. 将从Model Target Generator导出的.unitypackage导入U ...

  5. UnityAR之旅-Vuforia ModelTarget模型识别(一)

    最近接触了Unity的AR开发,踩了无数个坑,最终还是成功的扫描了出来.Model Target功能是Vuforia近几年才推出的功能,而且在Unity2017.3之后的版本中,Vuforia已经内嵌 ...

  6. HoloLens 2开发:电脑端PC识别Vuforia

    前言 最近有新成员加入本团队,为了方便其开发HoloLens1 / HoloLens2,将不定时更新HoloLens相关开发相关内容. 软件需求: HoloLens 1:VS2017 + Unity2 ...

  7. HoloLens1开发(二):结合Vuforia开发

    前言 最近有新成员加入本团队,为了方便其开发HoloLens1 / HoloLens2,将不定时更新HoloLens相关开发相关内容. 软件需求: HoloLens 1:VS2017 + Unity2 ...

  8. [Vuforia]一.环境搭建与图像识别

    https://developer.vuforia.com/downloads/sdk 上方链接:SDK下载 注意:9.8支持3D物体识别,之后10的版本不支持,只有Vuforia ModelTarg ...

  9. Unity 插件之 Vuforia 高通AR识别插件

    一.Vuforia 使用教程 注册Vuforia 创建许可:Develop--在"License Manager"页面中--点击"Add License Key" ...

最新文章

  1. Java项目:星际争霸游戏(java+swing+awt界面编程+IO输入输出流+socket+udp网络通信)
  2. Javascript函数之深入浅出递归思想,附案例与代码!
  3. Leangoo自定义字段
  4. JEP 181不兼容,嵌套类/ 2
  5. 怎样实现一个简单的jQuery编程
  6. SSE优化系列十:RGB和YUV格式图像互转SSE优化
  7. 实现qq空间自动化点赞
  8. Python requests练习:爬取猫眼电影排行
  9. png转ico图标的在线网站
  10. Python制作绘图板,基础功能实现
  11. 配置 VScode 编辑器 (前端篇)
  12. S7200SMART 软件在虚拟机中连接PLC笔记
  13. 已经配置javahome了的,还出现A Java Runtime Environment (JRE) or Java Development
  14. 0035:虫子吃苹果(C++)
  15. 他们真的在意信用么?
  16. 69节入门python_小渣渣学习笔记 python day69 【Django】
  17. Win | Scoop 安装使用
  18. 泛函分析笔记(十三) 傅里叶级数、紧自伴算子
  19. STD高级语言程序设计第二天(满分答案)
  20. 鸿蒙OS2.0添加加密门禁卡进入卡包

热门文章

  1. 查询server服务器版本信息,sqlserver多版本查看版本号
  2. Learning Local Search Heuristics for Boolean Satisfiability 2020-04-30
  3. [2018-5-4]BNUZ你们还差得远呢
  4. 原创图片可以进行版权登记吗?
  5. BZOJ1927 [Sdoi2010]星际竞速
  6. P3324 [SDOI2015]星际战争
  7. Photoshop CC 2017 One-on-One: Fundamentals Photoshop CC 2017 系列进阶教程之基础训练 Lynda课程中文字幕
  8. 如何解决NavigationDuplicated: Avoided redundant navigation to current location:问题
  9. 现在什么类型的视频最受欢迎
  10. xftp和xshell有什么区别