数字形象互动系统AR客户端实现方法

网友投稿 652 2022-05-30

我们以HUAWEI AR Engine为例介绍如何实现数字形象互动系统AR客户端

1.环境准备:

1)   一部支持HUAWEI AR Engine,EMUI版本9.0以上的手机

2)   Unity 2017.4LTS及以上版本

3)   前往华为开发者网站下载最新版本的UnitySDK,其格式为Huawei_AR_Engine_UnitySDK_v*.unitypackage

4)   在华为应用市场搜索“华为AR Engine”并下载安装

2.导入SDK

1)   打开Unity,并新建一个3D项目

2)   选择Assets->ImportPackage->CustomPackage,如图1所示:

图1

3)   选择下载的Huawei_AR_Engine_UnitySDK_v*.unitypackage,在ImportingPackage中,Import所有文件

数字形象互动系统AR客户端实现方法

3.运行Demo

1)打开Assets->Examples->WorldARSample->preview

2)打开File->BuildSettings,选择Android并switch Platform

3)在BuildSettings中,点击PlayerSettings,在Inspector中设置合适的companyName和packageName

4)在BuildSettings中点击Build and Run,如图2所示,将自动编译安装到连接的手机上

图2

5)打开编译生成的app,确认相机权限后,对准有丰富纹理的平面,缓慢移送手机,识别出平面后,单击平面,即可在单击处放置虚拟物体,效果如图3所示:

图3

4.加载你的数字形象

1)在preview场景下,在Hierarchy面板点击HuaweiARDevice,可在Inspector面板看到该对象挂载了一个名为WorldARController脚本,如图4所示:

图4

2)该脚本第三个和第四个选项为Huawei AR Engine识别出平面或点后,点击平面或点即可加载出来的对象

3)我们选择平面识别,将自己的数字形象(可在数字形象上挂载好动作脚本)生成prefab预制体,拖到第三个选项,代替ARDiscoveryOrange

4)打开WorldARController脚本,在_DrawARLogo函数中可看到多次点击可放置多个对象,最多可以放置16个对象,但由于受手机性能限制,多个数字形象同时动会比较卡顿,以免误触,可通过代码逻辑设置只加载一次

5)识别出的点默认显示为黄色, 如果觉得比较碍事,可以在PointCloud里把Materials的size设置为0,但这仅仅是不显示识别到的点,依然会继续识别

6)保存后,再次生成并运行app,点击识别出来的平面,即可加载数字形象,如图5所示,图中的数字形象为unity chan,可在Unity的Asset Store中免费下载

图5

5.本文参考文档https://developer.huawei.com/consumer/cn/doc/development/HUAWEI-AR-Guides/31502

附件: 数字形象互动系统AR客户端实现方法.pdf 388.04KB 下载次数:5次

5G

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CentOS7-x86 编译安装zabbix5.0.8(nginx+php+mariaDB+zabbix5.0.8)
下一篇:PhpStorm常用的一些快捷键
相关文章