基于VR技术的虚拟花卉展览系统设计与实现

2021-05-10 13:01简惠冰
科学与财富 2021年34期
关键词:第一人称漫游花卉

摘 要:虚拟现实技术能够给用户带来沉浸式、交互式的感受。本文首先介绍在虚似现实开发中常用的3ds max和Unity 3D两种工具主要功能。接着,对花卉展仿真系统进行系统需求设定,提出系统设计的模块功能,最后,给出实现需求的技术和实现策略。

关键词:虚拟现实技术;三维建模;Unity 3D

福建漳州地处东南沿海地区,每年通过举办海峡两岸花博会来推介当地特色花卉,扩大花卉交易量。2020年以来,受新冠疫情的影响,现场参观人数受到了很大的限制,因此,借助虚拟现实技术来构建一套虚拟化可视化的花卉展览场景模型,让用户产生沉浸式体验,成为了一种较为可行的展览替代方案。通过Unity3D 技术开发出花卉展览应用场景,可使用户足不出户地实现对展出花卉的全角度观赏。

1、相关技术

1.1 建模工具3ds max

3ds Max全称3D Studio Max,是Autodesk公司开发的基于PC系统的三维动画渲染和制作软件,具有较强大的建模和渲染功能,可堆叠的建模步骤功能,使制作模型的过程有非常大的弹性。使用者可在该软件中进行场景设置、建筑材质设计、场景动画设置、运动路径设置、计算动画长度、创建摄像机并调节动画游戏等操作,并将操作结果如模型、动画应用、角色装备、纹理、材质、LOD、灯光和摄影机等以FBX的文件格式传输至游戏引擎(如 Unity、Unreal Engine 和 Stingray)。

1.2 游戏引擎Unity 3D

Unity 3D是Unity Technologies公司开发的三维游戏制作引擎, 是实时3D互动内容创作和运营平台。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,可借助Unity 3D将创意转换为虚拟现实成果。Unity3D引擎开发的内容可以运行在浏览器、移动设备、游戏主机和增强现实与虚拟现实设备上。

2、系统需求

虚拟花卉展览系统可为用户提供第一人称视角的浏览方式,系统按花卉种类划分展馆,客户通过菜单方式进行展馆的选择。

当用户靠近花卉时,花盆可缓慢旋转,并在旁边列出花卉的情况介绍,让用户能够多角度、全方位的观赏和了解花卉,为客户营造出一个宁静的、令人放松的舒适空间。

3、系统设计

虚拟花卉展览系统设计功能模块如图1所示,可分为3D花卉素材库和Unity3D漫游展馆两大模块。其中3D花卉素材库通过对花卉进行真实拍照后进行建立,3ds max建模出来的3D花卉模型库和花卉建模所需要的通过Photoshop软件加工后的花卉贴图三部分组成。Unity3D漫游则是利用Unity3D引擎实现场馆选择、第一人称漫游、花卉旋转展示和人物碰撞检测四部分功能。最后导出发布生成WebGL。

4、系统实现

4.1 数据采集

虚拟花卉展览系统中花卉展览主要是漳州本地的特色花卉,如兰花、水仙花和三角梅等,由于这几类花卉的品种繁多,造型各一,因此需要收集大量真实的花卉图片从而形成分类花卉图库。开发人员利用相机到展览馆实地拍摄花卉,特别是花朵和花径等部位的特写镜头,方便后期3D建模对造型和细节进行控制。

4.2  三维花卉制作

4.2.1构建花卉造型

花卉建模中,方式主要为几何建模。开发人员需要再VR中重点对花朵和叶子进行加工处理。首先,选择现有主流3ds max软件,利用其强大的建模功能,对花卉进行整体建模,以水仙花为例 ,首先做两条长方形的平面,两头削尖,再进行旋转,做出叶子。使用圆柱体进行建模花根,再头顶使用工具挤出放大,做出头状;使用线工具勾勒出叶子的形状,转化为样条线进行调整。使用圆柱体制作花瓣,利用圆柱体上面和下面删除,选择线将上面花头部分进行放大,纹路可以使用画笔工具或者手动随机选点进行绘制。将叶子进行多次复制,在随机旋转,使得叶子的转动方向不同,更加真实,花瓣进行旋转复制,将花蕊塞入花瓣中心,加上盆栽地盘,就可初步完成花卉建模工作。

4.2.2 纹理映射

纹理映射即为纹理贴图技术,此技术可以使制作出来的花卉模型真实感增强。在采集花卉素材时,利用高倍镜头采集花卉中的细节,经过UV展开图将事先采集的图像“覆盖”到物体模型的表面,通过对花卉进行贴图制作提高花卉的真实感。

4.2.3法线帖图

法线贴图是三维计算机图形中一种凹凸贴图技术的应用,可以在不增加模型多边形的情况下,在浓淡效果中添加细节,使物体具有特殊的立体视觉效果。利用Photoshop法线贴图插件将合适的平面贴图处理生成法线贴图,然后在3ds max模型烘焙后导入Unity3D中。

4.3 素材导入unity进行交互设计

4.3.1场馆选择

利用Untiy编辑多个场景,每个场景建一个花卉主题馆,通过OnGUI系统中Button控件来让用户选择场景,使用Application中的LoadLevel方法实现场景的切换。

4.3.2第一人称漫游

通过Unity系统中的CharacterControl组件定义第一人称、第三人称和隐含角色等功能。在场景中添加第一人称角色后,摄像机就可像角色的眼睛一样在世界中漫游。

4.3.3人物碰撞检测

第一人称在展馆中漫游时,为了能够真实模仿现实中的场景,Unity3D中提供碰撞体的物理组件,能够快速解决用户在漫游中穿墙的问题。Unity3D中提供Box Collider、Spher Collider、Capsule Collider、Mesh Collider等多種碰撞体,场景中的物品和墙体可以根据不同的形状选择合适的碰撞体,以达到更好的体验功能。

4.3.4花卉旋转展示

在漫游观赏花卉时,为了让用户能够更直观、全方位的看到花卉的全貌,系统在实现过程中,利用Untiy3D中射线功能,通过第一人称中摄像头发射射线,选择用户想观赏的花卉,使花卉慢速旋转。实现的部分代码如下:

if (Physics.Raycast(transform.position, transform.forward, out hit, Mathf.Infinity)) {

if (hit.collider.tag == "hua") {

for (i = 0; i < 100; i++) {

speed += Time.deltaTime;

jiaza.fillAmount = speed * 0.01f;

if (jiaza.fillAmount == 1){

a.gameObject.SetActiveRecursively(true); }} }

else {

speed = 0;

a.gameObject.SetActiveRecursively(false); }

}

4.4 发布

Unity3D支持开发者跨越多平台,包括臺式机、移动设备、VR设备和Web平台。Unity3D通过导出WebGL的方式发布到web端,就可以直接在支持html5标准的浏览器中运行。

5、总结

本文中利用 3ds Max 等软件更好地构筑逼真的花卉模型,然后借助于在VR中流行的Unity3D将制作的花卉模型更好的进行融合,使得这些模型对象与人们在 VR 系统中进行交互。VR 与Web技术的融合,构筑一个融合影像、声音等诸多多媒体元素为一体 3D 虚拟漫游环境,通过Web平台可以更为便捷地使用VR技术,而VR的加入,其中漫游技术,让人们产生身临其境之感。

参考文献:

[1]赵艳,李康艳.基于 3D Max 和 Unity 3D 的校园漫 游系统的设计与实现 [J] .丝路视野,2017, 000(018):109-109.

[2]姬 喆.基于 VR 虚拟漫游技术的交互设计应用研究[J].现代电子技术,2019,42(15):86-89

[3]李旭洋等.基于Unity3D动画虚似检修车间漫游系统开发[J].铁路计算机应用,2021,30(6):46-51

[4]李婷婷.Unity3D虚拟现实游戏开发[M].北京:清华大学,2018:170-172

作者简介:简惠冰(1980--),女,汉族,福建省漳州市人,工程硕士,讲师,研究方向是虚拟现实技术.

基金项目:福建省教育厅中青年教师教育科研项目“虚拟现实福建各地市花三维展示系统开发研究”(JZ181190).

猜你喜欢
第一人称漫游花卉
李鱓·花卉十二开
三招搞定花卉病虫害
《花卉之二》
霹雳漫游堂
水晶泥花卉栽培技术
汉代铜镜铭文中的第一人称
NASA漫游记
“我”最初是古代兵器
边走边看:漫游海底 梦想成真