IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> UE4移动平台AR开发快速预览 -> 正文阅读

[游戏开发]UE4移动平台AR开发快速预览

UE4移动平台AR开发底层库主要是iOS系统的Apple ARKit和Android系统的Google ARCore,UE4的AR开发对AR底层库进行了统一的接口包装(封装的接口还包括Hololens AR、Magic AR等其他AR库),我们实际用UE4开发移动AR应用时并不直接调用ARCore或ARKit的底层库原生接口。

注意:由于Google ARCore需要GMS服务(Google
Play),国内的安卓手机和平板安装GSM很不友好,有些品牌的手机平板还无法安装。

UE4 AR开发构架与Apple ARKit非常类似,大家可以看一下ARKit帮助文档,了解一下AR开发的一般流程。
https://developer.apple.com/cn/documentation/arkit/

UE4通过AR Session管理整个AR识别过程,AR Session生命期由底层库管理,用户并不能直接对AR Session进行修改,调用AR函数族时也不需要传递AR Session变量。用户只能通过AR Session Config对AR扫描和识别进行配置。

UE4 Augmented Reality的一般开发流程和主要蓝图函数:

  1. StartARSession - 打开AR
  2. StopARSession - 关闭AR
  3. GetARSessionStatus - 返回AR状态
  4. GetARSessionConfig - 返回AR配置
  5. GetAllARGeometries - 返回所有识别物体
  6. GetARCandidateObject - 生成点云识别模板
  7. GetARPointCloud - 返回所有扫描点云数组
  8. GetARTexture - 返回摄像机画面

在这里插入图片描述

打开AR

StartARSession蓝图有一个输入参数 - ARSessionConfig,通过参数设置管理即将打开的AR Session识别属性。
不同类型的AR Session Config配置Session Type - AR识别类型,扫描采集AR点云模板用Object Scanning模式,三维识别用World模式,其他的还有平面图案识别,人脸识别等等其他模式。
Cardidate Objects - 识别对象数据模板,该数据是识别模块的点云二进制数据,通常需要通过蓝图或者C++代码动态添加

关闭AR

StopARSession没有任何参数,调用后结束AR识别,关闭摄像机

返回AR状态

GetARSessionStatus蓝图返回当前AR识别状态,可以根据状态来确定目前AR识别情况
在这里插入图片描述

返回AR配置

GetARSessionConfig返回当前AR识别配置,读取配置属性,修改ARSessionConfig并不确定有效,可能需要调用StopARSession后,用修改过的ARConfig重新调用StartARSession打开AR Session
在这里插入图片描述

返回所有识别物体

GetAllARGeometries是AR识别的核心,可以返回当前摄像机范围内可识别的所有AR对象,包括AR Session Config配置的Candidate Object识别对象,也包括识别出的空间中其他平面对象等,可以通过对返回的Geometry类来判断识别物体的类型。
在这里插入图片描述
也可以直接通过GetAllARGeometriesByClass返回特定识别类型的对象数组
在这里插入图片描述

Geometry类型在ARSessionConfig配置中也有对应属性,可以修改派生对象类型,生成自己自定义的Geometry对象
在这里插入图片描述

生成点云识别模板

GetARCandidateObject是AR扫描的核心。函数有两个输入参数:创建点云识别对象的矩形中心坐标和矩形框大小,函数将用指定的矩形范围内已识别点云信息生成三维识别对象(如果点云数量不够则会生成失败)。建立的点云识别对象可以加入到ARSessionConfig的Candidate Objects列表,作为三维物体识别的模板。
在这里插入图片描述可以将Candidate Object存储下来(保存Candidate Object的Data点云二进制数组),供AR识别程序读取,之后通过填充创建Candidate Object并加入ARSessionConfig实现。
在这里插入图片描述
GetARPointCloud返回当前已识别的点云数组。AR扫描系统可以通过绘制Box扫描框和范围内点云,帮助用户进行AR识别物扫描,建立AR Candidate识别模板。
在这里插入图片描述

返回摄像机画面

GetARTexture返回摄像机画面,函数接受一个参数,可以返回需要的摄像机贴图(彩色、深度画面等,需要硬件支持)。需要在调用StartARSession之后才能获得摄像机表面。
在这里插入图片描述
以上就是UE4 AR识别程序开发的整个过程,通过以上蓝图函数即可实现一个从AR扫描到AR识别的完整应用程序。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 19:09:43  更:2021-11-16 19:11:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 23:49:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码