随着3D技术的不断革新,为了让更多的用户领略历史之美,越来越多的博物馆开始举办线上展览。通过模拟不同的环境、灯光投影、360°无死角放大缩小展品,观众可以享受到身临其境的沉浸体验。不仅如此,给展品加上BGM或者语音解说,帮助观众更加了解展品的详细背景,让演示场景更有代入感。
效果示意
二、制作3D物体视图
接下来我们将准备好的展品3D模型,通过华为图形引擎服务创建一个可交互的3D物体视图,如图所示:
集成华为图形引擎服务
软件要求:JDK1.7及以上版本
? minSdkVersion :设置为19或以上
? targetSdkVersion:设置为19或以上
? compileSdkVersion:设置为19或以上
? Gradle 3.5及以上版本
在build.gradle文件中配置以下内容:
在应用级build.gradle文件中配置以下内容:
build.gradle文件同步完成后,就能在工程中使用图形引擎服务了。
创建3D视图
创建自定义视图的目的很简单,确保视图初始化完成后,第一个模型能自动加载到视图里。通过默认的SceneView手动实现模型加载,如下所示:
展示物品需添加相关模型文件,打开工程文件夹,在“src/main”路径下创建“assets”文件夹,将3D模型文件保存,比如:
增加切换功能
现在,我们通过切换功能来查看多个展品3D模型。 在MainActivity中,配置如下信息:
在onCreate()中,创建了一个简单的逻辑,查看下一个/上一个模型。物品文件路径以字符串的形式保存于各个硬编码列表中。可以自行修改这个逻辑,使模型呈现更富动态。其中selectedId表示正在展示的物品模型ID。 这样,就实现了利用SceneView来展示3D模型,效果如下:
三、为展品增加讲解词
在加载不同的3D模型时,我们可以通过华为音频服务播放该展品对应的讲解词,为用户提供展品详细介绍。 集成华为音频服务
软件要求:
? JDK版本1.8.211及以上版本
? minSdkVersion:设置为21
? targetSdkVersion:设置为29
? compileSdkVersion:设置为29
? Gradle 4.6及以上版本
可以看到,音频服务相较于图形引擎服务软件要求更高,所以我们需要确保满足音频服务的使用要求。
首先,打开应用级build.gradle文件,添加音频服务的相关配置。
之前在配置图形引擎服务时,已经添加了必要的库,所以项目级build.gradle不需要改动。 在activity_main.xml文件中,添加一个简单的播放按钮。
这个按钮可以用来为展示中的物品播放声音。 然后,在MainActivity中添加以下配置:
上述配置添加完成后,就能为展品播放讲解词了。本工程使用的声音音频为线上资源。如果需要播放本地音频,可以参考官 指导。这样,就能导入音频文件,为物品播放声音了。
至此,我们就可以创建一个360°可旋转、放大缩小、带有音效的展览场景了。
最后,除了3D文物展示等应用场景,我们还可以把这些能力应用到很多相关行业,比如:
线上 交领域中的脸萌、视频表情包、视频虚拟背景; 电商购物领域的3D商品展示、家装场景渲染、AR试穿; 影音领域的3D解锁屏保/手机主题、3D特效渲染、直播表情包; 教育领域的3D教学、3D书籍、VR远程教学。
欲了解更多详情,请参阅:
3D物体建模服务 、 演示DEMO
华为图形引擎服务官 、 演示DEMO
华为音频服务官 、 演示DEMO
华为HMS Core官方论坛
解决集成问题请到Stack Overflow
点击关注,第一时间了解HMS Core最新技术~
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!