- -
烟台生产力促进中心 辛献杰 刘晓娜 郑学通 王勇亮 王绍斐
【摘要】虚拟现实技术的迅速发展,促使汽车等产品的虚拟展示具备动态交互和三维可视化等特点。本文采用3Ds MAX制作汽车及场景模型,通过Unity3D实现系统辅助模块和汽车核心展示模块,编译为web Player展示插件,实现网上360°的汽车展示。系统交互性强,用户可实时更换汽车颜,局部放大或缩小,并可从任意角度观察汽车的内外部信息等,既从视觉上满足客户的需求,又给客户带来更多自主挑选的机会,节约购车时间。【关键词】web;Unity3D;虚拟现实;汽车展示
1.引言
吉利星瑞随着居民消费水平的不断提高,汽车销量逐年攀升,人们在购车前又比较注重汽车的车型、外观和各种性能等诸多信息,而亲自到各大车行进行实地考察,既费时又费力[1]。随着互联网技术的发展,各种虚拟汽车展示系统应运而生,但多数系统只局限于二维图片或flash动画的展示,无法详细展现汽车的内部特性。
虚拟现实技术的迅速发展,促使人们对具有动态交互、三维可视化效果的产品信息的需求日益强烈。web三维展示技术可直观、高效地构建具备良好交互性和沉浸性的虚拟展示系统,通过互联网缩短人们和产品之间的距离,全面展现产品的各项性能。通过该技术实现的汽车展示系统,不仅使用户提早看到汽车模型,又给厂商创造了一种新的营销方式,减少企业的销售成本,提高了企业竞争力[2]。本文建立了一个基于web 的虚拟现实汽车展示系统,交互性强,用户可使用任意主流浏览器高速、便捷地浏览系统信息。其中,第一部分对全文进行了概述,第二部分介绍了系统的整体结构,第三部分重点阐述了系统研发过程中用到的关键技术,最后得出结论。
2.系统总体结构
web虚拟现实汽车展示系统结构可分为三个部分:模型制作、展示系统制作、web支撑环境。系统结构图如图1所示:
图1 系统结构图模型制作:主要提供系统展示所需汽车及场景模型,通过3DS MAX制作导出fbx文件,并利用Unity3D将fbx文件转换成可动态加载的assetbundle格式;
展示系统制作:主要通过Unity3D制作系统展示界面、搭建三维场景等,并编辑系统核心算法及相应的交互功能,最后打包为一个能够实现动态加载3D模型的Web Player展示插件;
web支撑环境:主要由浏览器可以解释执行的HTML页面以及Unity3D 开发的Web Player 展示插件组成,并由XML负责汽车展示信息的存储、组织和管理。
web汽车展示系统的研发流程图如图2所示。3.关键技术分析
3.1 3Ds MAX模型制作
3D Studio Max,常简称为3Ds MAX,是一款基于PC系统的三维动画渲染和制作软件。广泛应用于影
视、工业设计、建筑设计、三维动画、游戏、辅助教学以及工程可视化等领域。
根据要展示汽车及场景特点,本文采用3Ds MAX分别设计开发相应的三维模型,以达到理想的真实感效果。通过3Ds MAX制作模型并
长安cs55导出格式为fbx的文件,再通过Unity3D转换为可识别格式。模型中的动作是通过自动识别来播放模型文件中的指定动作,如打开车门等。通过3D模型的制作完成动作的设定,从而达到更优的交互效果。模型制作不是本文阐述的重点,在这里不再详述。
图2 web汽车展示系统研发流程图
3.2 Unity3D开发展示系统
Unity3D是一个多平台的游戏开发工具,是一个全面整合的专业游戏引擎,具有更优越的效果和更高的扩展空间。对DirectX和OpenGL 拥有高度优化的图形渲染管道。支持所有主要文件格式,并能和大部分相关应用程序协同工作。Unity内置的NVIDIA、PhysX物理引擎能
够带来逼真的互动感觉,提供了具有柔和阴影与烘焙lightmaps的高度完善的光影渲染系统,非常适合产品三维虚拟展示在交互访问和逼真表现的要求。可发布场景至Windows、iPhone和Android等平台,也可以利用Unity web player插件发布网页应用。在网络方面,Unity3D提供了强大的可视化编辑器和语言层面的网络类,脚本采用Javascript、C#、Boo 等语言,常用来快速制作三维视频游戏、信息可视化等互动内容[2]。
本文通过Unity3D进行3D模型格式转换、系统辅助模块和展示模块设计以及相关核心算法的编写,采用C#作为脚本语言。
3.2.1 3D模型格式转换
通过Unity3D将3Ds MAX导出的fbx模型文件转换成可动态加载的assetbundle格式。通过添加代码,在
Untiy3D的菜单“Assets”中添加“Build AssetBundle From Selection - Track dependencies”和“Build AssetBundle From Selection - No dependency tracking”两个选项(如图3所示),可直接实现对选中模型的格式转换。
格式转换主要代码如下:
3.2.2 系统辅助模块的设计
通过Unity3D设计汽车展示系统界面,可同时实现不同场景和光照天气的搭配、汽车颜的实
图3 添加格式转换菜单项
- -
时变换、汽车部分动作展示以及相关帮助信息。
汽车展示系统界面如图4所示。
展示区域底部为菜单面板,当鼠标离开菜单区域时,菜单面板自动隐藏。用户可以直观地浏览汽车,根据菜单提示实时地进行操作。下面对基本展示功能予以说明。
(1)鼠标操作:用户可通过鼠标的左、中、右三键来控制产品模型运动。点击并拖动鼠标的左键可以在360°视角内观察模型各个部位的细节;按住鼠标中键可移动模型在展示场景中的位置;按住鼠标右键进行拖动,可对模型进行拉近或拉远操作。
(2)选择场景:可在展示区内加载不同的场景,如草地、楼宇、展台等,以实现更加丰富的展示效果。
(3)光照天气:可随意变换不同的天气状态,使汽车模型在不同环境下进行展示,增强展示效果。
(4)颜调配:滑动调板相应按钮,可对产品模型的主体颜进行实时调配,以满足客户的不同喜好。
(5)局部动作:若模型自带动作,系统将自动将动作信息添加到局部动作菜单中,单击菜单中对应的动作,如图5所示,即可播放模
型里自带的动作动画。
图5 局部动作效果
3.2.3 系统核心算法(1)模型居中显示
当模型动态地加载到展示界面时,最主要的问题就是让模型能够出现在界面的中心位置。因此模型居中显示是一个关键算法,通过scaleConst这个常量来约束模型的尺度,从而
现代空调故障代码
实现模型的居中置位。主要代码如下所示:
(2)调用模型中的动画信息
在3dsMax或unity3d软件中,可为3D模型设置动画。如果模型文件里附带动画信息,本系统可自动检测,并将其添加到“局部动作”菜单列表,以便用户进行操作。主要代码如
下所示:
3.2.4 将展示系统编译打包
在Unity3D中研发的展示系统,要发布到web就必须将其打包为一个能够实现动态加载3D模型的Web Player展示插件,如图6所示,选择“Platform”中的“Web Player”,单击
Build,进行编译打包。
图6 打包为Web Player展示插件
3.3 构建web支撑环境
web支撑环境主要由浏览器可以解释执行的HTML页面以及Unity3D开发的Web Player展示插件组成,并由XML负责汽车展示信息的存储、组织和管理。
4s店做个四轮定位多少钱
web汽车展示系统支撑环境界面如图7所示。
图7 web支撑环境
3.3.1 web环境调用展示系统
在Unity3D中使用以下程序调用系统入口:
HTML页面中的getUrl函数为整个系统总入口,其中访问绝对路径使用php直接获取,
代码如下所示:
在Unity3D中,获取文件名、主机名:
3.3.2 XML节点记录
XML是可扩展标记语言,标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言。与其他数据库不同,它仅仅是存储数据。
在展示系统中展示的汽车模型基本信息通过XML节点进行记录, 一条汽车模型信息的
典型XML节点格式如下所示:
这些属性分别记录了汽车的名称、上市年份、排量、价格、变速箱、百公里油耗、长宽高等信息, 这些信息添加到XML数据库并存储于网站服务器, 供展示系统在初始化时载入并进行解析。
4.结语
随着网络及3D展示技术的快速发展,产品在线三维展示、实时交互等功能已成为越来越重要的需求。
本文研究的基于Unity3D的虚拟现实web 汽车展示系统能够利用Untiy3D技术建立产品的真三维模型的交互展示及跨平台运用,能够完成产品的外观展示及相关交互功能。通过web网络的展示,让用户不受时间、空间的限制,与产品进行一种动态交互,节约购车时间,给基于web的3D展示技术在汽车生产销售领域的发展带来新的前景。
参考文献
[1]石娟娟.基于WEB3D的汽车虚拟展示系统的研究[C].内蒙古:内蒙古大学出版社,2009:76-78.
[2]倪乐波,戚鹏等.Unity3d产品虚拟展示技术的研究与应用[J].数字技术与应用,2010(9):54-55.
[3]任国栋,陈林华等.基于Unity3D的虚拟博物馆信息可视化系统[J].计算机系统应用,2013,22(9):86-90.
作者简介:
辛献杰(1962-),男,大学本科,毕业于海军航空工程学院自动控制工程专业,现供职于烟台生产力促进中心,主要从事先进制造技术发展研究、科技体制改革、科技发展战略研究、管理信息系统与数据库研究等。
通讯作者:刘晓娜(1986-),女,山东烟台人,毕业于沈阳航空航天大学计算机应用技术专业,硕士研究生,现供职于烟台生产力促进中心,主要从事虚拟现实系统研发等。
图4 汽车展示系统界面
东营二手车信息
发布评论