999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARKit和SceneKit技術的“思綢”App的設計與實現(xiàn)

2023-11-07 11:35:52王舒鋡侯俐康思為袁義鄧曉軍肖滿生
電腦知識與技術 2023年26期
關鍵詞:用戶模型系統(tǒng)

王舒鋡,侯俐,康思為,袁義,鄧曉軍,肖滿生

(湖南工業(yè)大學計算機學院,湖南株洲 412007)

0 引言

近些年來,從海昏侯墓考古引發(fā)觀展熱潮,到《國家寶藏》等文博節(jié)目的熱播,再到云端博物館的蓬勃發(fā)展,歷史與文化日益“飛入尋常百姓家”,豐富著全社會的文明滋養(yǎng)。其中,絲綢之路文化作為中華傳統(tǒng)文化的重要組成部分,被賦予了更深刻的內涵和更重要的地位,也承載著中國人民與世界之間交流的智慧與情感。

目前,隨著科技手段的不斷發(fā)展,生硬的技術化傳播形式已無法產生良好的文化傳播效果,文化傳播應具有更高的藝術手段和藝術價值,以及良好的實時性、交互性、形式多樣性和內容豐富性[1]。目前,市場上新興的文化傳播類軟件缺乏新穎性且形式單一,文物所涵蓋的歷史底蘊易被忽略,而用戶學習傳統(tǒng)文化的熱情高漲,如何以更具趣味性和交互性的方式傳播歷史文化成為難題。

通過對國內外文獻的查閱和軟件新技術的分析,基于移動端的增強現(xiàn)實技術(Augmented Reality,AR)使文物具有可移動性、可調整性和可互動性。目前,AR 技術已趨于成熟,其環(huán)境探針(Environment Probes) 、平面錨點(AR WorldMap) 和人物遮擋效果(People Occlusion)等功能可以為用戶提供更強的沉浸AR體驗。例如LU Ping等研究了場景視覺感知和AR室內導航應用程序,使室內導航獲得更高的定位精度[2]。Schmalstieg 等演示了多個用戶如何使用不同的交互工具操作共享虛擬場景中的圖形[3]。李丹將基于移動終端的AR 應用和基于移動瀏覽器的Web AR 對比研究,提出基于Native的AR算法實現(xiàn)機制[4]。蔡蘇等研究了增強現(xiàn)實技術在教育中的應用潛力和應用價值[5]。此外,國內關于文化傳播類軟件已有一些相關的研究和應用。例如數(shù)字博物館、暢游絲路、每日故宮和每日環(huán)球展覽等。然而,上述應用在形式、體驗和內容上存在部分問題:1)形式上:現(xiàn)有數(shù)字博物館軟件中的場景和文物趨于平面化;2)體驗上:現(xiàn)有軟件中的場景缺乏互動性,且互動形式較為單一;3)內容上:部分軟件中的信息過于碎片化和單調化,通過長篇大論講述歷史的方式不具備趣味性和可讀性。

針對上述問題,設計并實現(xiàn)一款趣味性強、交互性優(yōu)和功能豐富的傳播絲綢之路歷史文化App 的需求已凸顯。本文詳細介紹了基于iOS的絲綢之路文化傳播軟件的設計與實現(xiàn),軟件采用ARKit 增強現(xiàn)實技術以三維形式呈現(xiàn)文物;SceneKit 全景圖技術使場景以720°全景展示,不受時空的限制,使用戶身臨其境地感受城市場景;ItemCF協(xié)同過濾算法通過收集群體用戶的偏好信息,以達到精準用戶群的推送;PencilKit利用Apple Pencil 實現(xiàn)更具互動性的人機體驗。同時,聚焦“考古+盲盒”、DIY“文物”和IP動畫等創(chuàng)意形式,從用戶角度思考和設計,做到“以思緒暢游歷史,以指尖丈量絲路”。系統(tǒng)可以準確、高效地講好中國故事、描述歷史文化、以沉浸式的全景圖體驗讓用戶“乘興而至,盡興而歸”,有效地傳承和發(fā)揚絲綢之路歷史文化,不斷增強中華文明傳播力影響力。

1 系統(tǒng)架構

系統(tǒng)架構的詳細設計如圖1 所示,系統(tǒng)架構主要分為三層,自上而下依次為業(yè)務層、工具層和SDK層。業(yè)務層主要包括業(yè)務模塊與業(yè)務數(shù)據(jù),主要負責對業(yè)務模塊和業(yè)務數(shù)據(jù)的封裝;工具層主要包括JSON 文件、緩存信息和模型封裝,主要負責對系統(tǒng)組件的封裝;SDK層則負責管理系統(tǒng)API。

業(yè)務層內部分別定義了自己的消息代理、實現(xiàn)內部和外部的消息通信處理。業(yè)務層的業(yè)務模塊主要包括每日學習模塊、盲盒收集模塊、寓教于樂模塊和個人勛章模塊。業(yè)務層的業(yè)務數(shù)據(jù)主要包括文物數(shù)據(jù)、城市數(shù)據(jù)、答題數(shù)據(jù)、遮罩數(shù)據(jù)。業(yè)務層子模塊內部職責劃分為:模型(Model)、視圖(View)、控制器(Controller)。

模型包括文物數(shù)據(jù)模型、城市數(shù)據(jù)模型和遮罩數(shù)據(jù)模型等。模型將數(shù)據(jù)和操作進行抽象和封裝,以供視圖的查詢和更新,管理業(yè)務邏輯。視圖包括沿途故事視圖、文物預覽視圖和城市介紹視圖等。視圖用于渲染App的各級界面,模型與視圖之間是一對多的關系。控制器包括地圖控制器、城市控制器和AR 文物控制器等。控制器用于了解用戶與視圖之間的交互信息,并將之標準化為業(yè)務事件來提供模型,促使模型對程序動作進行輸出,最終選擇某個視圖來更新用戶數(shù)據(jù)[6]。

系統(tǒng)使用UIKit 框架,它為實施界面提供了窗口和視圖架構,用于向App提供多點觸控和其他類型的輸入事件處理。前端基于MVC 設計模式,部分數(shù)據(jù)源視圖控件具有dataSource 屬性,數(shù)據(jù)源通過與控制器交互,從定義的數(shù)據(jù)模型中,間接地獲取數(shù)據(jù),從而實現(xiàn)了業(yè)務分離,降低代碼之間的耦合性。利用JSON 文件存儲數(shù)據(jù),每個數(shù)據(jù)由key:value 鍵值對組成,采用SwiftyJSON解析JSON數(shù)據(jù)。

圖1 系統(tǒng)架構圖

2 系統(tǒng)設計

2.1 系統(tǒng)結構設計

系統(tǒng)主要包括每日學習模塊、盲盒收集模塊、寓教于樂模塊和個人勛章模塊四大功能模塊,其結構設計圖如圖2所示。

2.2 功能模塊設計

根據(jù)需求分析、競品分析和用戶調研明確了系統(tǒng)的各個模塊及功能。

圖2 系統(tǒng)結構圖

1)每日學習模塊。運用ItemCf協(xié)同過濾算法,預測用戶的個人偏好,并根據(jù)用戶的歷史行為為用戶生成學習資料列表。學習資料以西安、蘭州、西寧、敦煌和烏魯木齊五大城市為主體,圍繞出土文物信息、城市風光、歷史文化等進行展示和學習。學習模塊設置了答題功能,答對一定數(shù)量的題目之后即可獲得該城市的絲綢勛章。為增強用戶體驗感,在進入頁面時使用AVPlayer設置IP動畫引導,在幫助用戶快速了解軟件的同時,增強用戶吸收知識和了解世界的趣味性。

2)盲盒收集模塊。此模塊是系統(tǒng)的主要功能模塊,通過疊加視圖和UIResponder 監(jiān)測觸摸事件繪制絲綢之路地圖,地圖分布著五個絲綢之路重要城市,通過選擇場景,進入全景圖模式。系統(tǒng)采用陀螺儀、SceneKit全景圖技術將絲綢之路的沿岸風光展現(xiàn)給用戶,盲盒利用視覺延伸效果,讓二維平面圖在視覺上呈現(xiàn)出立體感,將盲盒藏在全景圖中,用戶在領略場景的同時可尋找并收集盲盒。盲盒中可解鎖AR文物或絲綢之路沿途小故事,讓用戶以更具互動性的方式了解絲綢之路的前世今生。同時,為了使系統(tǒng)的互動性更強且文物展示不趨于平面化,使用Object Capture進行文物3D 建模,ARKit 增強現(xiàn)實技術呈現(xiàn)文物,同時使用了ARKit 中的環(huán)境探針、平面錨點和人物遮擋等功能優(yōu)化文物擺放。從“口傳心授”到“身臨其境”,以嶄新的視角和跨越時空的交流聯(lián)結歷史與現(xiàn)實。

3)寓教于樂模塊。運用PencilKit技術使用Apple Pencil,以刮畫的形式展開DIY“文物”,以保留用戶在探索絲綢之路過程中迸發(fā)出的靈感。通過筆下細致地描繪與記錄,在激發(fā)創(chuàng)造思維的同時提高用戶的繪畫和動手能力。

4)個人勛章模塊。在每日學習模塊中學習并完成答題后即可獲得該城市的絲綢勛章,絲綢勛章和用戶基本信息等在本模塊顯示。為了保護個人的安全隱私,本模塊不獲取用戶個人信息。

3 關鍵技術

3.1 SceneKit渲染全景圖

SceneKit是一個高級的3D圖形框架,它將高性能渲染引擎與描述性API 相結合,用于導入、操作和渲染3D圖片,幫助開發(fā)者在應用程序中創(chuàng)建3D動畫場景和效果[7]。系統(tǒng)使用SceneKit技術將3D模型渲染集成至項目工程中,設計并實現(xiàn)了以下功能:1)查看3D全景圖;2)手勢滑動;3)陀螺儀。其中,3D 全景圖模擬了絲綢之路五大城市的沿途場景,陀螺儀使場景角度跟隨手機移動,以沉浸式的體驗將用戶帶入絲綢之路中。

ScencKit 使用SCNRender 渲染OpenGL 渲染器。全景圖可被視為一張球形圖片,若展示在平面上,則無法識別,當圖片渲染到球體,并從中心觀察球體上某一區(qū)域時,即可被識別。全景圖的播放原理如圖3所示,將圖片渲染至球體模型內表面,智能手機處于球體中心,當旋轉智能手機的時候,球體向相反的方向旋轉,通過這種方式就可以看到球體上的畫面。

圖3 全景圖渲染原理圖

系統(tǒng)使用SceneKit 將圖片渲染到球體模型上,渲染原理如4所示。首先,生成頂點數(shù)據(jù),即球面上點坐標的數(shù)據(jù)。球體中的3D 物體都由三角形構成的,構建一個球體只需要利用球坐標系中的經度角φ、緯度角θ和半徑r來計算球面點的三維坐標。最后,這些坐標點構成許多小矩形,每個矩形可以分成2 個三角形。

圖4 圖片繪制到球體原理圖

在圖4 的直角坐標系中,利用經度角φ、緯度角θ和半徑r即可得到球面點坐標(x,y,z)的計算如式(1)所示:

但由于渲染時,圖片渲染在球體的外表面,而智能手機處于球體中心,所以需對渲染的圖片位置進行處理,處理代碼如下所示:

將圖形渲染到模型后,添加相機實現(xiàn)可視。SCNCamera 是SceneKit 中的相機屬性,可以連接到節(jié)點,為顯示場景提供視角。系統(tǒng)將SCNCamera相機添加到球體中心,設置觀察區(qū)域。此時,當調整照相機觀察的角度或旋轉照相機,觀察區(qū)域會隨之改變,這樣即可實現(xiàn)用戶與全景圖的交互。

SCNCamera 對象本身定義了渲染場景的形狀和外觀。默認情況下,相機定義透視投影,其視(FOV)以及近距離(Near) 和遠距離(Far) 的可見性將限制開發(fā)者調整相機透視中的屬性,如圖5所示。

圖5 相機坐標系和投影參數(shù)圖

通過觀察xFov 和yFov 可知,視角越大,屏幕上顯示的體積越小;根據(jù)focusDistance可知焦距越大,視角越小。

3.2 Object Capture建立3D模型

Object Capture 主要包括設置和構建兩方面。設置包括創(chuàng)建Photogrammetry session,通過信息流發(fā)送的回調信息進行監(jiān)聽,監(jiān)測其狀態(tài)和錯誤等。構建即利用session調用構建方法并發(fā)起請求。

系統(tǒng)使用CaptureSample中的相機捕捉以收集3D模型的全方位圖像,相機不是圍繞光學中心旋轉,而是使用相機從不同角度獲取模型的圖像,根據(jù)其立體深度數(shù)據(jù)計算模型的立體信息,復原物體的真實尺寸,并利用重力方向自動讓模型朝上。同時,利用HelloPhotogrammetry 命令行,在圖片文件中創(chuàng)建并導出3D 模型。導出的模型共有三種格式:USDZ、USDA和OBJ,系統(tǒng)使用USDZ(Universal Scene Description)格式,USDZ是Apple與皮克斯共同研發(fā)的USD格式基礎上的AR 素材存儲格式。導出USDZ 模型后,利用Xcode 內置的Reality Composer 為3D 模型構建場景、添加交互動作等。

以文物模型為例建立3D 模型,系統(tǒng)將完成以下步驟:

1)利用CaptureSample 中的相機拍攝文物模型的全方位圖像;

2)確定屏幕坐標系,將得到的圖像進行處理;

3)利用HelloPhotogrammetry 命令行,創(chuàng)建三維文物模型;

4)導出USDZ格式的三維文物模型;

5) 使用RealityComposer 為三維文物模型添加交互動作。

3.3 ARKit增強現(xiàn)實

ARKit 框架通過集成iOS 設備攝像頭和運動功能,在應用程序中產生增強現(xiàn)實體驗。它是一種巧妙地將虛擬信息與現(xiàn)實世界相結合的技術,被廣泛使用于多媒體、三維建模、智能交互、傳感等技術手段,將文本、圖像、視頻和三維模型等計算機生成的虛擬信息模擬到現(xiàn)實世界中,這兩種類型的信息相互補充,以實現(xiàn)對現(xiàn)實世界的“增強”[8]。

AR 從其技術手段和表現(xiàn)形式上,可以分為兩類,分別是基于計算機視覺的AR 和基于地理位置信息的AR。系統(tǒng)采用基于計算機視覺的AR技術,利用計算機視覺收集的信息來模擬和重新輸出人的視覺感受,以便將虛擬信息與真實信息疊加,并為人提供超越現(xiàn)實世界感受的視覺效果[9]。它的實現(xiàn)方法如圖6所示。首先將預制的標志物放入真實場景中,用于確定真實場景中的平面。通過攝像頭對其進行識別和姿態(tài)評估,將標志物的中心設置為標志坐標系的原點。從標志坐標系到真實的屏幕坐標系的轉換需要旋轉平移到攝像頭坐標系,再從攝像頭坐標系映射到屏幕坐標系。

屏幕坐標系是以智能手機屏幕為軸線建立的坐標系。通過標志坐標系和屏幕坐標系之間的差別變換,建立兩個坐標系之間的映射關系。根據(jù)差別變換,在屏幕坐標系上繪制的圖形可以實現(xiàn)附加在標志物上的圖形的效果。

圖6 基于計算機視覺的AR原理圖

iOS 平臺的AR 應用通常由ARKit 和渲染引擎組成。ARKit 是連接現(xiàn)實世界與虛擬世界之間的橋梁,渲染引擎則是將虛擬世界的內容渲染到屏幕上。系統(tǒng)使用Object Capture 建立三維文物模型,模型的外觀、尺寸、紋理等都根據(jù)實際的文物設計;使用ARKit增強現(xiàn)實技術向用戶展示文物,用戶可以通過各種方式與文物互動,比如移動、旋轉、放大和縮小等[10]。

在AR 增強現(xiàn)實環(huán)境中,為了給用戶帶來更沉浸式的體驗,應確保虛擬文物在移動、旋轉和放大縮小時能夠有適應視覺的速度和虛擬成像,以滿足用戶的交互體驗。防止因速度過快或過慢導致成像不清晰、文物移動到屏幕外、高速旋轉等問題。

如圖7所示,假設與旋轉軸同向的單位向量是,旋轉前向量是,θ是繞經過逆時針方向旋轉的角度,根據(jù)羅德里格旋轉公式[11]可以得到旋轉后的向量ot。

圖7 旋轉速率計算圖

首先對v→做正交分解如式(2),之后根據(jù)向量三重積展開公式得到的垂直向量。

圖中給出的幾何關系如式(3)所示:

根據(jù)以上關系式可以得出v→rot的垂直向量如式(4)所示:

當文物的旋轉速度、速率和其他物理特征異常時,系統(tǒng)將及時響應并處理。系統(tǒng)通過AR 互動展示將古代展品帶到身邊,讓古代壁畫和器具都能利用AR 增強現(xiàn)實技術動態(tài)呈現(xiàn),打破了時間和空間的限制,滿足用戶游覽、欣賞和研究的需求。

4 系統(tǒng)實現(xiàn)與應用部署

4.1 系統(tǒng)主要功能的實現(xiàn)

當用戶進入盲盒收集模塊時,會顯示出一張陸上絲綢之路地圖,如圖8(a)所示,地圖上分布著絲綢之路沿途的重要城市,用戶可通過選擇城市進入該城市的全景圖模式。全景圖界面如圖8(b)所示,進入全景圖后可通過旋轉智能手機或滑動界面來切換視角,尋找并收集盲盒,系統(tǒng)使用智能手機旋轉的角度或手指移動的距離,以表示視角在三維空間中的旋轉,從而實現(xiàn)陀螺儀、手勢滑動等功能。

圖8 盲盒收集模塊界面

盲盒隨機散列在全景圖中,收集并打開盲盒后,將隨機展示絲綢之路歷史文化或AR文物,若為AR文物展示,則可直接預覽文物、查看文物介紹,或進入AR 體驗。虛擬文物模型主要使用了ARKit 技術和三維建模技術,使用Object Capture技術建立文物的三維模型,生成usdz 文件,投入項目使用。基于本文章節(jié)4.3 引入的基于計算機視覺的AR 技術,利用ARKit 掃描用戶周圍的平面,選擇平面后利用平面錨點將虛擬文物添加到平面上,并為文物添加交互。實際效果如圖9(a)和圖9(b)所示,分別展示了西漢漆繪帶蓋陶鈁和鎏金鏨花銅函的三維模型。

圖9 文物三維模型

4.2 系統(tǒng)的應用

目前該款App已上架至Apple App Store供用戶下載,且被App Store 推薦至Today 模塊。在開發(fā)后期,軟件上架到TestFlight進行功能測試、內測預熱。通過用戶調研收集到部分用戶的反饋意見,根據(jù)意見和評論,將軟件充分調整和完善。目前,軟件適配iPad 和iPhone端。

在系統(tǒng)編碼實現(xiàn)階段,不僅使用了iOS 原生開發(fā)技術,還運用了最新的ARKit 6 和SceneKit 技術。例如,在定位虛擬文物模型時使用了ARKit 6 中的平面錨點和環(huán)境探針技術,在虛擬文物模型的交互中使用到了人物遮擋效果,通過Object Capture工具生成了虛擬文物模型。在檢測系統(tǒng)功能方面符合預期目標,經過大量的測試和驗證,完成了一定程度上的優(yōu)化。

5 結束語

本文基于SceneKit與ARKit6兩項技術,設計并且實現(xiàn)了基于iOS平臺的絲綢之路文化傳播軟件。軟件采用業(yè)務層、工具層和SDK層三層架構、UIKit框架與MVC 設計模式,利用ItemCF 協(xié)同過濾算法智能針對用戶智能推送各地區(qū)的歷史文化資料,SceneKit 全景圖技術模擬絲綢之路的沿途場景,通過Object Capture技術創(chuàng)建三維文物模型,ARKit6實現(xiàn)用戶與三維文物的交互。

系統(tǒng)著重突出創(chuàng)意性、科技性和趣味性,聚焦“考古+盲盒”創(chuàng)意形式,做到“以思緒暢游歷史,以指尖丈量絲路”,使用戶足不出戶即可身臨其境地感受絲綢之路宏偉壯闊的場景,通過虛擬與現(xiàn)實的聯(lián)結,讓文物和場景都活起來,擺脫了傳統(tǒng)學習歷史文化的方式,更具趣味性,增強了用戶的交互體驗感。綜合體現(xiàn)了歷史文化價值以及民族美學藝術。

猜你喜歡
用戶模型系統(tǒng)
一半模型
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 91亚洲国产视频| 久久青草精品一区二区三区| 久久人搡人人玩人妻精品| 日韩高清欧美| 亚洲精品黄| 日韩国产精品无码一区二区三区| 麻豆精品国产自产在线| 无码AV高清毛片中国一级毛片 | 国产超薄肉色丝袜网站| 内射人妻无码色AV天堂| 国产欧美日韩91| 日本欧美视频在线观看| 黄色成年视频| 久久不卡精品| 国产成人精品在线| 久久精品这里只有精99品| 亚洲国产无码有码| 最新国产高清在线| 欧美国产综合视频| 国产网友愉拍精品| 国产视频入口| 国产欧美综合在线观看第七页| 国产精品永久在线| 黄色网址免费在线| 国产精品密蕾丝视频| 亚洲男人天堂2018| 国产成人1024精品| 日韩欧美国产三级| 无遮挡国产高潮视频免费观看| 亚洲欧洲日产无码AV| 国产男人天堂| 亚洲男女在线| 色综合久久88| 欧美色香蕉| 亚洲一区二区三区中文字幕5566| 亚洲国产日韩视频观看| 九九九精品视频| 四虎永久免费地址| a毛片免费观看| 一级一毛片a级毛片| 五月婷婷欧美| 国产精品不卡永久免费| 亚洲国产精品一区二区第一页免 | 欧美性猛交一区二区三区| 91综合色区亚洲熟妇p| 97国内精品久久久久不卡| 免费国产一级 片内射老| 黄色在线网| 久草视频精品| 凹凸国产分类在线观看| 国产午夜一级毛片| 亚洲精品在线91| 日韩精品高清自在线| 亚洲日韩精品综合在线一区二区| 日韩毛片免费观看| 午夜无码一区二区三区| 99久久精品久久久久久婷婷| 久久久久久久久久国产精品| 亚洲天堂视频在线免费观看| 成年免费在线观看| 在线观看热码亚洲av每日更新| 亚洲黄色成人| 99精品免费在线| 国产一级妓女av网站| YW尤物AV无码国产在线观看| 黄色不卡视频| 毛片卡一卡二| 亚洲熟女中文字幕男人总站| 欧美三级日韩三级| 精品国产自在在线在线观看| 日韩中文无码av超清| 伦精品一区二区三区视频| 亚州AV秘 一区二区三区| 亚洲男人的天堂网| 欧美在线视频不卡第一页| 性色一区| 无码AV高清毛片中国一级毛片| 午夜a级毛片| 亚洲天堂777| 亚洲人成网18禁| 国产精品3p视频| 久久伊伊香蕉综合精品|