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

NZY小叶子 发表于 2020/03/02 14:46:19 2020/03/02
【摘要】 以HUAWEI AR Engine为例介绍如何实现数字形象互动系统AR客户端

我们以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所示:

1583131377677994.png

1


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

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所示,将自动编译安装到连接的手机上

1583131405916535.png

2


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

1583131426319352.png

3


4.加载你的数字形象

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

1583131444920872.png

图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中免费下载

1583131461343026.jpg

图5

 

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


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。