数字形象互动系统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所示:
图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所示,将自动编译安装到连接的手机上
图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
- 点赞
- 收藏
- 关注作者
评论(0)