氣象科普體感游戲開發(fā)與設(shè)計(jì)
前言
每年我國(guó)因氣象災(zāi)害而造成的經(jīng)濟(jì)損失高達(dá)2000-3000億元人民幣。如何有效地進(jìn)行氣象知識(shí)普及,提高社會(huì)民眾氣象防災(zāi)減災(zāi)意識(shí)十分必要。然而,傳統(tǒng)的氣象科普方式往往存在一定的局限性,難以激發(fā)公眾主動(dòng)參與、學(xué)習(xí)和探索的熱情,氣象科普預(yù)期目標(biāo)難以實(shí)現(xiàn)。基于我國(guó)氣象知識(shí)普及率不高的現(xiàn)狀,氣象科普方式進(jìn)行創(chuàng)新勢(shì)在必行,在科普形式的互動(dòng)性、新穎性和娛樂性等方面進(jìn)行體感交互設(shè)計(jì),使“被動(dòng)科普” 轉(zhuǎn)變?yōu)?“主動(dòng)科普” 。其中,體感游戲是體感交互很好的表達(dá)方式。體感游戲的出現(xiàn)為氣象科普增添了新的形式。體感游戲是一種通過人的肢體動(dòng)作進(jìn)行操作的新型電子游戲,無需鍵盤、鼠標(biāo)等設(shè)備,人們用肢體進(jìn)行各種動(dòng)作,就能夠與周邊的某種裝置或環(huán)境產(chǎn)生互動(dòng),人機(jī)融為一體,讓玩家得到身臨其境的游戲體驗(yàn)。目前我國(guó)尚無氣象科普相關(guān)的體感游戲,如用體感游戲傳載氣象科普的內(nèi)容,將不失為氣象科普形式的一種創(chuàng)新嘗試。
1、氣象科普體感游戲的可行性
1.1、體感設(shè)備分析
隨著數(shù)字媒體技術(shù)的迅猛發(fā)展,人機(jī)交互趨向于自然的交互方式。利用計(jì)算機(jī)圖形學(xué)技術(shù),把體感傳感設(shè)備采集的信息轉(zhuǎn)化為骨骼節(jié)點(diǎn)數(shù)據(jù),再將這些數(shù)據(jù)導(dǎo)入到計(jì)算機(jī),最終實(shí)現(xiàn)人們可以通過肢體動(dòng)作與計(jì)算機(jī)終端的交互從而實(shí)現(xiàn)某種功能。Wii、Kinect、Xbox360等體感設(shè)備,可以捕捉人體的軀干動(dòng)作,例如彈跳、揮手、彎腰等行為,將其信號(hào)反饋給計(jì)算機(jī)進(jìn)行相關(guān)互動(dòng)。氣象科普游戲可以通過不同動(dòng)作進(jìn)行氣候轉(zhuǎn)換。前不久面世的 Kinect2可以識(shí)別人臉面部表情,氣象科普游戲可利用面部表情的變化來實(shí)現(xiàn)游戲內(nèi)氣象的變化,譬如微笑可以轉(zhuǎn)變?yōu)榍缣?,沮喪可以轉(zhuǎn)變?yōu)殛幪斓?。如今,Leap Motion等手勢(shì)識(shí)別設(shè)備靈敏度大大增強(qiáng),人們可以通過簡(jiǎn)單的手勢(shì)去實(shí)現(xiàn)與電腦的互動(dòng)。它的出現(xiàn)使基于手勢(shì)的體感交互成為可能,人機(jī)交互中充分發(fā)揮手的靈巧性,交互更自然??梢杂煤?jiǎn)單的手勢(shì)實(shí)現(xiàn)氣象元素強(qiáng)度和方向的變化。例如,用手所指方向表示風(fēng)向,伸出的手指數(shù)表達(dá)風(fēng)力等。在LeapMotion發(fā)布同年,Oculus Rift VR公司發(fā)布了虛擬現(xiàn)實(shí)頭盔——OculusRift。Oculus Rift是一款具有代表意義的頭戴式全景頭盔,該設(shè)備中安裝有可以控制視角的陀螺儀,可大幅度地提升玩家的游戲沉浸感。通過此設(shè)備,人們不再需要通過裸眼3D技術(shù),便可直觀地獲得在3D游戲環(huán)境中最好的體驗(yàn)。與Leap Motion以及Oculus Rift不同,Arduino在氣象科普游戲中為輸出設(shè)備。Arduino是一款對(duì)用戶開源的電子平臺(tái)。使用者可以通過使用Arduino IDE對(duì)Arduino編寫代碼。Arduino可以通過電腦給出的指令,完成亮燈、放音樂、開啟風(fēng)扇等一系列功能,也可通過按鈕、光敏電阻、熱敏電阻等一系列的傳感器對(duì)計(jì)算機(jī)進(jìn)行反饋。在氣象科普游中,玩家可以通過選擇不同的氣象,控制不同的天氣等級(jí),從而使電腦將信號(hào)發(fā)送給Arduino,觸發(fā)一些開關(guān)。例如,玩家選擇風(fēng),隨后Arduino將打開風(fēng)扇開關(guān)并控制風(fēng)扇轉(zhuǎn)速,讓玩家感受到相應(yīng)風(fēng)力。
1.2、軟件技術(shù)分析
Unity3D作為一款游戲引擎,可以讓使用者輕松簡(jiǎn)單地構(gòu)建各類游戲、建筑動(dòng)畫等內(nèi)容,是款多平臺(tái)的游戲開發(fā)工具。此引擎不但可以發(fā)布Windows系統(tǒng)的游戲,還可發(fā)布到IOS、Linux等操作系統(tǒng)環(huán)境中,甚至可以跨平臺(tái)地與手機(jī)、Play Station、XBOX360等設(shè)備無縫對(duì)接。Unity3D是可以構(gòu)建體感交互氣象科普游戲較為理想的交互平臺(tái)。通過計(jì)算機(jī)語言的輔助,Unity3D可與諸多的體感交互設(shè)備,如: Leap Motion、Kinect等設(shè)備相結(jié)合,從而開發(fā)不同以往的具有多感官的體感交互游戲。在Unity3D中,主要使用的腳本語言有C#、JavaScript以及Boo等。C#語言在C語言、C++語言和JAVA語言的基礎(chǔ)上發(fā)展而來,其編寫方式更為簡(jiǎn)單,最被現(xiàn)代研發(fā)者青睞。以C#語言為橋梁,Unity3D連接了LeapMotion、網(wǎng)絡(luò)攝像頭等交互設(shè)備,實(shí)現(xiàn)了手勢(shì)操作、增強(qiáng)現(xiàn)實(shí)等多感官的游戲互動(dòng)體驗(yàn),從而使人們獲得了更為直觀、身臨其境的感受。當(dāng)玩家做出象征氣象等級(jí)的手勢(shì) “數(shù)字1” 時(shí),Unity3D引擎根據(jù)Leap Motion體感交互設(shè)備以及C#語言對(duì)相關(guān)手勢(shì)進(jìn)行識(shí)別,隨后氣象科普游戲中產(chǎn)生與手勢(shì) “數(shù)字1” 相對(duì)應(yīng)的一級(jí)降雪、降雨或刮風(fēng)等氣候現(xiàn)象,使人們實(shí)時(shí)地、更為簡(jiǎn)便、直觀地了解氣象知識(shí)。
2、氣象科普體感游戲設(shè)計(jì)的程序
2.1、場(chǎng)景模型構(gòu)建
通過3D建模的方式實(shí)現(xiàn)場(chǎng)景以及天氣的構(gòu)建。建模采用3Ds Max軟件以及Unity3D中的Particle System。場(chǎng)景空間部分利用3Ds Max軟件完成。由于氣象科普游戲應(yīng)遵循科普的科學(xué)性,游戲場(chǎng)景應(yīng)當(dāng)使用寫實(shí)風(fēng)格??墒?,過于寫的游戲模型往往會(huì)出現(xiàn)模型細(xì)節(jié)過多、游戲內(nèi)存過大的問題。為了避免玩家與電腦產(chǎn)生交互時(shí)會(huì)出現(xiàn)卡頓的現(xiàn)象,場(chǎng)景空間部分的建模應(yīng)當(dāng)采用低面建模的方法,通過材質(zhì)貼圖來彌補(bǔ)細(xì)節(jié)的缺失。利用Unity3D導(dǎo)入3Ds Max制作好的3D模型,按照不同場(chǎng)景的需求,利用筆刷工具在Unity3D中給地面賦予小石塊、草皮、樹木等細(xì)節(jié)。Skybox為Unity中制作天空的工具。為了節(jié)省內(nèi)存,游戲場(chǎng)景的天空部分,同樣利用了材質(zhì)貼圖的方法。設(shè)計(jì)師通過給Skybox的每個(gè)面附上天空照片貼圖,達(dá)到天空制作的目的。
天氣的制作是模型制作過程中的關(guān)鍵。因?yàn)闅庀罂破沼螒虻闹饕康氖沁M(jìn)行氣象科普,所以模型不但要有藝術(shù)表現(xiàn)性,還需具備科學(xué)性。天氣通過被觀察的方式分為兩種: 一是具有明顯物質(zhì)存在的天氣現(xiàn)象,如雪、雨、霧等;二是只可通過環(huán)境觀察得到的,如晴、風(fēng)等。下面筆者將以雨、雪、風(fēng)三個(gè)天氣為例,闡述模型制作過程。其中,雨與雪模型通過利用Unity3D游戲引擎自帶的Particle System完成。Particle System中下分Emission Rate、Speed、Size以及Material等可調(diào)節(jié)參數(shù)。氣象模型以氣象的屬性為參考(例如降雨量) 。開發(fā)者通過調(diào)節(jié)參數(shù),達(dá)到模擬氣象的效果。在貼圖選擇過程中,為了達(dá)到最真實(shí)的效果,開發(fā)者可利用帶透明通道的雨、雪的照片作為天氣的貼圖。風(fēng)與前兩者模型的制作方法不同,因?yàn)殡m然風(fēng)無法直接所見,但是會(huì)對(duì)周圍的環(huán)境產(chǎn)生影響,所以需通過調(diào)節(jié)環(huán)境,如大樹的搖擺等來側(cè)面呈現(xiàn)風(fēng)級(jí)。Unity3D游戲引擎中的Wind Zone可實(shí)現(xiàn)風(fēng)的制作。Wind Zone中下分Mode、WindMain、Wind Turbulence等可調(diào)參數(shù)。由于此類參數(shù)得相互調(diào)整,并且需要用Unity3D中其他的模型(例如樹)的擺動(dòng)做參照,才能得到接近于真實(shí)的風(fēng)效果,因此,唯有進(jìn)行多次嘗試并進(jìn)行比對(duì)才能完成風(fēng)模型的制作。最終,將所有上述模型設(shè)置為Prefab,方便之后利用代碼調(diào)取模型實(shí)現(xiàn)手勢(shì)識(shí)別控制。
2.2、手勢(shì)識(shí)別控制
手勢(shì)識(shí)別設(shè)備如Leap Motion,其SDK為Unity3D開發(fā)環(huán)境提供了一套完整的文檔。氣象科普游戲用數(shù)字手勢(shì)來控制天氣級(jí)別的變化。在研究中發(fā)現(xiàn),人們所做的數(shù)字手勢(shì) “1” 至“5”,手指伸直的數(shù)量與其數(shù)字互相對(duì)應(yīng)。在Leap Motion SDK中,代碼hand.Fingers.Extended()可以通過識(shí)別手指的指向以及手掌的指向,從而判斷手指是否屈伸。利用該代碼,電腦可以識(shí)別伸直的手指數(shù)量,再通過利用if語句來執(zhí)行各類手勢(shì)情況下的命令。以 “下雨” 為例,事先在游戲中利用Particle System制作代表小雨、中雨、大雨的三個(gè)Prefab。這些Prefab分別模擬了小雨、中雨、大雨的雨量。玩家在做出不同手勢(shì)后,if語句對(duì)其手勢(shì)進(jìn)行判定,最終調(diào)用不同的Prefab營(yíng)造不同天氣等級(jí)下的環(huán)境。例如,當(dāng)玩家做出手勢(shì) “數(shù)字3” 時(shí),if語句中的條件語句hand.Fingers.Extended()= =3此時(shí)為true,其他所有條件語句hand.Fingers.Extended()= =1為false。此時(shí),Unity開始執(zhí)行hand.Fingers.Extended()= =3條件下的執(zhí)行語句。在該if語句作用下,Unity調(diào)用了大雨P(guān)refab,從而模擬了大雨的效果。除以上功能外,手勢(shì)識(shí)別設(shè)備還可以識(shí)別繞圈、單擊等手勢(shì),氣象科普游戲利用這些手勢(shì)代替鼠標(biāo)操作,豐富了游戲性。
2.3、增強(qiáng)現(xiàn)實(shí)設(shè)計(jì)模塊
增強(qiáng)現(xiàn)實(shí)技術(shù)通過攝像頭,實(shí)時(shí)地識(shí)別事先所定義的圖像,并計(jì)算出該圖像所在的位置與所成的角度,在圖片上 (或其他位置)生成相應(yīng)的模型或動(dòng)畫,最終把虛擬的圖像與現(xiàn)實(shí)的影像互相疊加,從而達(dá)到虛擬世界與現(xiàn)實(shí)世界相結(jié)合的目的。近年來,運(yùn)用增強(qiáng)現(xiàn)實(shí)技術(shù)的游戲在市場(chǎng)上逐漸增多。例如,肯德基在2014年世界杯期間推出了一款增強(qiáng)現(xiàn)實(shí)游戲《肯德基K球吧》 。該游戲通過利用AR技術(shù)與手機(jī)攝像頭,識(shí)別印在卡片上的圖案,在手機(jī)中實(shí)時(shí)生成了球門、草皮等游戲場(chǎng)景。玩家可通過在手機(jī)上滑動(dòng)手指發(fā)小球,與手機(jī)生成的畫面進(jìn)行互動(dòng)。氣象科普游戲可運(yùn)用增強(qiáng)現(xiàn)實(shí)技術(shù),通過攝像頭定位角色位置,在玩家的周圍實(shí)時(shí)生成天氣環(huán)境,給玩家?guī)矸浅XS富的科普體驗(yàn)。
2.4、基于Arduino的觸覺觸發(fā)裝置
Arduino在氣象科普游戲中是一個(gè)輸出設(shè)備。Arduino可以通過利用不同的模塊相互拼接,從而實(shí)現(xiàn)不同的功能。Arduino有著輕便、多樣化的特點(diǎn),且價(jià)格不高,這十分有利于推動(dòng)氣象科普游戲的普及。Uniduino是Unity Asset商店所售的一款package。Uniduino即Unity +Arduino,它將Unity與Arduino相結(jié)合。氣象科普游戲利用Uniduino,實(shí)現(xiàn)實(shí)時(shí)控制Arduino的功能。以刮風(fēng)關(guān)卡為例,使用L9110風(fēng)扇模塊,將其安裝在Arduino UNO板上。玩家可以利用手勢(shì)識(shí)別設(shè)備通過手勢(shì)選擇風(fēng)力等級(jí),隨后Unity會(huì)給Arduino發(fā)出相應(yīng)指令。L9110風(fēng)扇模塊得到指令后,以相對(duì)應(yīng)的轉(zhuǎn)速進(jìn)行轉(zhuǎn)動(dòng),讓玩家獲得刮風(fēng)的感受,從而實(shí)現(xiàn)玩家沉浸感的增強(qiáng)以及多感官的體驗(yàn)。
3、結(jié)論
多元化、多感官、新穎互動(dòng)的氣象科普方式是今后的發(fā)展趨勢(shì)。利用體感交互技術(shù)和設(shè)備將原本枯燥無味的氣象科普知識(shí)與游戲相結(jié)合,提升氣象科普方式的互動(dòng)性與趣味性,寓教于樂,必將有助于氣象知識(shí)更廣泛而深入的普及。氣象科普游戲在未來的發(fā)展中將會(huì)加入更多的感官元素,讓人們可以更加直觀地感受體驗(yàn)。相信不久的將來,氣象科普的體感游戲能夠在各大氣象科普展覽館中得到普及,改變以往單調(diào)的氣象科普方式。
欄目分類
- 為什么發(fā)表論文都不開雜志社的發(fā)票呢?
- 2021-2022年CSCD中國(guó)科學(xué)引文數(shù)據(jù)庫來源期刊列表-理科南大核心目錄完整版
- CSCD中國(guó)科學(xué)引文數(shù)據(jù)庫來源期刊列表(2023-2024年度)南大核心目錄
- 融媒體環(huán)境下地方新聞網(wǎng)站媒體的發(fā)展路徑
- 創(chuàng)新與繼承:70周年獻(xiàn)禮片“三杰”研究
- 人本導(dǎo)向下的城市更新規(guī)劃思路探索——以上海松江區(qū)中山街道老城區(qū)為例
- 預(yù)制裝配式地鐵車站施工技術(shù)
- 從框架理論看“中國(guó)學(xué)習(xí)的人”
- 互聯(lián)網(wǎng)環(huán)境下古都洛陽城市形象建構(gòu)與傳播探析
- 價(jià)值工程在房地產(chǎn)開發(fā)管理分工中應(yīng)用
- 2025年中科院分區(qū)表已公布!Scientific Reports降至三區(qū)
- 官方認(rèn)定!CSSCI南大核心首批191家“青年學(xué)者友好期刊名單”
- 2023JCR影響因子正式公布!
- 國(guó)內(nèi)核心期刊分級(jí)情況概覽及說明!本篇適用人群:需要發(fā)南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的學(xué)者
- 我用了一個(gè)很復(fù)雜的圖,幫你們解釋下“23版最新北大核心目錄有效期問題”。
- CSSCI官方早就公布了最新南核目錄,有心的人已經(jīng)拿到并且投入使用!附南核目錄新增期刊!
- 北大核心期刊目錄換屆,我們應(yīng)該熟知的10個(gè)知識(shí)點(diǎn)。
- 注意,最新期刊論文格式標(biāo)準(zhǔn)已發(fā)布,論文寫作規(guī)則發(fā)生重大變化!文字版GB/T 7713.2—2022 學(xué)術(shù)論文編寫規(guī)則
- 盤點(diǎn)那些評(píng)職稱超管用的資源,1,3和5已經(jīng)“絕種”了
- 職稱話題| 為什么黨校更認(rèn)可省市級(jí)黨報(bào)?是否有什么說據(jù)?還有哪些機(jī)構(gòu)認(rèn)可黨報(bào)?