APP下载

基于Unity 3D的虚拟家具商城的设计与实现

2014-04-29杨漾姚杭飞杨琛许淑华

计算机时代 2014年6期
关键词:碰撞检测步行街商城

杨漾 姚杭飞 杨琛 许淑华

摘 要: 设计了一个基于Unity 3D的虚拟家具商城系统。该系统通过Unity 3D三维技术,模仿实体店设计出一个步行街和商城三维模型,实现商城里面的家具三维展示,让顾客足不出户就能身临其境 “逛商场”,享受逛街购物乐趣。该系统具有良好的视觉和交互效果。

关键词: Unity 3D; 三维家具; 虚拟商城; 电子商务; 设计

中图分类法:TP393 文献标志码:A 文章编号:1006-8228(2014)06-47-03

0 引言

自进入20世纪90年代以来,中国家具每年的需求量以100亿元的速度增长。据预测,未来20年中国家具市场的需求量将以10%-15%的速度增长。目前,我国家具业已形成了一定规模,2003年全国家具总产值已达到1650亿元。目前,全国的家具企业有5万余家,从业人员已超过500万人[1]。中国已经成为世界家具生产大国,中国的产值占世界1/4,出口量是世界第一,出口额为388亿美元,年增长15.16%。而全行业2011年产值突破10000亿元,2011年家具行业的整体增幅是25%,成绩卓然[2]。

现有的家具电子商务平台仅限于平面的二维网页技术,依旧保持着传统图片展示,即通过几张不同角度的照片来展示商品。这种展示方式无法直观地把商品呈现给用户,使得客户对整个产品缺乏深入的了解。此外,由于平面网页的展示局限性,基于平面的购物场景使得购物过程缺乏真实感,极大地影响了客户购物的兴趣。

目前,Web3D技术得到了快速发展。Web3D技术是Web技术和传统的3D图形技术相结合的产物,是互联网上实现3D图形技术的总称。Web3D技术强化了视觉信息。可以让消费者通过对虚拟商品的交互操作,了解商品的3D外形、结构、功能,甚至还可以了解商品的使用流程,更增加了商品的真实性[3]。本文在传统的家具电子商务技术基础上,设计和开发了一个基于Web3D的虚拟家具商城。该虚拟家具商城通过引入计算机3D虚拟现实技术模拟三维视觉仿真环境,强化了商业过程中的视觉作用,让用户在虚拟的3D购物场景中,通过使用鼠标改变角度,全面地了解商品3D信息。同时3D虚拟环境使得购物过程具有一定娱乐性,让客户具有身临其境的现实感觉,极大地吸引客户的眼球,潜在地促进购买欲望。

1 Unity 3D技术介绍

电子商务系统开发使用Unity3D是一个大胆的尝试,Unity3D是一个由Unity Technologies开发的,可让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件,其编辑器运行在Windows和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone和Android平台。也可以利用Unity Web Player插件发布网页游戏,支持Mac 和Windows的网页浏览。它的网页播放器也被Mac widgets所支持。

Unity3D是一款强大、优雅而简单的集成编辑器和引擎,它所有的功能都组织在不同的、带有标签的窗口视图里,每个视图都提供了不同的编辑和操作功能。而且,这款软件完全以资源为中心,可以为所有不同类型的对象创建物理链接和引用,即便是像代码这样的对象。更重要的是,Unity3D的许可方式以及可选的插件使得用户在需要时可以得到适量的功能和定制。这样的灵活性使得它可供一个独立的爱好者或是一个大型的开发团队使用[4]。

Unity3D支持所有主要文件格式,并能和大部分相关应用程序协同工作。Unity3D支持三种脚本语言:JavaScript,C#,Boo。我们在用ASP+MySQL开发系统时采用的脚本语言是JavaScript,这使得Unity3D与我们的程序更加契合。我们采用这样一个游戏引擎,是希望把三维多视角游戏带到购物中来,在这样的环境下,可以多平台呈现我们的商品。Unity3D内置的NVIDIA?PhysX?物理引擎带给买家生活的互动,在游戏中购物,在购物中游戏的想法可以得到实现。

2 系统功能、建模和碰撞检测

2.1 系统功能架构

该网站是一个三维家具虚拟商城购物平台。顾客通过鼠标控制第一人称视角,通过键盘的方向键控制移动,能够在360度视角观察家具。在这个过程中,顾客能够充分的了解三维家具模型的信息,包括尺寸、材质和设计风格等。

系统按照功能的性质,分为前台服务系统和后台管理系统。

⑴ 前台服务系统:主要提供用户注册、用户登录、商品浏览、资料管理、订单管理、购物车等功能。系统前台功能结构图如图1所示。

⑵ 后台管理系统:系统后台功能就是对数据库进行各种操作,例如查询、更新、添加等功能,包括顾客管理、进货管理、退货管理、订货管理和库存管理,结构图如图2所示。

2.2 系统活动状态分析

系统的活动状态主要有买方购物活动和卖方管理商品活动[5]。

⑴ 买方购物活动:买方购物状态图如图3所示。

⑵ 卖方管理商品活动:卖方管理商品状态图如图4所示。

2.3 3D虚拟步行街漫游场景建模

在虚拟步行街漫游场景中,虚拟店铺分布在步行街内,客户可以通过漫游方式在步行街行走,通过前后左右的移动来观察整个步行街上的店铺,并且可以随意进出店铺,全方位地浏览店铺里的家具。其整个操作都只要用鼠标和键盘控制,可操作性非常强。

虚拟商城步行街的场景设计如下。

⑴ 首先使用3DSMax建立一个虚拟步行街建筑模型,并对模型进行渲染和烘培。

⑵ 在步行街模型的基础上,构建虚拟的房间作为购物店铺,并且在店铺中放置家具模型。

⑶ 进行顾客与场景之间的交互行为操作设计,这个设计需要在Unity3D中完成,所以我们要将刚才制作好的模型导出为fbx文件,将*.fbx格式的模型导入到Unity3D中,将摄像机添加到这个模型中,再为这个模型添加第一人称视角,其中包含有FPSInputController.js,CharacterMotor.js,MouseLook.js等几种Javascript脚本语言,使得用户可以通过鼠标和键盘的操作,实现在场景自由地旋转和移动,进行视角的变换。

2.4 碰撞检测

碰撞检测用于判定一对或多对物体在给定时间域内的同一时刻是否占有相同的区域。就虚拟场景漫游中的碰撞检测来说,它可以使用户以更自然的方式与虚拟场景中的对象进行交互,保持场景的真实性和用户的沉浸感。如果没有及时的碰撞检测,当虚拟场景中的一个对象碰到另一个对象时,往往会发生相互穿透、重叠等现象,而不会产生碰撞效果,这在现实世界中是不可能的,所以也就会破坏虚拟场景的真实感和用户的沉浸感。因此,虚拟场景中的漫游,必须能够及时地判断虚拟场景中物体之间是否发生碰撞以及碰撞后的响应。

物理引擎在很多情况下没办法判断两个物体是否发生碰撞,原因是前一帧和后一帧都在未发生碰撞的状态下,物理引擎当作什么也没有发生,于是就出现了穿越。在本文中,为了进行碰撞检测,需要给相机和墙都加上刚体Rigid和包围盒Collider,创建刚体包围盒,即BoxCollider,然后进行测试。而Unity3D中的第一人称控制器First Person Controller自身已带有碰撞检测。

3 主要模块分析设计和实现

3.1 用户登录注册模块

用户可以在网站首页的登录框中输入用户名和密码实行登录,当输入的用户名和密码正确则可成功登录,否则将提示登录失败,可重新登录。如未开通账户则注册相应用户后即可登录系统。输入相应的账户和密码,按下登录按钮后,将启动登录验证程序。登录成功,即可进行不同的操作。用户登录注册活动图如图5所示。

3.2 会员信息管理模块

顾客进入网站首页登录后,点击“会员中心”即可进入“会员中心”页面。这里为用户提供了用户注册信息的查看和修改功能,即用户密码的修改、购物车的查看、订单的查看等。会员信息管理时序如图6所示。

3.3 商品购物模块

用户注册后可以在网站上浏览各类商品,可将喜欢的物品放入购物车,进行下订单以及支付操作,满足顾客的购物乐趣。当用户购物后,网站将对订单进行审核并根据用户填写的订单,在短期内将商品寄出,同时用户在下订单后可进入自己的个人中心对订单的处理情况进行实时查询。购物时序图如图7所示。

3.4 商品管理模块

卖方可以登录商品管理模块,可以对自己铺下的商品进行管理。商品管理时序图如图8所示。

3.5 3D步行街和商场

3.6 3D家具

4 结束语

本文设计了一个三维的虚拟家具商城的商务网站,讨论了利用Unity 3D并融于系统的架构角色设计方案,详细分析了系统流程并进行了相应的建模分析。该系统的设计方案参加了2013年浙江省“网上轻纺城杯”第八届大学生电子商务竞赛并获得二等奖。下一步,我们将深入研究家具模型的美观性、便捷性,以及网上支付的多样性、安全性。

参考文献:

[1] 郑超.中国家具市场现状分析及营销策略研究[D].天津大学,2006.

[2] 中国企业报. 中国家具步入良性轨道 年产值破万亿[OL].http://jiaju.sina.com.cn/news/2012-05-08/090057147744.shtml,2012-05-08

[3] 徐勇.基于Web3D技术的电子商务应用研究[D].浙江工商大学,2007.

[4] (美)Michelle Menard,(译)史晓明,李强.Unity游戏开发实战[M].机械工业出版社,2012.

[5] 王松樵,许淑华.基于Web3D的虚拟五金商城的设计与实现[J].计算机时代,2012.10:42-45

猜你喜欢

碰撞检测步行街商城
特战演习之步行街区
全新预测碰撞检测系统
“购买”快乐
基于BIM的铁路信号室外设备布置与碰撞检测方法
Unity3D中碰撞检测问题的研究
商城
问路
悦居商城
悦居商城shop
51,商城