楊帆
摘要:基于iOS[1]平臺(tái)增強(qiáng)現(xiàn)實(shí)技術(shù)(Augmented Reality,簡(jiǎn)稱 AR)[2],設(shè)計(jì)了一個(gè)3D房產(chǎn)App。該App主要功能有樓盤介紹、建筑介紹、戶型介紹與商業(yè)漫游。通過AR技術(shù),立體全方位地為用戶展示樓盤模型、戶型概況、室內(nèi)全景、周邊街景,給消費(fèi)者提供了一個(gè)全新的AR視角的購房體驗(yàn),提高消費(fèi)者和銷售人員的溝通效率,降低購房期間產(chǎn)生的時(shí)間與人力成本。
關(guān)鍵詞:iOS;AR;App;3D房產(chǎn)
中圖分類號(hào):G64 ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)17-0059-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Abstract: A 3D real estate App is designed based on the Augmented Reality (AR) technology of iOS platform. The main functions of the App are the introduction of property, apartment type, commercial roaming, and architecture. Through AR technology, the real estate model, apartment profile, indoor reality and real estate surrounding street scene are displayed to the customers in a three-dimensional and all-round way so that it can provide the buyers with a brand new experience of buying a house from the perspective of AR. It also can improve the communication efficiency between buyers and sales staff, and reduce the time and labor cost during the period of purchase.
Key words: ios; ar; app; 3D real estate
1 引言
AR是一種實(shí)時(shí)地計(jì)算攝影機(jī)影像的位置及角度并加上相應(yīng)圖像、視頻、3D模型的技術(shù),該技術(shù)的目標(biāo)是在屏幕上把虛擬世界套在現(xiàn)實(shí)世界并進(jìn)行互動(dòng),從而達(dá)到擴(kuò)張實(shí)境的效果。隨著科學(xué)技術(shù)和硬件技術(shù)的發(fā)展,很多移動(dòng)終端設(shè)備的功能越來越強(qiáng)大,已經(jīng)具備了運(yùn)行AR系統(tǒng)的條件,所以移動(dòng)設(shè)備將更加適合作為運(yùn)行AR系統(tǒng)的平臺(tái)。iOS作為世界上最先進(jìn)的移動(dòng)操作系統(tǒng),它以超強(qiáng)的性能和完美的用戶界面深深吸引了很多人,具有非常大的用戶群,所以研究在iOS設(shè)備上開發(fā)AR技術(shù)與應(yīng)用具有非常重要的理論意義和市場(chǎng)價(jià)值。
ARKit[3]是蘋果在2017年WWDC推出的AR開發(fā)平臺(tái)。開發(fā)人員可以使用該套工具iPhone和iPad創(chuàng)建增強(qiáng)現(xiàn)實(shí)應(yīng)用程序。 2018年6月蘋果在全球開發(fā)者大會(huì)上蘋果宣布推出旗下AR工具的新版本ARKit2.0,提供了更為強(qiáng)大的聯(lián)機(jī)體驗(yàn)/共享體驗(yàn)、持續(xù)追蹤、測(cè)量應(yīng)用和3D對(duì)象檢測(cè)功能,并引入了一項(xiàng)全新的文件格式,使得開發(fā)iOS平臺(tái)的AR場(chǎng)景更為廣闊,應(yīng)用開發(fā)更為簡(jiǎn)單。2019年6月蘋果全球開發(fā)者大會(huì)上推出了ARKit3.0,新增了People Occlusion與Motion Capture功能,可以實(shí)時(shí)捕捉用戶的動(dòng)作,讓使用者與AR環(huán)境進(jìn)行互動(dòng)。
利用iOS開發(fā)工具Xcode和開發(fā)語言Swift[4],結(jié)合ARKit技術(shù),設(shè)計(jì)和實(shí)現(xiàn)了一款通過3D視角了解樓盤、室內(nèi)與周邊概況的App。
2 設(shè)計(jì)與實(shí)現(xiàn)
App通過導(dǎo)入設(shè)計(jì)人員或者工作人員拍攝的全方位的樓盤照片,通過3ds max轉(zhuǎn)成需要的3D模型[5],然后導(dǎo)入到Xcode項(xiàng)目工程中,使用 Swift進(jìn)行編程實(shí)現(xiàn)相應(yīng)的功能,最后部署到iPad運(yùn)行。其主要功能有樓盤介紹、建筑介紹、戶型介紹與商業(yè)漫游。App的整體流程如圖1所示。
2.1數(shù)據(jù)采集
數(shù)據(jù)采集主要分為新房和二手房?jī)纱箢?。第一類新房—設(shè)計(jì)人員根據(jù)樓盤的設(shè)計(jì)圖導(dǎo)入3ds max轉(zhuǎn)換成3D模型。第二類二手房—工作人員拍攝樓盤相關(guān)數(shù)據(jù)照片,然后通過3ds max轉(zhuǎn)化成需要的3D模型。
2.2 功能設(shè)計(jì)與實(shí)現(xiàn)
以新房對(duì)象,通過一個(gè)案例對(duì)App的主要功能模塊的設(shè)計(jì)和實(shí)現(xiàn)進(jìn)行闡述。
2.2.1樓盤介紹
該功能主要全方位立體式展示樓盤的全景信息,如圖2所示。進(jìn)入該界面以后,會(huì)自動(dòng)緩慢地360度旋轉(zhuǎn)界面,展示一個(gè)居高臨下的俯瞰效果。同時(shí)可以手動(dòng)觸摸屏幕旋轉(zhuǎn)到用戶感興趣的樓盤。在界面的右下角有一個(gè)操作菜單,點(diǎn)擊菜單,可以進(jìn)入相應(yīng)的功能界面。
該界面由1個(gè)全屏的UIImageView控件和2個(gè)UIButton控件構(gòu)成。為了實(shí)現(xiàn)自動(dòng)的3D旋轉(zhuǎn)展示樓盤的效果,采用一個(gè)定時(shí)器 Timer,每隔1秒對(duì)圖片進(jìn)行切換。同時(shí)添加對(duì)UIImageView控件的觸摸監(jiān)聽,根據(jù)觸摸的方向和距離來切換背景圖片以達(dá)到用戶手動(dòng)全景瀏覽的目的。右下角的按鈕菜單由2個(gè)UIButton控件實(shí)現(xiàn),包括建筑介紹和商業(yè)漫游,通過UIButton控件的點(diǎn)擊事件跳轉(zhuǎn)到相應(yīng)的功能界面。
2.2.2建筑介紹
該功能是在圖2主界面的基礎(chǔ)上,增加圖標(biāo)顯示每棟建筑的信息,點(diǎn)擊圖標(biāo)可以查看建筑的圖片與文字介紹。
該界面主要是增加多個(gè)UIButton控件,利用UIButton控件的文字向用戶顯示樓盤的具體名稱信息,如1棟居民樓,2棟商業(yè)樓等。點(diǎn)擊每個(gè)樓盤的UIButton控件,就會(huì)進(jìn)入相應(yīng)的建筑介紹界面。建筑介紹功能對(duì)每一棟樓盤都有圖片與文字介紹。建筑介紹界面主要由1個(gè)UIImageView控件和多個(gè)UILabel控件構(gòu)成,UIImageView控件顯示樓盤圖片,UILabel控件顯示樓盤的介紹信息。該界面還可以通過滑動(dòng)手勢(shì)實(shí)現(xiàn)左右切換的功能,使用UIView動(dòng)畫實(shí)現(xiàn)文字和圖片的淡入淡出顯示效果。
2.2.3 戶型介紹
該功能幫助用戶詳細(xì)了解樓層整體架構(gòu)及新房的戶型室內(nèi)設(shè)計(jì)。用戶無須移動(dòng)腳步,就可以全方位了解房產(chǎn)概況和詳細(xì)的室內(nèi)戶型信息。該界面展示的是樓盤的橫切面,標(biāo)注有樓盤中各個(gè)戶型的詳細(xì)信息,如圖3所示。
該界面主要由多個(gè)UIImageView控件、UILabel控件和UIButton控件構(gòu)成。UIImageView控件顯示戶型圖片,UILabel控件顯示戶型文字介紹,UIButton控件用于切換樓層,其中黃色的指針也是UIButton控件,點(diǎn)擊可以查看360度全景室內(nèi)設(shè)計(jì)。
室內(nèi)設(shè)計(jì)界面會(huì)加載一個(gè)3D全景圖,如圖4所示,用戶可以通過手勢(shì)切換任何角度瀏覽室內(nèi)信息。在某一時(shí)刻會(huì)展示一個(gè)角落的室內(nèi)信息,如圖5所示。該界面利用ARKit的3D加載引擎 SceneKit,將圖片做成一個(gè)球狀模型,讓用戶的視角置身于球體的中心,切換視角可以達(dá)到旋轉(zhuǎn)球體進(jìn)行360度瀏覽的效果。
2.2.4 商業(yè)漫游
該功能展示樓盤附近的商鋪、街道、基礎(chǔ)設(shè)施環(huán)境。用戶可自行選擇查看樓盤周邊信息的方式,界面如圖6所示,左下角為一鍵自動(dòng)瀏覽按鈕,點(diǎn)擊它可以帶領(lǐng)用戶自動(dòng)瀏覽已錄入的房產(chǎn)周邊信息;通過中間手勢(shì)圖片向左向右滑動(dòng)幫助用戶手動(dòng)查看房產(chǎn)周邊信息;右下角的返回按鈕幫助用戶回到該功能界面最初的位置。
該界面是由2個(gè)UIImageView控件、2個(gè)UIButton控件以及觸摸監(jiān)聽構(gòu)成。其中1個(gè)UIImageView控件顯示背景圖,另外1個(gè)顯示底部的手勢(shì)提示圖片。左下角的自動(dòng)瀏覽按鈕功能,利用定時(shí)器Timer每隔1秒對(duì)圖片進(jìn)行切換處理實(shí)現(xiàn)既定路線的瀏覽。同時(shí)對(duì)UIImageView控件進(jìn)行觸摸監(jiān)聽,通過監(jiān)聽識(shí)別到向右滑動(dòng)時(shí),根據(jù)滑動(dòng)的距離切換圖片,使用戶形成向前瀏覽的感覺;向左滑動(dòng)時(shí)與向右操作相同,但是圖片會(huì)逆序切換,使用戶形成后退瀏覽的感覺。點(diǎn)擊右下角的返回按鈕直接將最初的圖片顯示到UIImageView控件上,實(shí)現(xiàn)回到最初位置的功能。
3 軟件測(cè)試
通過軟件測(cè)試提高項(xiàng)目的準(zhǔn)確性、完整性、安全性和質(zhì)量。該App在iPadPro 12.9、iOS12環(huán)境下測(cè)試,兼容性良好,運(yùn)行內(nèi)存平穩(wěn),無重大Bug缺陷。
3.1 黑盒測(cè)試
App的黑盒測(cè)試流程如圖7所示。程序接口輸入3D模型和房產(chǎn)數(shù)據(jù)能正確的接受,能輸出正確的房產(chǎn)數(shù)據(jù),該程序樓盤介紹、建筑介紹、戶型介紹與商業(yè)漫游功能都已實(shí)現(xiàn),無數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤和外部信息訪問錯(cuò)誤,性能上滿足要求,無初始化和終止性錯(cuò)誤。
3.2 白盒測(cè)試
App的白盒測(cè)試流程如圖8所示。App利用Swift語言及ARKit框架,編碼標(biāo)準(zhǔn)美觀規(guī)范,數(shù)據(jù)引用無錯(cuò)誤,數(shù)據(jù)聲明無錯(cuò)誤,計(jì)算無錯(cuò)誤,比較無錯(cuò)誤,控制流程無錯(cuò)誤,子程序參數(shù)無錯(cuò)誤,程序內(nèi)部邏輯無錯(cuò)誤。
4 總結(jié)
基于iOS平臺(tái)AR技術(shù)的3D房產(chǎn)App,是ARKit技術(shù)在消費(fèi)領(lǐng)域的一次應(yīng)用嘗試。通過AR技術(shù),幫助開發(fā)商展示一個(gè)虛擬現(xiàn)實(shí)的房產(chǎn)信息,比起單純的圖片與視頻,效果更逼真,交互更友好。同時(shí),為銷售人員和消費(fèi)者之間提供了一個(gè)智能可視化交流平臺(tái),幫助消費(fèi)者快速了房產(chǎn)信息,節(jié)省了介紹和查看房產(chǎn)的時(shí)間和人力成本,為房產(chǎn)事業(yè)的智能可視化邁出了堅(jiān)實(shí)的一步。
參考文獻(xiàn):
[1] Molly Maskrey. 精通iOS開發(fā)[M].8版.北京:人民郵電出版社,2017.
[2] 朱淼良,姚遠(yuǎn),蔣云良.增強(qiáng)現(xiàn)實(shí)綜述[J].中國(guó)圖象圖形學(xué)報(bào),2004,9(7):3-10.
[3] 戴也. 基于ARKit的增強(qiáng)現(xiàn)實(shí)空間交互設(shè)計(jì)及相關(guān)技術(shù)研究[D]. 北京: 北京郵電大學(xué), 2019.
[4] 張益琿.Swift從入門到精通[M].北京:清華大學(xué)出版社,2017.
[5] 徐志剛,胡常英.基于Unity3D的虛擬汽車試驗(yàn)場(chǎng)漫游系統(tǒng)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2019,29(5):112-115.
【通聯(lián)編輯:王力】