徐 凌
(北京服裝學院 計算機信息中心,北京 100029)
隨著個人電腦和智能手機的普及,網(wǎng)上購物成為消費者的主要購物方式之一。2018上半年中國的網(wǎng)絡購物用戶規(guī)模達到5.67億人,占網(wǎng)民的71%。服裝行業(yè)最先享受網(wǎng)購紅利,超越電子產(chǎn)品和食品,成為網(wǎng)購參與度最高的品類。隨著服裝網(wǎng)購規(guī)模的快速提升,截止到2017年,服裝網(wǎng)購已經(jīng)將市場滲透率提升到40%以上[1]。
網(wǎng)店在介紹商品時主要通過文字、圖片和短視頻,對于消費者來說缺乏直接的購物體驗。近幾年來,淘寶、京東等各大電商已經(jīng)開始虛擬現(xiàn)實購物的技術研究。2016年初,淘寶和京東都成立了VR實驗室。淘寶在當年的“雙十一”正式上線了全新購物方式—BUY+系統(tǒng),構建了7個虛擬商城,有超過800萬的消費者體驗了VR購物。而京東則聯(lián)合英特爾、HTC等數(shù)十家企業(yè)成立VR/AR產(chǎn)業(yè)聯(lián)盟,推出“VR購物星系”應用[2,3]。
VR即虛擬現(xiàn)實,自2012年來出現(xiàn)了以Oculus為代表的一批可靠實用的VR頭盔,可以針對雙眼獨立成像,相對于普通的顯示設備,具有良好的浸入式體驗效果[4]。因此,其在虛擬展覽、虛擬駕駛、虛擬景觀等VR應用領域得到推廣[5,6]。
作為新興的技術,使用標準VR顯示設備的虛擬購物應用較少且不成熟,尤其是在服裝購買方面。目前的服裝VR網(wǎng)購系統(tǒng)存在缺少服裝動態(tài)展示內(nèi)容和實用的虛擬試衣方法,對大批量、更新頻繁的商品建模成本大、效率低下等缺點,針對以上問題,本文設計了基于Unity的VR購衣系統(tǒng),使用三維掃描方式批量建模,經(jīng)過優(yōu)化處理降低系統(tǒng)成本,并提出一種針對顧客體型定制等比例虛擬試衣模特的方法。
系統(tǒng)按圖1的結(jié)構進行模型劃分。數(shù)據(jù)采集與處理模塊的內(nèi)容包括商品模型的掃描創(chuàng)建和優(yōu)化處理、顧客個性化虛擬人體模型的定制和生成;用戶信息管理模塊的內(nèi)容包括對顧客、賣家商店相關信息的添加、修改、查詢、刪除;商品信息管理模塊的內(nèi)容包括對商品相關信息的添加、修改、查詢、刪除;交易信息處理模塊的內(nèi)容包括對訂單流程的處理、留言的處理、網(wǎng)上支付的處理;用戶交互模塊的內(nèi)容包括在PC端和Android端的GUI交互界面設計;虛擬展示模塊的內(nèi)容包括虛擬店鋪的設計和顯示、服裝模型的靜態(tài)展示、服裝模型結(jié)合虛擬人體模型的動態(tài)展示;數(shù)據(jù)庫模塊包括數(shù)據(jù)的存儲和管理、數(shù)據(jù)庫連接的實現(xiàn)、數(shù)據(jù)安全機制的實現(xiàn)。
圖1 系統(tǒng)模塊劃分
2.2.1實體關系
按實體類型主要劃分為賣家、顧客、訂單、商品、物品五種,如圖2所示。其中同一種物品可能在不同的賣家按不同價格、說明出售,因此與商品是一對多關系;同一個訂單可能包含了多個商品,同一個商品也可能出現(xiàn)在多個訂單里,兩者是多對多關系;賣家和顧客可以擁有多個訂單,與之是一對多關系;一種物品可以是多種商品,而一種商品只能是一種物品,兩者是一對多關系。
圖2 E-R關系圖
2.2.2物理模型設計
系統(tǒng)的數(shù)據(jù)主要用圖3所示五個表存儲。其中物品表除了物品基本介紹內(nèi)容外還要存儲該物品的三維模型;商品表可在所指向物品的基礎信息外添加自定義的介紹信息和價格、庫存量;顧客表包含顧客的基本信息和定制的虛擬試衣模特的人體模型;訂單表包含交易信息和訂單狀態(tài)字段。
圖3 數(shù)據(jù)庫物理設計
3.1.1服裝建模與處理
服裝模型通過三維掃描儀掃描生成外觀和紋理。由于初步生成的模型包含噪點、空洞、冗余信息和過多的面,需要經(jīng)過降噪、表面重建等處理步驟。之后經(jīng)過蒙皮、綁定骨骼、添加碰撞檢測系統(tǒng)的步驟,將服裝模型與人體模型的掛載點進行標準化統(tǒng)一,以便實現(xiàn)換裝功能。
3.1.2自定義人體模型的生成
系統(tǒng)提供一整套帶骨骼和骨骼動畫的標準人體模型,用戶選擇和自己體型近似的模型并對參數(shù)進行微調(diào),選擇近似的臉型、頭型,還可以選擇上傳正臉自拍照作為面部貼圖。服裝與虛擬試衣模特結(jié)合后效果如圖5所示。
圖4 帶骨骼的虛擬人體著裝模型
3.1.3店鋪環(huán)境建模
使用3dsMax制作貨架、燈具等設施,對于店鋪內(nèi)的柜臺、墻壁、地板等外形由矩形平面結(jié)構拼合的規(guī)則物體,可以直接用Unity自帶的建模、貼圖功能實現(xiàn)。
賣家可以通過菜單在幾套標準店鋪模型中自選,并在貨架、墻壁上添加虛擬商品。具體實現(xiàn)方法是先在Unity中建立店鋪場景、導入店鋪環(huán)境模型、添加第一人稱視角VR攝像機對象;然后在后臺通過賣家ID在數(shù)據(jù)庫商品表中查詢賣家出售的服裝種類,獲取服裝的模型、陳列位置和其他信息;最后將服裝對象添加到虛擬店鋪的陳列位置上。
顧客在界面通過搜索店鋪名獲取賣家ID,并加載對應的虛擬店鋪。顧客通過佩戴VR頭盔瀏覽虛擬店鋪和陳列的服裝,通過操作Touch工具發(fā)射的光線能夠選擇服裝,打開商品信息界面。在商品信息界面里除了展示服裝的圖文說明、庫存量、價格外,還包括虛擬試衣選項、購買選項。
顧客選擇了服裝并添加到試衣列表后加載虛擬試衣間,將列表中的服裝模型添加到個人的虛擬試衣模特上??梢酝ㄟ^VR頭盔在試衣間內(nèi)圍繞著裝人體走動并觀看效果,試衣人體模型可以按用戶在菜單上選擇的幾種靜態(tài)姿勢展示,也能通過加載骨骼動畫演示服裝在人體走動、跑動、跳躍時的懸垂和碰撞效果;還能實時調(diào)整服裝尺寸使之更加合身。
在技術上,通過數(shù)據(jù)庫顧客表讀取和加載試衣人體模型,將人體模型的對應位置蒙皮更換成服裝就實現(xiàn)了換裝,演示中的靜態(tài)姿勢和運動效果是通過播放人體模型在系統(tǒng)中預先錄制的幾套骨骼動畫實現(xiàn)的。
顧客在未登錄的情況下就可以搜索和查看出售的服裝信息,如果要加入購物車就會彈出登錄窗口,只有登錄后才能生成訂單。確認付款后,賣方會收到消息并發(fā)貨;顧客則會在發(fā)貨后收到發(fā)貨通知消息。顧客可以在發(fā)貨前取消訂單并退款,在收貨后可以執(zhí)行評價或者退換操作,這一過程中訂單狀態(tài)會發(fā)生相應改變。顧客購物和訂單處理的流程如圖5所示。
圖5 購物處理流程圖
在數(shù)據(jù)通訊方面,客戶端向服務端的API接口發(fā)出請求,服務端將接收到的信息轉(zhuǎn)換為JSON字段,根據(jù)其類型轉(zhuǎn)入對應處理流程。客戶端則在本地解析和加載由服務端發(fā)來的打包為JSON格式的信息。
完成開發(fā)后,將客戶端通過Unity工具欄菜單下的Build功能打包為.apk文件,安裝進Android手機和VR頭盔設備里;在服務器端安裝Oracle數(shù)據(jù)庫和服務端程序并錄入數(shù)據(jù)。顧客購物界面如圖6所示。
圖6 顧客購物界面
使用Touch控制行走,第一人稱VR攝像機向側(cè)面移動后不同視角的試衣效果如圖7(a)、圖7(b)所示。將VR頭盔視角中的畫面投射到屏幕上,左、右目鏡會單獨成像。在實際佩戴頭盔時左右目鏡各自對應左右眼,通過視覺差能模擬人眼的觀察角度,實現(xiàn)視場的深度感和浸入感[7,8]。與同類網(wǎng)購系統(tǒng)相比,基于Unity的VR購衣系統(tǒng)擁有直觀的試衣展示效果、更豐富的展示內(nèi)容。
圖7 虛擬試衣的VR頭盔視角
網(wǎng)絡購物的過程中僅通過圖文和視頻已經(jīng)不能滿足顧客對服裝商品信息的了解需求,隨著VR技術的發(fā)展,在不親臨實體店的情況下,就可實現(xiàn)虛擬試衣體驗。基于Unity工具的引擎和外接式VR頭盔構建的VR購衣系統(tǒng)在實現(xiàn)服裝網(wǎng)購基本流程的同時提供虛擬試衣功能,較好地實現(xiàn)了服裝動態(tài)展示的浸入式觀看效果,進一步豐富了商品展示手段,也為該類型VR應用的開發(fā)提供了有價值的參考。