基于Unity 3D的室内装修商城的设计与实现

2016-01-27 13:00章菲徐燕许淑华
计算机时代 2016年1期
关键词:碰撞检测居室订单

章菲 徐燕 许淑华

摘 要: 设计了一个基于Unity 3D的虚拟室内装修商城系统。通过脚本编辑完成了动态场景行为控制,表现了家具的移动、视角的旋转过程、装修布置过程和顾客观赏房间装修后的场景,并实现了顾客装修房间的动态交互;对视角系统进行了设计,结合碰撞检测技术,利用游戏引擎Unity 3D建立了室内装修的三维可视化漫游系统。消费者可以在此平台上选择优质装修材料和家电配置,进行随心所欲地搭配。该系统实现了三维室内装修的演示及购物。

关键词: 室内装修; 场景建模; 商品建模; 模型集成; Unity 3D

中图分类号:TP393 文献标志码:A 文章编号:1006-8228(2016)01-52-04

Design and implementation of interior decoration store with Unity 3D

Zhang Fei, Xu yan, Xu Shuhua

(School of Maths and Physics, Shaoxing College, Shaoxing, Zhejiang 312000, China)

Abstract: A virtual interior decoration store system is designed based on 3D Unity. Through the script editing, the dynamic scene behavior control is accomplished, the movement of the furniture, the rotating process of the visual angle, the decoration layout process and the room scene after decoration are demonstrated, and the dynamic interaction with the customers is realized. To design the visual angle system, combined with collision detection technology, and using the game engine Unity 3D, a 3D visualization roaming system is built. Consumers can choose the quality decoration materials and home appliances configuration to carry out the decoration. The system has realized the process of three-dimensional interior decoration and shopping.

Key words: interior decoration; scene modeling; product modeling; model integration; Unity 3D

0 引言

电子商务已经改变了现代商务活动模式。正因为电子商务的快捷、方便和安全的购物手段,并且能够满足消费者个性而独特的消费需求[1]。电子商务的市场已经走进了千家万户,走进了普通百姓的生活,其发展空间非常广阔。

室内装修是伴随着房地产市场发展而兴起的专业服务行业。随着住房面积的不断扩大,舒适性越来越受到人们重视,室内装修行业的需求市场正在急速扩大。并且,随着因特网的应用逐步进入社会的各行各业,一套完善的三维室内装修电子商务平台已成为行业发展的急需品[2]。

1 系统开发技术

1.1 3D技术

Unity 3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化等类型互动内容的多平台的综合型游戏开发工具,是一款强大而又简单的集成编辑器和引擎,在电子商务的系统开发上使用Unity 3D是一个大胆的尝试。它的许可方式以及可选的插件使得使用者在需要时可以得到适量的功能和定制。这样的灵活性使得它可供一个独立的爱好者或是一个大型的开发团队使用[3]。

Unity 3D的跨平台性好,脚本语言简单,支持各种插件,能和大部分相关应用程序协同工作。我们采用此游戏引擎,就是希望把三维多视角游戏带到购物中,多平台呈现我们的商品,与买家互动。

1.2 其他技术支撑

⑴ 3DMax

3DMax是基于PC系统的三维动画渲染和制作软件。其广泛应用于建筑设计、多媒体制作、游戏以及工程可视化等领域。

⑵ ASP

ASP是一种服务器端脚本编写环境,可用来创建和运行动态网页或Web应用程序。

⑶ MySQL Database

MySQL是一个开放源码的小型关联式数据库管理系统。其体积小、速度快,总体拥有成本低、开放源码等特点。目前MySQL被广泛应用于Internet上的中小型网站中。

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

2.1 系统功能构架

⑴ 系统前台功能结构图

前台功能包括:用户注册、用户登录、商品浏览、资料管理、订单管理、用户退出等。结构图如图1所示。

⑵ 系统后台功能结构图

后台功能包括:顾客管理、进货管理、退货管理、订货管理和库存管理,结构图如图2所示。

主要功能描述如下。

⑴ 网站首页

商品以分页记录的方式显示。用户可以进行商品类别或套餐筛选,也可输入商品的名称进行搜索。

⑵ 用户的注册和登录

用户要想在网站中购买商品,需要先注册成为网站的会员,登录后才能购买商品。

⑶ 用户信息的修改

已经注册的会员,在登录后可自行修改电子邮箱、电话号码、登录密码等信息。

⑷ 购物车

用户在网上看到一个中意的商品时,就可把它放入购物车中,便于用户结账付款。

⑸ 订单查看系统

用户可以通过订单查询系统,查看自己在不同时期的购物订单情况。

2.2 系统活动状态分析

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

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

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

2.3 虚拟居室漫游场景建模

在虚拟居室漫游场景中,虚拟家具、家电分布在居室内,客户可以通过漫游方式在居室行走,通过前后左右的移动来观察整个居室的家具、家电,可以随意进出房间,全方位浏览居室内的家具家电。而整个操作都只要用鼠标和键盘控制,可操作性强。

虚拟居室的场景设计如下。

⑴ 使用3D Max建立了一个虚拟居室建筑模型,并对模型进行渲染和烘培。

⑵ 在居室模型的基础上,构建虚拟的房间,并且在房间中放置家具、家电模型。

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

2.4 碰撞测试

简单地讲,碰撞试验就是检验虚拟场景中不同对象间是否发生了碰撞[5]。就虚拟场景漫游中的碰撞检测来说,它可以使用户以更自然的方式与虚拟场景中的对象进行交互,保持场景的真实性和用户的沉浸感。如果没有及时的碰撞检测,当虚拟场景中的一个对象碰到另一个对象时,往往会发生相互穿透、重叠等现象,而不会产生碰撞效果,这在现实世界中是不可能的,所以也就会破坏虚拟场景的真实感和用户的沉浸感。

但是,物理引擎在很多情况下没办法判断两个物体是否发生碰撞,前一帧和后一帧都未发生碰撞的状态下,物理引擎当作什么也没发生,就会出现穿越。本作品中,我们给相机和墙都加上刚体Rigid、包围盒Collider,创建刚体包围盒Box Collider,然后进行碰撞测试。而我们在Unity 3D中使用的第一人称控制器身已带有碰撞检测。

3 主要模块分析和设计

3.1 用户登录注册模块

用户可在网站首页的登录框中输入用户名和密码登录。如未开通账户则注册后即可登录系统。登录成功后可进行各种操作。用户登录注册活动图如图5所示。

3.2 会员信息管理模块

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

3.3 商品购物模块

用户浏览各类商品时,可将喜欢的商品放入购物车,然后进行下订单及支付操作。用户购物后,网站对订单进行审核并根据用户填写的订单,尽快将商品寄出,同时用户在下订单后可进入个人中心对订单状态实时查询。购物时序图如图7所示。

3.4 商品管理模块

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

3.5 在线支付模块

相对传统的支付方式而言,在线支付方式的工具是信用卡支付和电子支票。

在网上支付模块中,如何接入银行系统或者第三方支付是最重要的。本作品采用间接接入方式。主要有三个功能。①选择支付银行。客户通过浏览器选择所需要的商品后,转到支付页面,该页面显示具体的订单号和应付全额。②进行付款。客户点击支付后,则转到相应的银行页面和支付页面。③返回支付结果。客户如果支付成功,则系统从支付网关接收信息,转到系统的支付结果页面。

3.6 3D室内装修商城

⑴ 用户体验装修效果图

本商城将极具人性化地为用户提供一个其户型的空居室,让其在家中自由地体验装修的快感,提前感受装修后的整体感觉。如有不满意即可更换家具。如图9所示。

4 结束语

基于3D Unity的室内装修系统是定位于专业室内设计与装修网站之间的系统。该系统基于B/S架构开发,既保证了系统访问的便利性,又实现了室内设计的专业级服务,满足了客户对室内装修在个性化、便利化、专业化的需求。在整个系统开发过程中的技术选型和实现过程对今后系统的进一步发展都有极为重要的借鉴意义。下一步,还可以对手机客户端进行开发,让此商城系统更加高效。

参考文献(References):

[1] 史海滨.浅谈我国电子商务的发展前景[J].中国商贸,

2012.12(b):112-113

[2] 许时晨.室内装修电子商务平台的构建[D].复旦大学,2007.

[3] (美)Michelle Menard,(译)史晓明.李强.Unity游戏开发实战[M].

机械工业出版社,2012.

[4] 王松樵,许淑华.基于Web3D的虚拟五金商城的设计与实现[J].

计算机时代,2012.10:42-45

[5] 马登武.虚拟场景中的碰撞检测算法[J].火力与指挥控制,

2004.4.

猜你喜欢
碰撞检测居室订单
春节期间“订单蔬菜”走俏
全新预测碰撞检测系统
新产品订单纷至沓来
老年人冬季居室应注意什么
基于BIM的铁路信号室外设备布置与碰撞检测方法
“最确切”的幸福观感——我们的致富订单
进入画家居室的是谁
Unity3D中碰撞检测问题的研究
进入画家居室的是谁
BIM技术下的某办公楼项目管线碰撞检测