【Vuforia+Unity】AR06-空间环境识别功能(AreaTargets)

Vuforia原理:把被识别的物体转成图、立体图、柱形图,3D模型、环境模型,然后模型生成Vuforia数据库-导入Unity-参考模型位置开始摆放数字内容,然后参考模型自动隐藏-发布APP-识别生活中实物-数字内容叠加上去! 

 不论你是否曾有过相关经验,只要跟随本文的步骤,你就可以成功地创建你自己的AR应用。 

官方教程Area Targets | Vuforia Library

1.背景

 前面几篇我们介绍了Vuforia识别图、立体图、柱形图,3D实物,然后召唤数字内容,还有最后一种:环境模型识别,也就是空间环境识别,可以帮我们实现,导航、虚拟模型与真实环境碰撞、遮挡效果、导航功能等!

 Area Targets是一种利用Vuforia技术进行环境追踪的功能,它可以追踪和增强现实世界中的区域和空间。通过使用3D扫描技术,你可以创建一个空间的确切模型,进而生成一个Area Target Device Database(区域目标设备数据库)。这个数据库能让你轻松地将增强现实效果应用于扫描环境中的静止物体,从而创造出使用周围环境作为互动元素的游戏、导航应用和空间指令。办公室、工厂车间、公寓、公共空间、博物馆等都是理想的使用场景。

2.实现的条件要求

支持的扫描技术包括:

  1. - 搭载内置LiDAR传感器的ARKit设备(iphone11 以上的手机)
  2. - Matterport™的Pro2 3D和Pro3 3D相机(不要想了,昂贵,而且MatterportAPP工具国内都下载不了)
  3. - NavVis M6和VLX扫描仪(不要想了,昂贵
  4. - Leica BLK360和RTC360扫描仪(不要想了,昂贵

看到这里你应该想放弃了,因为买不起带有LiDAR传感器的手机,基本没有办法往下进行了,但是还是在理论上先走一遍吧!

3.具体实现步骤

3.1 手机配合官方APP扫描空间

假设你有一部搭载内置LiDAR传感器的ARKit设备(iphone11 以上的手机),安装官方APP-Vuforia Creator App,Vuforia Creator App是一个适用于部分iOS设备的内置LiDAR扫描器的应用程序,它允许你扫描较小的空间并在应用程序中直接生成和测试Area Target Databases(区域目标数据库)。

下载地址:

‎Vuforia Creator on the App Store

扫描完以后直接在APP上就可以创建空间模型,这个技术也叫SLAM空间定位+3D重建! 

参考视频:https://www.youtube.com/watch?v=pHqwmhVhWKQ&list=PLhHZ6CAe8dA3JiG62bwWb3NmCROVkoZ2S&index=9

Vuforia Area Target Capture API允许你在选定的iOS设备上构建捕获Area Targets的应用程序,你可以在应用程序中直接捕获、生成和使用Area Target Databases。

扫描完毕!

3.2 如果你有扫描仪,效果会更好

使用Matterport™、NavVis和Leica都提供了高质量的3D扫描技术,可以用于创建Area Targets。他们的软件和扫描设备可以处理扫描数据的后期处理和导出,以便用于Area Target功能。

Matterport扫描环境空间教程:Area Targets from Matterport™ Scans | Vuforia Library

Area Targets | Vuforia Library 这个页面最下方有扫描教程

如果不是手机扫描,都需要在扫描后,打开PC端工具Area Target Generator。

下载地址:Tool Download | Engine Developer Portal

工具使用教程:How to Create Area Targets | Vuforia Library 

Vuforia Creator App允许你在同一应用程序中扫描、生成和测试Area Targets。Area Target Generator是一个桌面应用程序,可以用于从扫描数据创建Area Targets,它还允许你在生成数据库之前查看和编辑扫描结果。

最终生成 空间区域的数据库,双击导入Unity

 

4.导入Unity 开始搭建数字内容


开发应用程序时,你可以将Area Targets加载到Unity编辑器中,并在扫描空间的三维模型中添加3D增强现实效果。

最后发布APP 进行测试。
完毕

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2804684.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【leetcode热题】填充每个节点的下一个右侧节点指针

给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到…

【Qt学习】QPushButton添加图标 并通过快捷键控制该图标

文章目录 1. 介绍2. 操作3. 相关资源文件 1. 介绍 我们知道:QPushButton表示一个按钮,用于响应用户的点击事件。QPushButton可以显示文本、图标或同时显示两者,也可以设置按钮的样式和状态。 我们利用这点 实现一个简单的功能:用…

C#学习总结

1、访问权限 方法默认访问修饰符:private 类默认访问修饰符:internal 类的成员默认访问修饰符:private 2、UserControl的使用 首先添加用户控件 使用时一种是通过代码添加,一种是通过拖动组件到xaml中

【C++】类和对象---友元,内部类,匿名对象详解

目录 友元 友元函数 友元类 内部类 匿名对象 ⭐友元 友元提供了一种突破封装的方式,有时提供了便利。但是友元会增加耦合度,破坏了封装,所以 友元不宜多用。 友元分为:友元函数和友元类。 ⚡友元函数 先看一个问题&#x…

IntelliJ IDEA 创建Spring Boot 项目整合jdbc详细步骤

IntelliJ IDEA 创建Spring Boot 项目&整合jdbc详细步骤 1、打开 IntelliJ IDEA 软件2、使用 "Spring Initializr" 作为项目类型,新建项目工程3、选择对应的SpringBoot版本和依赖4、Spring Boot 项目的结构5、创建一个TestController,并运行…

Opencv实战(2)绘图与图像操作

Opencv实战(2)绘图与图像操作 指路前文:Opencv实战(1)读取与像素操作 三、基本绘图 文章目录 Opencv实战(2)绘图与图像操作三、基本绘图(1).line(2).rectangle(3).circle 四、图像处理(1).颜色空间1.意义2.cvtColor()3.inRange()4.适应光线 (2).形态操作1.腐蚀2.膨…

Spring中的ApplicationContext.publishEvent

简单理解 其实就是监听处理。比如找工作平台上,雇主 employer 发布自己的雇佣条件,目的是平台中有符合条件的求职者时,及时向雇主推荐。求职者发布简历,当平台发现某个求职者比较符合条件,就触发被动,推荐…

uni-app 经验分享,从入门到离职(五)——由浅入深 uni-app 数据缓存

文章目录 📋前言⏬关于专栏 🎯什么是数据存储🧩数据存储——存储📌 uni.setStorage(OBJECT)📌 uni.setStorageSync(KEY,DATA) 🧩数据存储——获取📌 uni.getStorage(OBJECT)📌 uni.g…

vue 动态渲染本地图片不显示的解决方法

代码更改前 <img class"img" :src"/assets/images/${syntheticalGrade}.png" />data(){return{syntheticalGrade:"1"} }效果图&#xff1a; 解决代码 <img class"img" :src"require(/assets/images/${syntheticalGrad…

Atcoder ABC340 A-D题解

比赛链接:ABC340 话不多说&#xff0c;看题。 Problem A: 签到。 #include <bits/stdc.h> using namespace std; int main(){int a,b,d;cin>>a>>b>>d;for(int ia;i<b;id)cout<<i<<endl;return 0; } Problem B: 还是签到题。一个v…

2024-02-21 作业

作业要求&#xff1a; 复习课上内容 //已完成结构体字节对齐&#xff0c;64位没做完的做完&#xff0c;32位重新都做一遍&#xff0c;课上指定2字节对齐的做一遍&#xff0c;自己验证 //已完成两种验证大小端对齐的代码写一遍复习指针内容 //已完成完善顺序表已写出的…

记录 使用FFMPEG 笔记本摄像头推流

一、使用 FFMPEG 测试摄像头拉流显示 # 获取摄像头名称 ffmpeg -list_devices true -f dshow -i dummy# 我笔记本上的摄像头名称如下 device_pnp_\\?\usb#vid_0408&pid_1020&mi_00#6&199e90f7&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global# 使…

Python之Matplotlib

Matplotlib 是一个综合库&#xff0c;用于创建静态、动画、 和交互式可视化 安装 pip install matplotlib 功能 示例 import matplotlib.pyplot as plt plt.figure() plt.plot([1,2,3],[10,20,30]) plt.show() 官方文档&#xff1a; Matplotlib — Visualization with Pyt…

多窗口编程

六、多窗口编程 QMessageBox消息对话框&#xff08;掌握&#xff09; QMessageBox继承自QDialog&#xff0c;显示一个模态对话框。用于用户前台信息通知或询问用户问题&#xff0c;并接收问题答案。 QDialog的Qt源码中&#xff0c;派生类往往都是一些在特定场合下使用的预设好的…

MySQL数据库集群技术主从复制 一主一从详细讲解

集群技术 集群概述 MySQL复制技术 集群目的 负载均衡 解决高并发 高可用HA 服务可用性 远程灾备 数据有效性 类型 一主一从 一主双从 双主双从 原理 概念 在主库上把数据更改&#xff08;DDL DML DCL&#xff09;记录到二进制日志&#xff08;Binary Log&#xff09;中…

电路设计(28)——交通灯控制器的multisim仿真

1.功能设定 南北、东西两道的红灯时间、绿灯时间均为24S&#xff0c;数码管显示倒计时。在绿灯的最后5S内&#xff0c;黄灯闪烁。有夜间模式&#xff1a;按下按键进入夜间模式。在夜间模式下&#xff0c;数码管显示计数最大值&#xff0c;两个方向的黄灯不停闪烁。 2.电路设计 …

【EI会议征稿通知】2024年软件自动化与程序分析国际学术会议(SAPA 2024)

2024年软件自动化与程序分析国际学术会议&#xff08;SAPA 2024) 2024 International Conference on Software Automation and Program Analysis 在当今科技社会中&#xff0c;软件产业呈快速发展趋势&#xff0c;软件自动化与程序分析技术在提高软件质量、降低开发成本、提升…

fpga_cpu加速

一 cpu流水线执行指令 二 计算机体系结构 注&#xff1a;ARM就是典型的哈佛结构 三 cpu加速 同样采用流水线&#xff0c;哈佛结构的指令效率更高&#xff0c;通过指令预取&#xff0c;提高了流水线的并行度。

ROS1查看版本

目录 方法一方法二 方法一 rosversion -d方法二

[AutoSar]BSW_Com1 Can通信入门

目录 关键词平台说明一、车身CAN简介二、相关模块三、Can报文分类及信号流路径3.1 应用报文3.2 应用报文&#xff08;多路复用multiplexer&#xff09;3.3 诊断报文3.4 网络管理报文3.5 XCP报文&#xff08;标定报文&#xff09; 关键词 嵌入式、C语言、autosar、OS、BSW 平台…