基于Unity3D的传统农具三维交互展示技术研究

时间:2022-10-29 03:24:00

基于Unity3D的传统农具三维交互展示技术研究

摘要:作为数字化农业建设的重要组成部分,对传统农具进行三维展示是虚拟农业博物馆建设的核心内容。针对当前数字博物馆虚拟展示缺乏动态模拟、低集合层次交互等问题展开研究。以成都平原农耕文化馆为原型,采用3d Max和Unity3D技术相结合的方法,设计实现了传统农具展品三维模型、结构展示、工作原理和操作方法的交互式动态模拟。结果表明,采用人机交互式控制展品的方法,能有效增强用户的沉浸感、交互性和构想性,也为重要农耕文化遗产的传承和利用创造了条件。

关键词:虚拟博物馆;三维展示;Unity3D;交互;传统农具

中图分类号:TP391 文献标识码:A 文章编号:0439-8114(2016)12-3196-04

DOI:10.14088/ki.issn0439-8114.2016.12.050

Abstract: As an important part of digital agriculture,3D display of traditional farm tools is the core content of the construction of virtual agricultural museum. This article is specified in the following actual problems such as current 3D display exhibits lack of dynamic simulation,low level interactive study etc. In the Chengdu Plain farming culture museum as the prototype,3d model,structure,working principle,operation method of simulation of traditional farm tools was designed and realized by 3d Max and Unity 3D. The results showed that using the method of human-computer interaction exhibits can effectively enhance the user immersive,interactive and imagination. It is also important to inheritance and utilization of farming culture heritage.

Key words: virtual museum; 3D display; Unity3D; interactive; traditional farm tool

随着虚拟现实技术、网络技术的迅猛发展,虚拟博物馆以其数字化、三维可视化的特点,正在迅速发展,具有实体博物馆不可替代的作用。中国农耕文化源远流长、内容丰富,作为农业历史发展过程中的产物,传统农具是农业物质文化的重要组成部分。对传统农具进行数字化模拟和三维展示,是实现农具保护、传承和利用的有效手段,是弘扬农耕文化的一项重要内容[1]。

1 虚拟博物馆三维展示技术

1.1 三维展示技术

当前许多国家和地区都基于实体博物馆建立了在线数字博物馆,对于展品的三维展示,主要通过两种方法实现:①基于二维图像的三维展示技术。基于图像的三维展示是利用数码影像技术,对要展示的对象进行实景拍摄,采用图像拼合和插值技术,建立具有三维视觉效果的图片[2]。这类方法一般应用于对细节和内部结构表达要求不高的外观或整体效果的展示场合[3],优点是开发成本低、制作效率高、文件体积小;局限性在于交互性弱、对象的可重用性和扩展性低。②Web3D交互浏览展示。Web3D(Quest3D、VRP、Unity3D等)技术的出现,改变了传统网页浏览中无法显示交互三维物体的弊端,信息获取由阅读型转变为感受型,广泛地满足了用户参与的需求[4,5]。这种展示方式便捷高效、交互性强、逼真度高,对象的可重用性高;缺点是三维建模周期长、成本高。随着三维建模技术的发展和网络技术的进步,基于真实三维模型的Web展示技术得到了越来越多行业的广泛青睐。

1.2 虚拟农业博物馆传统农具三维展示存在的问题

国内比较著名的农业类博物馆有中国农业博物馆、北京农业博物馆等,其三维展示系统对比结果如表1所示。这些数字博物馆在传统农具外观三维模拟、展示方面做了大量工作,但在信息展示、信息系统化传递方面还存在以下问题:①展示形式、手段单一。展示形式以图文为主,少部分博物馆实现了虚拟实物展示效果,但以模型的整体静态形态展示为主,缺乏对关键部件进行拆卸、移动、展示、透视等操作功能;较少涉及模型工作原理和操作方法的动态模拟[6]。人机交互少,表现为较低的集合层次上(如选择、缩放、旋转和平移等)参与交互任务的执行[7];同时,对于模型交互展示的热点链接通常都是建立在二维页面上,不利于模型的充分展示和用户的深入体验,这对于农耕文化的有效传承和利用是远远不够的[8]。②实用性和专业性不突出。大部分农业数字博物馆定位于农业科普和教育,对于以农业研究为主的专业目标群体尚未专门针对,结合区域农耕文化特色展开研究的农业数字博物馆十分稀少。③兼容性和扩展性不足。三维在线展示系统因其制作工具的多样化,资源重复建设现象严重,平台移植性差,数据库紧耦合等,导致系统兼容性和扩展性不足,不利于博物馆数字资源的整合、重建和共享。

2 基于Unity3D的传统农具三维交互展示设计

Unity3D是一个跨平台、综合性的专业游戏引擎。将其用于博物馆的三维可视化开发,主要基于以下优点:①Unity3D是一个层级式的开发环境[9],拥有功能完备的编辑器,基于组件的对象系统,可定制的IDE环境,代码驱动的开发模式,实时的动态预览效果;②基于Mono的开发脚本简单高效,既减少了安全隐患,又降低了跨平台代码编写的难度;③便利的多平台开发、部署、特性,支持多种插件,可以成网页浏览的方式,不用下载和安装客户端,就可以直接体验[10]。

2.1 三维模型制作

对传统农具进行虚拟建模和工作原理模拟,丰富传统农具的三维展示功能。以扇谷风车为例,利用3d Max进行模型和材质制作,建模分为4个部分:风箱(含风叶、摇手)、漏斗(含米斗)、出风口、脚架。为了有效控制模型面数和便于后期的交互设计,采用多边形建模方法,同时对模型从3个方面进行优化:①使用简化工具减少三角形面片的数量[11];②对于相同结构的部件组成如漏斗、米斗等采用实例方式克隆;③合并使用相同贴图的材质球及其Mesh网格对象。

2.2 模型导入Unity3D

由于Unity3D无法识别Max格式文件,所以在3d Max中把Max文件导出成fbx格式再导入到Unity3D中。在导入过程中,针对出现的一些问题采取了相应的解决办法:①单位设置。Unity3D中的1单位是fbx文件中1单位的100倍,因此在3d Max中单位设置成1 cm相当于Unity3D中单位设置为1 m。②轴向问题。Unity3D和3d Max的坐标系不一致,Unity3D是Z轴向上,3d Max是Y轴向上,容易导致模型坐标错乱。针对3d Max2009以上版本采用输出插件或利用Reset Xform重新定义Transform信息可以有效解决轴向问题。③材质问题。在3d Max中赋予的材质导入到Unity3D中不会被正确显示,但Unity3D自动生成了这些材质的材质球,要将材质重新赋予1遍。贴图放置在同一文件夹中会自动导入。

2.3 模型的运动仿真

扇骨风车的工作原理(图1)是风叶一边高,另一边低于风来的方向,可以使风在风叶表面形成转向力,往一个方向吹动(由高到低),所以风车转动。打开谷物漏斗,谷物受到风的吹动,重的饱满谷粒(或米)直接从最近的米斗落下,中间的是半饱满谷粒,远处的是秕谷和茅草(或糠),越轻的飘得越远,从而达到分离的目的[12]。风车靠手工转动,速度太快,饱满的谷粒会从半饱满谷粒出口落下;速度过慢,秕谷则不能充分分离。

2.3.1 模型的层次关系 主要进行传统农具结构和工作模拟展示,其机械动力原理不作为研究重点内容。严格的层级关系设置使得后面的仿真运动交互设计得到大幅度简化(表2)。

2.3.2 模型的外观结构交互展示 在现有的虚拟农具模型三维展示功能基础上,本研究为模型加入了多视图(顶/底、前/后、左/右、透视)展示控制、多维旋转展示和部件拆卸、透视观察的功能。①多视图展示利用不同视图的渲染效果,通过交互按钮控制展示。②多维旋转展示功能设计中,由于鼠标的坐标系是二维的,需要转化为三维的世界坐标系,在三维情况下计算鼠标位置与物体的距离。采用Vector3结构体变量ScreenSpace存储,以此来明确屏幕坐标系Z轴的位置。用户在布展过程中,可自主选择锁定X、Y、Z任一坐标轴的方式进行交互式观察。③为解决风车模型在装配后,一些部件被外部零部件遮挡,无法看到内部结构的问题,设计了部件缩放、透视观察和高亮显示功能[13,14]。当鼠标点击到有相互遮挡的零部件时,外部的零部件会变为半透明,将内部的零部件显示出来[15]。当鼠标点击某个零部件时,该部分会被放置到视口中央并最大化显示出来,并可进行移动观察,帮助用户认识和掌握扇谷风车模型的具体结构。

2.3.3 扇谷风车的工作原理动态模拟 以扇谷风车筛谷为例,通过鼠标交互控制插销的位移运动,带动启门旋转运动;设定好摇臂旋转速度并转动摇臂即可带动风叶旋转,谷物粒子下落运动、分离。具体的工作流程如图2所示。

扇谷风车的工作原理动态模拟实现过程:①插销的位移运动,通过从鼠标发出的射线与插栓相碰,则调用onMouseDrag函数。取从鼠标发出的射线与插栓相碰的坐标,赋给mouseMove,再将mouseMove的x坐标和y坐标赋给插销,让插销贴在插栓上移动。②插销带动启门的运动,通过创建驱动实现动画效果。将插销的位移运动作为主动物体,启门的旋转运动作为被驱动对象。其中,启门的旋转运动中心点为局部坐标,围绕自身边轴旋转。③摇臂有自转运动和带动风叶旋转运动,为确保多级运动关系顺利进行,在设置摇臂旋转运动时,通过创建Null空对象并修改其中心点至摇臂旋转点,为空对象设置旋转运动,并设置空对象与摇臂的父子关系。同时,风叶又作为摇臂的子对象,继承摇臂的旋转运动。④扇谷风车对谷物的分离通过将不同质量的谷粒下落到不同漏斗中实现。Unity3D内置了目前最为广泛使用的NVIDIA的Physx物理引擎。Rigidbody(刚体)可接受外力与扭矩力使对象在物理系统的控制下运动。创建刚体小球模拟谷粒颗粒,质量设为随机数10 g,添加材质后用克隆的方式将谷物充满漏斗。扇谷风车作业时,打开启门开关,谷粒由于重力自动下落,根据刚体小球的质量大小的条件判断,决定小球下落的通道和位置,为风车的筛谷作业提供参考。扇谷风车的工作模拟效果如图3所示。

2.3.4 模型的展示 Unity3D具有丰富的跨平台性,用户可以在10多个不同的平台上创建和部署开发项目[16];Unity3D也会根据不同的平台而自动调整资源满足目标硬件和平台的需求。开发的展品系统既可为Windows Web版本,也可移植为 iPhone、iPad、Andriod等移动终端系统,只需一键即可完成作品的多平台开发和部署,用户只需要在安装有Unity Web Player插件的任何浏览器上即可运行。

3 小结

3d Max、Unity3D软件结合使用,实现了传统农具的三维交互展示和工作原理模拟。模型三维展示系统操作友好、效果丰富,实用性强,具备较强的兼容性和可扩展性。交互控制平台以Web形式运行,所有数据内嵌到浏览器中,方便灵活[17],为数字博物馆平台的虚拟仿真设计提供了新的方法和思路,但其中也存在一些问题有待进一步深入研究:①扇谷风车工作过程中随着摇臂运动产生的风力场模拟是研究的重点和难点;②谷粒刚体的运动受到自身重力、风力、与漏斗面板之间的摩擦力等因素影响,对更为逼真的筛谷交互模拟是下一步的研究方向;③随着移动智能终端技术的不断发展和广泛普及,基于移动平台的交互式三维展示技术研究将是未来发展的新方向。

上一篇:不同肥料对桉树幼苗营养及生长的影响 下一篇:校园网主要功能、应用现状与应用原则的思考