【Vuforia+Unity】AR04-地面、桌面平面识别功能

这篇具有很好参考价值的文章主要介绍了【Vuforia+Unity】AR04-地面、桌面平面识别功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

官方教程Ground Plane in Unity | Vuforia Library【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

这个功能很棒,但是要求也很不友好,只能支持部分移动设备,具体清单如下:

01.Vuforia的地面识别功能仅支持的设备清单:

 Recommended Devices | Vuforia Library

IOS Devices

Device Name

Comments

iPhone SE (2nd & 3rd generation)

iPhone 8, iPhone 8 Plus

iPhone X, iPhone XR, iPhone XS, iPhone XS Max

iPhone 11, iPhone 11 Pro, iPhone 11 Pro Max

iPhone 12 mini, iPhone 12, iPhone 12 Pro, iPhone 12 Pro Max

The iPhone 12 Pro and iPhone 12 Pro Max support the Vuforia Creator App

iPhone 13 mini, iPhone 13, iPhone 13 Pro, iPhone 13 Pro Max The iPhone 13 Pro and iPhone 13 Pro Max support the Vuforia Creator App
iPhone 14, iPhone 14 Plus, iPhone 14 Pro, iPhone 14 Pro Max The iPhone 14 Pro and iPhone 14 Pro Max support the Vuforia Creator App
iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max

The iPhone 15 Pro and iPhone 15 Pro Max support the Vuforia Creator App

iPad Mini (5th & 6th generation)

iPad Air 3, iPad Air 4, iPad Air 5

iPad (5th through 10th generation)

iPad Pro

iPad Pro 9.7”, iPad Pro 10.5”, iPad Pro 11” (1st through 4th generation), iPad Pro 12.9” (3rd through 6th generation)

The iPad Pro 11” (through 4th generation) and iPad Pro 12.9” (3rd through 6th generation) support the Vuforia Creator App

Android Devices

Device Name
Comments

Samsung Galaxy A20e

SM-A202F, SM-A202K

Samsung Galaxy A32

SM-A325F, SM-A325M, SM-A325N

Samsung Galaxy A52s 5G

SM-A528B, SM-A528N

Samsung Galaxy S10e
SM-G970F, SM-G970X, SM-G970N, SM-G970U, SM-G970U1, SM-G970W, SM-G970XC, SM-G9708, SM-G9700

Samsung Galaxy S10/S10 5G
SM-G973F, SM-G973X, SM-G973N, SM-G973U, SM-G973U1, SM-G973W, SM-G973XC, SM-G9738, SM-G9730, SM-G977N, SM-G977B, SM-G977D, SM-G977J, SM-G977P, SM-G977T, SM-G977U

Samsung Galaxy S10+
SM-G975F, SM-G975X, SM-G975N, SM-G975XN, SM-G975U, SM-G975U1, SM-G975W, SM-G975XC, SM-G9758, SM-G9750, SM-G975XU

Samsung Galaxy S21/S21 5G

SM-G991B, SM-G991N, SM-G991U, SM-G991U1, SM-G991W, SM-G9910

Samsung Galaxy S21+

SM-G996B, SM-G996N, SM-G996U, SM-G996U1, SM-G996W, SM-G9960

Samsung Galaxy S21 Ultra

SM-G998B, SM-G998N, SM-G998U, SM-G998U1, SM-G998W, SM-G9980

Samsung Galaxy S22

SM-S901B, SM-S901E, SM-S901N, SM-S901U, SM-S901U1, SM-S901W, SM-S9010

Samsung Galaxy S22+

SM-S906B, SM-S906E, SM-S906N, SM-S906U, SM-S906U1, SM-S906W, SM-S9060

Samsung Galaxy S22 Ultra

SM-S908B, SM-S908E, SM-S908N, SM-S908U, SM-S908U1, SM-S908W, SM-S9080

Samsung Galaxy S23

SM-S9110, SM-S911B, SM-S911N, SM-S911U, SM-S911U1, SM-S911W

Samsung Galaxy S23+

SM-S9160, SM-S916B, SM-S916N, SM-S916U, SM-S916U1, SM-S916W

Samsung Galaxy S23 Ultra

SM-S9180, SM-S918B, SM-S918N, SM-S918U, SM-S918U1, SM-S918W

Samsung Galaxy Tab S5e

SM-T720, SM-T725, SM-T725C, SM-T725N

Samsung Galaxy Tab S6 Lite

SM-P610, SM-P615

Galaxy Tab S7/S7 5G

SM-T870, SM-T875, SM-T875N, SM-T878U

Galaxy Tab S7 Plus

SM-T970, SM-T975, SM-T976B

Galaxy Tab S8/S8 5G

SM-X700, SM-X706

Galaxy Tab S8 Plus/S8 Plus 5G

SM-X800, SM-X806

Galaxy Tab S8 Ultra/S8 Ultra 5G

SM-X900, SM-X906

Google Pixel 5/5a 5G
Google Pixel 6/6a/6 Pro
Google Pixel 7/7a/7 Pro

UWP Devices

Device Name
Comments

Microsoft Surface

Surface Pro 8, Surface Pro X, Surface Pro 7, Surface Pro 6, Surface Go, Surface Go 2

Eyewear Devices

Device Name
Comments

Microsoft

HoloLens 2

All features supported except for Ground Plane. For equivalent functionality, please use SDK provided by OEM.

Area Target Capture API is not supported on this platform.

*HoloLens 1 is no longer supported by Vuforia Engine 10.9+

Magic Leap

Magic Leap 2

All features supported except for Ground Plane. For equivalent functionality, please use SDK provided by OEM.

Area Target Capture API is not supported on this platform.

*Magic Leap 1 is no longer supported by Vuforia Engine 10.10+

Vuzix

M400

Supported features: ImageTargets, CylinderTarget, Multi Targets, VuMark.

Extended Tracking not supported (no Device Tracking).

RealWear

HMT-1, HMT-1Z1

Supported features: ImageTargets, CylinderTarget, Multi Targets, VuMark.

Extended Tracking not supported (no Device Tracking).

02.平面识别的目的意义:

实现自动识别环境空间的平面,然后便于后续业务逻辑的实现,例如拖拽模型到地面、平面,打乒乓球等,类似pokemon GO游戏

【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

 03.实现步骤

确保你安装了Vuforia 的SDK在Unity 中,具体请看【Vuforia+Unity】AR01实现单张多张图片识别产生对应数字内容-CSDN博客

 然后我们可以自己搭建,也可以直接基于官方示例搭建!

3.1自己搭建

01首先创建三样东西
这个类型需要三个东西:ARcamera,Ground Plane Stage,还有Plane Finder

创建一个带有Vuforia插件普通空项目,创建一个ARcamera,创建一个Ground Plane Stage,创建一个Plane Finder

【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

02 把识别平面后要放在平面上的数字内容模型,放在Ground Plane Stage下

接下来你需要把你所想要展现的场景和物品拖到Ground Plane Stage下

【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

最简单的地面识别已经搭建完成!需要其他功能,请在此基础上继续开发!比如触发回调,地面被识别时、物体被放置时等等!

OVER !

3.2 直接用官方案例即可

vuforia - Asset Store (unity.com)传送门

【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

官方还赠送了一个脚本,这个脚本在Plane Finder的"Content Positioning Behaviour"脚本中被回调:【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

意思是,当物体被放置在平面上后调用"Product Placement"脚本中物体的旋转功能函数

【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

 ProductPlacement 这个物体身上脚本的理解:

【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

脚本:"Product Placement"(产品放置)和"Touch Handler"(触摸处理)。

"Product Placement"脚本有以下字段:

  • Augmentation Object(增强对象):"Chair"(椅子)和"Chair Shadow"(椅子阴影)被分配到这个字段。
  • Control Indicators(控制指示器):此处引用了"Translation Indicator"(平移指示器)和"Rotation Indicator"(旋转指示器)。
  • Augmentation Size(增强大小):这是一个滑动条,"Product Size"(产品大小)的值为0.65。

"Touch Handler"脚本有以下字段:

  • Augmentation Object(增强对象):"Chair (Transform)"(椅子(变换))被分配到这个字段。
  • Enable Pinch Scaling(启用捏合缩放):这是一个复选框,目前处于未选中状态。

总的来说,这个设置似乎是用于控制在场景中的增强现实对象(椅子)的放置和缩放(使用触摸手势)。"Translation Indicator"(平移指示器)和"Rotation Indicator"(旋转指示器)可能是用户操作对象的视觉提示。

04  相关设置和深入理解

首先是Plane Finder,这个是识别地面的主要组件,他身上有3个脚本组件

【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

 Plane Finder三个脚本的理解(这部分可以跳过,仅供查阅)

Anchor Input Listener Behaviour(脚本)

用来返回摄像机射线射击到的平面,被用来确定用户触摸或点击检测到的平面上的点

Plane Finder Behaviour(脚本):

此组件负责在实际环境中寻找平面。其模式被设置为"AUTOMATIC",这意味着它将无需用户交互地持续尝试寻找平面。"Plane indicator"属性是一个自定义的可视元素,用于显示检测到平面的位置。此外,这个组件处理两种hit测试:

Interactive Hit Test:它接受来自"ContentPositioningBehaviour"的代理函数"PositionContentAtPlaneAnchor",可能被用来在用户与其交互时,将内容放置在平面上的特定点。

Automatic Hit Test:它接受来自"ProductPlacement"的代理函数"OnAutomaticHitTest",这可能被用来无需用户交互就能自动在检测到的平面上放置产品或物体。

"Content Positioning Behaviour"脚本组件

脚本是Vuforia引擎中的一个组件,主要负责在增强现实(AR)环境中定位和放置内容。这个脚本通常与"Plane Finder"组件一起使用,以在实际的环境平面(如桌面或地面)上定位和放置虚拟对象。

主要特性包括:

  1. 定位和放置:当用户选择一个位置(通常是通过触摸屏幕来选择),该脚本会在那个位置创建一个锚点,并将相关的虚拟内容放置在那里。这个过程通常被称为"hit testing"。

  2. 转换:一旦虚拟内容被放置,用户可以通过手势来移动和旋转它。

  3. 锚点:为了保持虚拟内容的稳定性,该脚本使用了所谓的"锚点"。锚点是AR系统用来确保虚拟内容保持在正确位置的一种工具,即使设备的相机移动或旋转。这个锚点自动添加,当我们创建了Ground Plane Stage

【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

总的来说,"Content Positioning Behaviour"脚本在AR应用中起着非常重要的作用,它使得虚拟内容能够以一种直观和稳定的方式放置和交互在真实世界中。

【Vuforia+Unity】AR04-地面、桌面平面识别功能,AR开发,unity,平面,游戏引擎

在这个脚本下面有个高级选项,里面是当平面被识别后,数字内容被用户放在平面上后就会触发

"on Content Placed(Gameobject)" 是一个事件,这个事件将在内容(即GameObject)被放置在场景中时触发。你可以在这个事件中添加方法,当事件触发时,这些方法会被自动执行。

举个例子,如果你创建了一个AR应用,并且用户可以在实际环境中放置虚拟物体,那么当用户放置这些虚拟物体时,“on Content Placed(Gameobject)" 就会被触发。在这个事件里,你可能会加入一些自定义的行为或者效果,比如播放一个声音或动画,来告诉用户虚拟物体已经成功被放置。

你可以通过点击 "+" 按钮来添加自定义的方法,也可以通过 "-" 按钮来删除已经添加的方法。这个事件的功能十分灵活,你可以根据你自己的需求来定制。

其他相关博客

关于自己创建Vuforia地面识别Demo不如原生样例(GroundPlane Sample)识别的好的解决办法_vuforia平面识别ground plane-CSDN博客

关于Vuforia插件(3D物体识别和地面识别)的一些测试记录_unity vuforia object-CSDN博客

Vuforia的各种Target的简单介绍(包括地面识别)_ar中的target是什么-CSDN博客文章来源地址https://www.toymoban.com/news/detail-836875.html

到了这里,关于【Vuforia+Unity】AR04-地面、桌面平面识别功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 0基础小白用unity+vuforia实现AR随机抽卡/盲盒功能

    unity+Vuforia实现海洋动物随机AR盲盒 Vuforia 一、在vuforia上注册许可证 二、添加识别目标图像数据 三、搭建AR程序 四、随机盲盒的进阶AR程序 这是一种AR平台,由PTC公司开发,允许开发人员在线完成图像数据处理,支持识别单个或多个图片(image target)、圆柱形图案(Cylinder)、

    2024年01月20日
    浏览(58)
  • [Unity/AR]使用vuforia开发项目时无法调用电脑前置摄像头怎么办?

    我当时试了一万种方法,经过无数漫长黑夜的折磨 我发现,就是装unity的时候加了中文路径。。。 有可能还会提示DATABASES _LOAD_ERROR  也是中文路径的问题  谨以此文警醒自己 所有和uniyy相关的东西都不要放在中文路径!!!

    2024年02月07日
    浏览(30)
  • Unity-Hololens-Vuforia开发(图片识别和模型识别)

    有些东西纠结了许久,所以来记录一下 Hololens2 Unity 2020.3.16f1c1 (64-bit) Visio Studio 2019 16.11.13 Vuforia 10.6.3 MRTK正常运行要求Unity版本至少升级到2019.4,要求VS至少高于2019.16.8版本,除此以外注意一下Windows10 SDK的版本是否是最新的或者是适用的。 笔者这里的版本使用的是Windows 10 10

    2023年04月08日
    浏览(29)
  • 【AR-1】安装Unity+注册Vuforia,以及在Unity中导入Vuforia

    首先 , 我根据硕博论文知道手机AR的软件是Unity+Vuforia。 然后, 去知乎上搜索如何配置开发环境。找到一篇很好的知乎:UnityAR系列(二)——AR插件Vuforia入门 - 知乎 (zhihu.com) 我看了这篇知乎上面的内容,对AR有了大致的了解。 然后, 看其他的内容,安装了Unity、注册了Vuf

    2024年02月04日
    浏览(42)
  • unity HoloLens2开发,使用Vuforia识别实体 触发交互(二)(有dome)

    提示:文章有错误的地方,还望诸位大神不吝指教! 我使用的utniy 版本:Unity 2021.3.6f1 第一章地址链接: link 第一章记录了一些 安装环境 需要的东西,这章主要章打包和一些BUG问题 以前记录的:链接: link 前提:需要在MRTK工具包中导入到项目。 本人经常使用的方法: 在holo

    2024年02月04日
    浏览(36)
  • Unity Vuforia 输出时报错 AR输出报错

    Unity Vuforia 输出时报错 AR输出报错 全英文路径改过了,还有什么会引起输出报错

    2024年02月03日
    浏览(32)
  • 【01】如何在Unity 中 安装 Vuforia Engine AR 插件?(附加检验安装成功方法)

    【检验安装成功的方法请看文末】 1.先点击Window——Package Manager 如图所示: 2.进入后,耐心等待!!(切记!此时得有网络), 此图表示正在加载 往下滑动寻找【Vuforia Engine AR】 下滑后选择【Vuforia Engine AR】,再点击Install 如图所示: 3.此时Unity会弹出导入框 下图表示正在导

    2024年02月05日
    浏览(85)
  • Unity-Vuforia篇-图片识别

    在我们识别图片之前我们需要知道Vuforia识别机制,这样有利于我们在选择图片时进行抉择这个图片适不适合做为识别图片。 Vuforia是通过检测自然特征点进行匹配的,也就是说我们实时检测的图像的特征点与我们数据库中的模板图片(或选择的贴图图片)特征点一致时才能识

    2024年02月05日
    浏览(54)
  • ​Unity Vuforia 新手(图片识别)教程,后续整理 实体识别 详细流程

    最近有个Holoens2 识别灭火器实体交互的项目,大概有2-3年没有搞MR的项目了,重新看一下,以前没有记录的习惯,现在慢慢培养一下。 小Dome链接: link 图片识别 新手教程链接: link 识别物体 新手教程链接: link unity Holoens2开发使用Vuforia 新手教程链接: link 运行官方 Vuforia Hololen

    2024年02月04日
    浏览(36)
  • Vuforia AR篇(一)— 开启AR之门

    随着科技的不断发展,增强现实(Augmented Reality,AR)技术正在逐渐渗透到我们的日常生活中,为人们带来了全新的数字体验。在AR技术的推动下,我们可以将虚拟世界与现实世界相结合,创造出丰富多彩的交互体验。而在众多AR开发平台中,Vuforia Engine以其强大的功能和灵活的

    2024年04月17日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包