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

基于Unity3D 和Vuforia 的災(zāi)害模擬游戲

2021-07-16 10:07:10吳天成虞嘉龍高子卓姚建華馮天歌
科學技術(shù)創(chuàng)新 2021年19期
關(guān)鍵詞:現(xiàn)實游戲

吳天成 虞嘉龍 高子卓 姚建華 馮天歌 薛 韡*

(防災(zāi)科技學院信息工程學院,河北 三河 065201)

1 概述

增強現(xiàn)實是通過平面識別、圖片識別、空間識別等方法將虛擬世界中的物體對象映射到現(xiàn)實世界中的新興技術(shù),它相較于虛擬現(xiàn)實不同的是,虛擬現(xiàn)實注重沉浸式的體驗,而增強現(xiàn)實注重虛實結(jié)合,實時交互,以達到提升內(nèi)容趣味性、增強用戶現(xiàn)實體驗的目的。隨著技術(shù)的發(fā)展,增強現(xiàn)實已經(jīng)極大的融入進了我們的日常生活中,如AR 地圖導(dǎo)航、AR 試衣?lián)Q裝,也有風靡一時基于增強現(xiàn)實技術(shù)的pokemon go 游戲等。

本項目基于Unity3D 引擎和Vuforia 平臺,以近年來常見的自然災(zāi)害為主題,將救災(zāi)和逃生作為核心玩法,制作移動端的AR 游戲。通過增強現(xiàn)實技術(shù)將災(zāi)害場景拉近到玩家眼前,在玩家玩游戲的同時,激發(fā)他們認識了解自然災(zāi)害相關(guān)知識的學習興趣。

2 技術(shù)介紹

本項目使用了Unity3D 游戲引擎和Vuforia AR 制作平臺提供的插件。其中Unity3D 是Unity Technologies 公司制作的一款具有良好跨平臺性、以C#為編程語言、在當下中國市場大火的2D/3D 游戲制作引擎;Vuforia 是實現(xiàn)增強現(xiàn)實技術(shù)的平臺,開發(fā)者可以使用它提供的平面識別、空間識別、圖片識別等完成AR產(chǎn)品制作,本項目主要通過使用Vuforia 為Unity3D專供的插件,完成了平面識別,圖片識別展示AR。

2.1 平面識別

平面識別需要經(jīng)過以下步驟:運動跟蹤→平面檢測→深度計算→虛擬對象渲染→創(chuàng)建錨點→環(huán)境光線及強度檢測。

運動跟蹤:AR 應(yīng)用通過用戶手機攝像頭攝取到的圖片進行兩個任務(wù):第一個任務(wù)實時計算攝像頭的姿勢,將在AR 項目制作時Unity3D 中的虛擬攝像頭與現(xiàn)實攝像頭保持對齊,保證虛擬對象渲染出來時的位置角度等與Unity3D 中設(shè)置的位置角度一樣;第二個任務(wù)是為捕捉到的現(xiàn)實世界圖像設(shè)置特征點。

平面檢測:AR 應(yīng)用根據(jù)在運動跟蹤環(huán)節(jié)中設(shè)置的特征點,認識在現(xiàn)實世界中哪些是平面和垂直面。

深度計算:該環(huán)節(jié)依賴于攝像機的配置。AR 應(yīng)用根據(jù)RGB攝像機創(chuàng)建深度圖,計算攝像機到目標點的距離,從而可以讓虛擬對象更好的和目標進行貼合,設(shè)置虛擬對象相對于目標的位置。

虛擬對象渲染:AR 應(yīng)用會根據(jù)之前的幾個步驟獲得的數(shù)據(jù),設(shè)置虛擬對象的位置,角度以及距離攝像機的距離,將虛擬對象渲染到現(xiàn)實世界中并覆蓋攝像機攝取到的原始圖像。

創(chuàng)建錨點:錨點用于虛擬對象相對于現(xiàn)實世界中的定位,它使攝像機在移動過程中,所創(chuàng)建的物體不會隨著位置或角度的變化而發(fā)生改變,同時也保證虛擬對象在現(xiàn)實世界中的渲染穩(wěn)定性。

環(huán)境光線及強度檢測:在Unity3D 中,可以設(shè)置虛擬對象的材質(zhì)是否為受光材質(zhì),如果不是,虛擬對象的渲染將不會受到光照的影響而改變自身表面的明暗程度;如果是受光材質(zhì),虛擬對象除自身在Unity3D 中的添加的光源影響外,AR 應(yīng)用還會采集環(huán)境中的光線強度,對虛擬對象進行平均增強和顏色矯正,使虛擬對象最終在現(xiàn)實世界中的渲染受到環(huán)境光的影響,以增加虛擬對象的真實感。

2.2 圖片識別

圖片識別也叫增強圖像,需要以下步驟完成:數(shù)據(jù)庫增添圖像→圖像對比→建立坐標系→虛擬對象渲染→創(chuàng)建錨點→環(huán)境光線及強度檢測。

數(shù)據(jù)庫增添圖像:先在AR 應(yīng)用中創(chuàng)建一個數(shù)據(jù)庫,并在數(shù)據(jù)庫中添加自己想要識別的圖片。在Vufroia 中會根據(jù)添加的圖片進行評級,評級的標準依據(jù)于特征點的算法,圖片的紋理越豐富,對比度越高,他能認定的特征點就越多,評定級數(shù)也就越高,如果評定級數(shù)較低,就代表該圖片識別度過差,開發(fā)者需要更換圖片或?qū)D片進行修改。

圖像對比:在用戶使用AR 圖片識別功能時,類似于人臉識別算法,AR 應(yīng)用會通過攝像頭攝取到的圖像中的有效特征點和自身數(shù)據(jù)庫中的圖片特征點進行比對,如果不同,則識別失敗;如果相同,則會進行下一步。

建立坐標系:AR 應(yīng)用會根據(jù)圖片識別時攝像頭相對于圖片的姿勢以及開發(fā)時在Unity3D 中的虛擬坐標,在現(xiàn)實世界中建立坐標系。

虛擬對象渲染:將在Unity3D 中創(chuàng)造的虛擬對象依據(jù)于虛擬坐標系中的位置,相對于剛建立的坐標系顯示出來,并覆蓋攝像機攝取的原始圖像。

創(chuàng)建錨點:在物體出現(xiàn)的同時,AR 應(yīng)用會在該位置創(chuàng)造一個錨點,繼續(xù)跟蹤該點的位置,角度等數(shù)據(jù)變化,以便于攝像機移動時哪怕拍攝的目標圖片相對于攝像機的角度位置發(fā)生變化,之前創(chuàng)造的虛擬對象的位置和角度也會隨著圖片改變。

環(huán)境光線及強度檢測:和平面檢測一樣,讓虛擬對象的光照渲染受到周圍環(huán)境光的影響,增加真實度。

3 項目內(nèi)容

在AR 災(zāi)害模擬游戲中,創(chuàng)作了3 個小游戲,分別以常見的自然災(zāi)害:火災(zāi)、地震以及洪水為主題,各個游戲場景都盡量貼近現(xiàn)實。在火災(zāi)、洪水小游戲中,玩家扮演施救者,抵御災(zāi)害并將npc 從火災(zāi),洪水中救出,同時模擬災(zāi)害的真實性,游戲難度會隨著游戲時間的增加而加大;在地震游戲中,玩家扮演逃脫者,躲避重重障礙,順利逃離到安全地點。

3.1 AR 滅火游戲

內(nèi)容:

玩家通過操控AR 相機下的消防水泵,對于出現(xiàn)在周遭的火情進行消防滅火行動,玩家需通過調(diào)整手機的位置將水泵噴口對準火源進行滅火搶救行為,若滅火不及時,火勢會逐漸擴大,最后判定此次滅火搶救行動失敗。

在游戲整體上是采用了ARFPS 類型的射擊游戲的思想,玩家通過拿著手機進行移動,來參與滅火行動,程序通過感應(yīng)玩家上下晃動手機,來控制水的射擊方向,增加玩家的體驗感和新鮮感。

游戲設(shè)計的目的是為了教育玩家,當火情來臨時,我們也可以采取的應(yīng)對措施以保護我們自身的生命財產(chǎn)安全,當我們置身于火情之中,可以運用身邊的消防器具撲滅火勢。

技術(shù):

本游戲主要通過Vuforia 的ARCamera 功能實現(xiàn),在世界坐標下產(chǎn)生火情,由玩家操控相機位置對準火源實現(xiàn)滅火。

游戲通過獲取手機陀螺儀移動參數(shù)的方式,綁定ARCamera的移動,代碼部分如圖1 所示。

圖1 ARCamera 綁定手機陀螺儀移動

陀螺儀可以對轉(zhuǎn)動、偏轉(zhuǎn)的動作做很好的測量,這樣就可以精確分析判斷出使用者的實際動作以實現(xiàn)在游戲中模擬真實人物的移動,以將虛擬現(xiàn)實中的火苗同步于現(xiàn)實世界的坐標中,方便玩家進行不止固定于一處的滅火模擬。

在滅火的行為上,通過Unity3D 中的Particle System 進行火焰、水流、以及煙霧的制作,通過Particle System 的collision 中的send collision message 選項,與火焰進行粒子間的碰撞檢測,實現(xiàn)水撲滅火苗的功能。

在拓展功能方面,運用了Vuforia 的ImageTarget 下的VirtualButtons,設(shè)計了玩家通過掃描特定的現(xiàn)實中的滅火器,并通過觸碰滅火器來在游戲中實際獲得滅火器這一道具的行為,增加游戲的多變性。

在游戲管理流程方面,設(shè)立了GameManager 與UIManager兩個腳本進行管理控制,項目中導(dǎo)入了DOTween 輔助進行UI界面的設(shè)計。通過GameLevel 綁定初始生成的火苗數(shù)量,火勢蔓延的速度,來為游戲進行關(guān)卡設(shè)計,增加游戲的可玩性。

3.2 AR 地震逃生游戲

內(nèi)容:

玩家通過AR 相機掃描標識圖,掃描成功后會在標識圖表面生成啟動游戲的虛擬按鍵,按下按鍵所在的標識圖區(qū)域即可啟動游戲。游戲開始時,在標識圖的上方會生成地圖,人物在地圖末端自動開始向前運動,隨著人物的前進,地圖上還會隨機生成障礙物。而標識圖表面還設(shè)有控制人物左右移動的虛擬按鍵,玩家需在設(shè)備外對識別圖所顯示的按鍵區(qū)域進行遮蔽,來讓人物順利規(guī)避障礙物,從而使人物順利前行。若人物未能及時規(guī)避障礙物,則會因未能及時到達安全地點而視為游戲失敗。游戲大體與跑酷游戲類似,操作簡單,玩家可通過操控人物移動的過程中,不再只是單一視角進行觀察體驗,還可以通過調(diào)整設(shè)備位置來進行多角度的游戲體驗。

技術(shù):

本游戲是通過掃描5.12 防震減災(zāi)日的標識而觸發(fā)的AR 小游戲,游戲主要運用了Vuforia 的ImageTarget 圖片識別功能,通過設(shè)備攝像頭對識別圖的掃描,并在成功識別后在設(shè)備界面生成已經(jīng)創(chuàng)建好的虛擬游戲場景。

本游戲還使用了ImageTarget 的VirtualButtons 虛擬按鍵功能,將現(xiàn)實圖片和虛擬場景中的人物串聯(lián)起來,在現(xiàn)實圖片的特征明顯處設(shè)置虛擬按鍵,通過玩家對現(xiàn)實圖片的特征處遮掩,識別圖片的哪一部分特征點消失,從而觸發(fā)該位置按鍵的功能來控制設(shè)備中人物的左右移動。

在預(yù)置的虛擬游戲場景方面,運用了Unity3D 的碰撞檢測和觸發(fā)檢測,為游戲場景中的人物、車輛、路牌、地面等多個物體添加碰撞體,在人物與其他物體接觸時能產(chǎn)生現(xiàn)實的阻擋和減速效果。為了實現(xiàn)人物持續(xù)的前行,在人物與指定地面的碰撞體接觸的時候,會調(diào)用相應(yīng)函數(shù)在場景中添加新路段,對道路進行延長,使得人物能持續(xù)前行,如圖2。

圖2 GameManager 對添加新路段的函數(shù)實現(xiàn)

而新道路生成的物體,使用了Game Manager 對于隨機生成物體進行管理,為出生點、到達點等觸發(fā)檢測的物體設(shè)立了列表list,便于人物在觸發(fā)碰撞檢測的時候,調(diào)用對應(yīng)列表的物體進行生成。

3.3 AR 洪水建堤游戲

內(nèi)容:

此游戲以為加強大家的防洪意識而創(chuàng)作,通過開始的UI 界面,開始游戲。根據(jù)海拔,水位以及方塊的搭建來判斷游戲的進程。居民目前的海拔高度會受答題情況影響,如果水位于搭建的“堤壩”高,且高于居民海拔則游戲失敗,如果水位達到峰值且游戲任然未失敗則游戲勝利。

技術(shù):

通過Particle System 添加下雨的特效,符合洪水來臨前暴雨的情況,增強情景代入感和緊張感,不會使游戲場景太過單一。首先準備一張雨點圖片,將他設(shè)置成材質(zhì)球。shader 用legacy shader/particles/additive,選貼圖,把顏色改成深藍色。創(chuàng)建一個粒子系統(tǒng),命名為rain,把rotation 的x 從-90 改成90。把renderer 里的material 改成自己新建的材質(zhì),粒子就會變成雨點,將shape 改成box,形成降雨。duration 和start lifetime 來調(diào)節(jié)循環(huán)周期和粒子存活時間,start speed 和gravity modifier(重力增強)調(diào)節(jié)速度,max particles 調(diào)節(jié)粒子的密度(模擬雨量大小),rate over time 同時影響了密度和速度,最后通過start size更改雨點大小。

俄羅斯方塊代碼的實現(xiàn)。通過向下滑屏來控制方塊下落,向左、向右控制方塊右移、向上控制旋轉(zhuǎn)。建立代碼Queue 來控制積分面板,建立一個新的隊列。使用Random.Range 來隨機生成隊列,找到第一個賦值給currentPieces,并銷毀在隨機生成中的第一個,利用遞歸將其移到游戲框內(nèi)并實現(xiàn)循環(huán)。當游戲框與下一個剛生成的方塊接觸則執(zhí)行Time.timeScale = 0f 終止游戲。最后建立二維數(shù)組來遍歷目前鋪滿的最高度,當高度小于Slider 中value 時游戲失敗。

UI 界面的設(shè)置。是用UI 中Slider 制作海拔與水位,控制value 的大小控制填充狀態(tài)。建立三個Panel 界面作為問題的面板設(shè)置按鈕作答。結(jié)果將影響居民撤離海拔的高度,即海拔slider 的value,在水位上升時若超過堤高,則游戲失敗。

4 項目結(jié)論

增強現(xiàn)實技術(shù)提供了新的內(nèi)容展示方式,改變了人們只能通過平面演示的現(xiàn)狀。本項目將游戲和增強現(xiàn)實技術(shù)相結(jié)合,極大的提升了游戲的互動性和立體感,游戲以自然災(zāi)害為主題,讓玩家能夠在玩游戲的同時,通過在現(xiàn)實生活中渲染出的災(zāi)害場景,更立體直觀的了解災(zāi)害來臨時毀滅性的情景,在游戲娛樂的同時,不忘激發(fā)玩家對自然災(zāi)害知識的學習興趣。

猜你喜歡
現(xiàn)實游戲
關(guān)于戀愛的殘酷現(xiàn)實
我對詩與現(xiàn)實的見解
文苑(2020年11期)2021-01-04 01:53:20
游戲
數(shù)獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
一種基于Unity3D+Vuforia的增強現(xiàn)實交互App的開發(fā)
第八章直接逃出游戲
小學科學(2015年7期)2015-07-29 22:29:00
第八章 直接逃出游戲
小學科學(2015年6期)2015-07-01 14:30:14
“刷臉取錢”將成現(xiàn)實
主站蜘蛛池模板: 伊人久久大线影院首页| 国产簧片免费在线播放| 欧类av怡春院| 亚洲人成网站在线播放2019| 精品久久777| 91丝袜在线观看| 青青热久麻豆精品视频在线观看| 久久黄色影院| 无码视频国产精品一区二区| 午夜久久影院| 久久精品无码一区二区日韩免费| 伊人天堂网| 国产91蝌蚪窝| 欧美一区二区三区不卡免费| 亚洲日韩国产精品无码专区| 亚洲国产成人精品一二区| 国产国拍精品视频免费看| 国产精品无码久久久久久| 久久婷婷国产综合尤物精品| 伊人色婷婷| 激情综合五月网| 日韩欧美国产另类| 国产日韩精品一区在线不卡| 国产丝袜丝视频在线观看| 国产最新无码专区在线| 亚洲制服中文字幕一区二区| 日本影院一区| 欧美日韩综合网| 欧美啪啪一区| 久久精品国产91久久综合麻豆自制| 欧美一级大片在线观看| 国产激情第一页| 亚洲成人免费看| 欧美一级片在线| 国产福利观看| 亚洲丝袜中文字幕| 国产精品一线天| 国产日韩精品欧美一区喷| 国产黑人在线| 久久狠狠色噜噜狠狠狠狠97视色 | 亚洲欧州色色免费AV| 成年人福利视频| 波多野结衣AV无码久久一区| 亚洲成a人片在线观看88| 国产成人综合在线观看| 亚洲毛片网站| 88av在线| 亚洲国产成人久久精品软件| 国内丰满少妇猛烈精品播| 亚洲综合九九| 欧美精品1区2区| 视频二区国产精品职场同事| 四虎国产永久在线观看| 国产欧美日韩综合在线第一| 欧美激情视频一区二区三区免费| vvvv98国产成人综合青青| 毛片基地视频| 91精品国产情侣高潮露脸| a级毛片免费看| 91蜜芽尤物福利在线观看| 国产一区二区三区日韩精品| 欧美黄色网站在线看| 日本欧美中文字幕精品亚洲| 毛片手机在线看| 人禽伦免费交视频网页播放| 精品成人免费自拍视频| 国产精品第| 国产喷水视频| 国产成人91精品| 播五月综合| 99视频在线看| 国产激爽爽爽大片在线观看| 亚洲国产中文精品va在线播放 | 福利在线不卡一区| 又粗又大又爽又紧免费视频| 亚洲欧洲一区二区三区| 国产 在线视频无码| 又粗又大又爽又紧免费视频| 婷婷五月在线视频| 最新痴汉在线无码AV| 亚洲色图欧美一区| 538精品在线观看|