曲蘊慧,白新國
(1.西安醫(yī)學院計算機教研室,陜西西安 710021;2.西安工程大學計算機科學與技術學院,陜西西安 710048)
虛擬現(xiàn)實技術是一種能夠創(chuàng)造和體驗虛擬世界的計算機模擬仿真系統(tǒng),虛擬現(xiàn)實技術以體感設備、虛擬現(xiàn)實設備、頭戴式眼鏡等為代表,包括互動設備、互動資源和互動內容,聲音、文字、動畫、圖形和視頻是最早的互動媒體形式,存在著獨立自主教學的問題[1-2]。現(xiàn)代的虛擬現(xiàn)實技術所支持的教學過程具有整合多種媒體資源的獨特優(yōu)勢,通過較強的感官沉浸再到意識沉浸,提高了學生的學習積極性,并能夠為學生提供真實的學習體驗,促進學生強化所學知識和技能[3-5]。隨著互聯(lián)網(wǎng)技術的不斷發(fā)展和虛擬現(xiàn)實技術的成熟,越來越多的商業(yè)機構正在考慮采用虛擬現(xiàn)實技術以擴大其業(yè)務影響,該文以天文實驗室和太陽系為研究對象,借助Unity3D 平臺開發(fā)了一款功能較為完善且具有一定可行性的虛擬天文實驗室交互系統(tǒng),使用戶對天文學有更直觀的了解[6-9]。
該系統(tǒng)為虛擬仿真系統(tǒng)。首先太陽系場景要做到仿真,包括每個星體的貼圖處理、針對不同的星體搭建不同的模型、太陽的發(fā)光及點光源設置,以及個別星體區(qū)別于其他星體的轉動方向。但區(qū)別于現(xiàn)實太陽系,星體的大小并未與現(xiàn)實成比例縮放,而是最大限度保持每個行星的大小比,這樣能夠呈現(xiàn)較好的觀感;設置適合使用者觀看的速度,從而提供一個較為便捷的虛擬太陽系平臺[10-11]。
系統(tǒng)整體流程:首先直接到天文實驗室界面,其次在天文實驗室界面中可以選擇進入漫游實驗室、漫游太陽系、太陽系小測驗以及觀看月相。選擇進入漫游太陽系后會進入到子界面,也就是太陽系界面,此時可以選擇漫游太陽系和進入單個星體介紹界面,進入到單個星體介紹界面時可以選擇3D 查看、基本介紹、特征數(shù)據(jù)以及圖片展示;選擇進入太陽系小測驗之后會直接進入測驗界面;選擇進入觀看月相界面后就可以開始觀察,然后可選擇開始測驗進入測驗界面。每個界面設有返回按鈕可回到上一層級,最終需要回到開始界面方可退出系統(tǒng),系統(tǒng)總體架構如圖1 所示。
圖1 系統(tǒng)總體架構
該系統(tǒng)場景由6 個大模塊組成:系統(tǒng)入口、天文實驗室場景界面、漫游太陽系界面、單個星體介紹界面、太陽系小測驗界面、觀看月相界面,系統(tǒng)功能模塊如圖2 所示。
圖2 系統(tǒng)功能模塊
1.2.1 天文實驗室場景設計
從系統(tǒng)入口進入之后呈現(xiàn)的是天文實驗室場景,可以通過鍵盤和鼠標的操作來漫游此場景,也可以放大或縮小視角,輕松查看墻壁上的貼圖以及實驗室內部細節(jié),并且在此場景中設有跳轉到其他場景的物件:3 個電子屏,點擊即可跳轉至其他場景。此場景中還設有很多非交互的物件模型供參觀,如:地球儀、望遠鏡、海報等。天文實驗室場景包括漫游實驗室、漫游太陽系界面、太陽系小測驗界面和觀看月相界面、實驗室內部組成各模型以及提示信息和返回的GUI,結構如圖3 所示。
圖3 天文實驗室場景結構
1.2.2 漫游太陽系場景設計
通過點擊天文實驗室場景中的電子屏進入到太陽系場景,在其中可以通過鍵盤、鼠標及鼠標滾輪來控制太陽系中的漫游。在漫游時可以通過點擊某個星體進入到單個星體介紹界面。漫游太陽系場景包括漫游太陽系以及單個星體介紹界面,結構如圖4所示。
圖4 漫游太陽系場景結構
1.2.3 單個星體交互設計
在單個星體介紹界面中可以鼠標自由點擊拖拽360°查看當前星體,同時界面中設有3 個GUI 圖標,分別點擊可以查看星體簡介、星體參數(shù)以及星體圖片。單個星體介紹場景包括轉動查看星體、星體簡介、星體參數(shù)、星體圖片的GUI,結構如圖5 所示。
圖5 單個星體交互結構
1.2.4 太陽系小測驗功能設計
在天文實驗室場景中可以點擊另一個電子屏跳轉到太陽系小測驗游戲的場景,用來檢驗在太陽系場景中學習后是否對太陽系有更多的認知。測驗通過鼠標拖拽圖片完成,并且界面中含有文字提示信息,提示使用者正確完成測驗。太陽系小測驗場景包括改變排列順序游戲、文字提示、圖片的GUI、查看3D 星體,結構如圖6 所示。
圖6 太陽系小測驗功能結構
1.2.5 觀看月相場景設計
天文實驗室場景中點擊最后一個電子屏即可跳轉到觀看月相界面。界面中含有月相動態(tài)演示,使用者可在此處觀看月相演示進行學習,并在學習完畢后點擊小測試做選擇題來檢驗學習是否合格。界面中包含文字提示信息和圖片信息。觀看月相場景包括月相動態(tài)演示、選擇題、文字提示、圖片的GUI,結構如圖7 所示。
圖7 觀看月相場景功能結構
天文實驗室需要模擬出太陽系星體的自轉和公轉,所以給每個星體都要加上自轉和公轉的代碼,首先設定各個星體公轉的圓心,除了太陽自身和月亮之外的星體公轉圓心都是太陽,然后設定公轉和自轉的速度,天文實驗場景如圖8 所示。
圖8 天文實驗室場景
2.2.1 跳轉場景
當鼠標放置在按鈕上時按鈕變大,離開后恢復,這里用如下代碼來控制:
系統(tǒng)中包含很多不同的場景來放置星體等,所以運用到場景跳轉的次數(shù)也很多,并且每個跳轉的目標場景都不盡相同。這里包括兩種方式:一是點擊按鈕跳轉場景,主要用在開始按鈕、返回按鈕和繼續(xù)按鈕上;二是點擊物體跳轉場景,主要用于太陽系場景中點擊星體查看單個星體介紹,最后將不同的代碼掛載到不同的按鈕和物體上就可以實現(xiàn)鼠標點擊按鈕后跳轉場景。點擊按鈕跳轉場景的主要代碼如下:
點擊物體跳轉的主要代碼:
2.2.2 自由旋轉與縮放
在太陽系漫游場景中點擊某星體進入單個星體介紹界面后,可以直接通過拖動鼠標對星體進行360°查看。還有在太陽系小測驗場景中,可以通過鼠標拖動查看星體來幫助回憶內容從而完成小測驗。實現(xiàn)過程:新建一個腳本,寫一段代碼用來判斷鼠標是否在被旋轉物體上,按下之后執(zhí)行物體旋轉,抬起后停止。將代碼掛到目標星體上后,選擇目標,也就是此星體,設置旋轉速度不要過大即可。主要代碼如下:
2.2.3 拖拽排序
太陽系小測驗中需要讓使用者對星體進行拖拽換位來完成排序,這里用到的概念類似于拼圖游戲:當拼圖完全正確時才顯示游戲成功。在Canvas 下新建一個Panel 作為背景,將提前制作好的方框圖片掛上去。為Panel 添加Grid Layout Group 組件,并添加Image Creater 腳本[12],將Size 設為8 之后就可以用來生成圖片了。由于需要給8 個星體排序,這里對Cell進行預設,作為備用。對Image Creater 添加元素,將Element 0 到Element 7 分別掛上星體圖片,點擊Sprite Editor,按照分辨率對圖片進行拆分,這樣小測驗的模板就完成了。最后為Panel 和Image 分別添加腳本,再新建一個Game Manager 腳本,用來實現(xiàn)每次打開后隨機生成圖片順序,如圖9 所示。
圖9 天文實驗室測試排序
2.2.4 沉浸漫游
天文實驗室漫游可以真實地展示實驗室的細節(jié),包括桌椅、地球儀等小物體,還有在漫游時可以近距離觀察墻壁上的貼圖、室內陳列等。在天文實驗室場景中實現(xiàn)的漫游是由鍵盤的W、A、S、D 4 個鍵和鼠標右鍵來控制?!癢”鍵控制前進、“S”鍵控制后退、“A”鍵控制向左移動、“D”鍵控制向右移動、鼠標右鍵控制旋轉。在太陽系場景中添加漫游的功能可以讓使用者自由穿梭于太陽系星體當中,觀察星體的運行方式、運行速度和特點,增強對太陽系的認知。星空漫游如圖10 所示。
圖10 星空漫游
點擊ENTER 按鈕開始系統(tǒng)展示。點擊電子屏“漫游太陽系”進入到太陽系場景,單擊任意星球進入此星體介紹界面。點擊圖標可以查看詳細資料,返回到實驗室中。點擊電子屏“太陽系小測驗”進入測驗場景,每次進入小測驗時系統(tǒng)對星體圖片的排列順序不同,都會隨機排列。點擊“觀看月相”進入場景,可以觀看右側持續(xù)播放的動態(tài)月相和左側地球實時視角。觀看完畢后可以點擊測試進入到選擇題測試場景。
該系統(tǒng)經(jīng)測試后可以實現(xiàn)初期設計的交互功能,支持PC 端操作,可以使用鍵盤和鼠標同時操作完成交互功能。系統(tǒng)包括可漫游的虛擬天文實驗室和仿真太陽系以及具有交互功能的兩個小測驗,可以為學生、天文學習者、愛好者提供一個虛擬平臺,讓其擁有沉浸式體驗,并且可以作為天文學習道路上的一個輔助工具,幫助他們進行更深層次的研究。
該文主要研究了基于Unity3D 的虛擬天文實驗室交互式系統(tǒng)的設計與開發(fā)。主要設計流程包括繪制整體模型草圖、模型的搭建、交互的實現(xiàn)和系統(tǒng)模型的展示。該系統(tǒng)的開發(fā)過程中,由于單純的一個太陽系交互學習系統(tǒng)較為單調,所以在系統(tǒng)中增加了針對太陽系交互學習之后的小測驗環(huán)節(jié),包括太陽系星體排序和觀看月相。為了建造一個虛擬仿真的天文實驗室模型,搭建了不少為其增添色彩的小物件模型:地球儀、望遠鏡、書本等,更能突顯天文實驗室的真實感,讓使用者有身臨其境的體驗。為了能根據(jù)不同場景實現(xiàn)不同的漫游視角并增加交互的趣味性,天文實驗室的漫游交互基本靠鍵盤來實現(xiàn),太陽系的漫游交互基本靠鼠標來實現(xiàn)。3D 交互學習系統(tǒng)可提高學生的學習興趣,降低訓練成本,促進師生的教學互動,有助于學生“身臨其境”地感受所學知識的環(huán)境,對提高教學效果具有重要的意義[13-15]。
當前虛擬現(xiàn)實交互技術的研究在不斷更新,社會對于虛擬現(xiàn)實交互技術的關注度越來越高。隨著虛擬科技的進一步開發(fā)與進步,它一定能夠為人們的日常生活帶來更多的便捷,并使人們的生活更加科技化、智能化[16]。