楊漾 姚杭飛 楊琛 許淑華
摘 要: 設計了一個基于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