摘要:智能技術的的不斷發展,更好地帶動了新技術的發展,就比如現在出現的VR虛擬技術。現在深受很多玩家喜歡的虛擬現實手機體感游戲就是采用了VR技術,是將VR頭盔配合手機進行操作。借助于手機內置的螺旋儀器,系統能夠針對于人體變化實行定位,從而實現了體感操作方式。再將這款VR智能頭盔與3D雙屏數字顯示系統相結合的操作過程中,借助于智能手機操作媒介,能夠輕松實現身臨其境的感覺,充分真實地模擬出了虛擬化的操作體驗效果。通過借助于藍牙遙控制器,在佩戴這款智能手機VR智能頭盔之后,玩家能夠更好地融入到游戲中,使得游戲的體驗感增強。
關鍵詞:Unity3D VR頭盔 虛擬現實體感游戲 開發
中圖分類號: G898文獻標識碼:A???文章編號:1672-3791(2022)05(b)-0000-00
作者簡介:謝婷玲(1989—),女,本科,軟件工程師,研究方向為VR游戲
該文在設計研究過程中,借助于暴風魔鏡4代VR頭盔作為交互式硬件,借助于Unity3D游戲平臺開展,能夠進行友好交互,借助于 C語言等多模式進行研發,并且能夠在網頁、安卓、蘋果等多個平臺使用,使得Unity3D效果得到更好的實現以及推廣。借助于Unity3D系統的開發以及手機市場的應用,如果手機中已經安裝了暴風魔鏡等相應的VR頭盔,那么軟件就可以直接進入虛擬場景體驗游戲。
1 設計概述
此次設計研發所借助的是真人CS戶外對抗活動。游戲所設計采用的主要是第一人稱視角,玩家在佩戴一款VR游戲頭盔之后它就能夠直接借助于游戲身體以及頭部的快速移動,對整個游戲內部的角色格斗進行移動控制與幫助玩家一起完成角色格斗,游戲內部在角色格斗設計上所采用的主要是一種藍牙無線控制格斗方式,能夠直接讓玩家在整個游戲進行過程中360°同時體驗感受到各種VR頭盔視覺效果,這樣能夠更好地控制游戲,在游戲過程中有更好的體驗。在整個游戲設計過程中,所涉及到的環節,有游戲場景構建,游戲程序設計,游戲角色設定等。
游戲設計過程中,針對于動畫事件播放設計所采用的是Unity官方API函數Animation‐Event進行,音頻控制所采用的是AudioSettings ,對于界面內容進行調整使用GUIContent方式,對于界面布局進行調整,采用的是GUILayout方式。在規定的時間內,如果玩家能夠到達指定的地點,那么就能夠觸發相應的道具,對于場景產生一定的轉變,在整個游戲過程中玩家需要進行智能操作,借助于計算機控制臺,對于路徑上所出現的危險進行控制,順利到達下一個關卡。
2 游戲設計計算方式
2.1 A 星算法
在一個游戲設計控制過程中會不斷出現很多敵對坐標設置,借助于這個坐標來對位置進行控制或者說就是通過采用諸如Unity3D游戲中的AI等設計控制方式,能夠直接使敵對方面的人員進入完全防御攻擊狀態。為了能夠使得敵對方的顯示操作更加逼真,智能化可以采用A星算法。在整個操作過程中,如果所涉及到的點比較多的話,無論是采用深度優先搜索,防止或者是廣度優先搜索方式所產生的搜索效率都不高。這樣的情況下需要使用啟發式搜索算法。啟發式搜索算法也是一種猜測,啟發式搜索算法是由起點針對于周邊各個位置可能出現的點進行評估,在open表數據內能夠將周邊內點編輯進去,計算出表內,每一個點的h(n)和g(n),然后對于評估只進行測量。在close表內f(n)最小值編輯進內,然后持續將open表內陸續加入close表中周圍的點,在整個操作過程中需要注意,如果是障礙物或者是以加入的點不需要再進行處理,針對于位置點逐個的進行遍歷,一直到完成最終的目標啟發式中,所采用的函數表達方式是:f(n)=h(n)+g(n)。
2.2 OBB包圍盒碰撞檢測算法
三維中的物體碰撞檢測與二維中的物體碰撞檢測相對的比較起來是相對十分復雜的,這其中目前需要廣泛使用主要是OBB包圍盒碰撞檢測方式,才能夠更好地實現設計目標。在實際進行三維游戲場景引擎幀的設計工作過程中,需要首先針對于三維場景中的物體模型進行三維表面凸塊的分析,然后為凸塊物體構建了一起OBB包圍盒之后,能夠輕松針對于圖塊場景進行采用三角形帶壓縮編碼方式,能夠輕松實現三維場景物體之間的變形碰撞角度測量。
2.3 陀螺儀空間定位算法
現在在智能手機電腦中都已經安裝了陀螺儀傳感器,陀螺儀傳感器的運動坐標主要原理是以環繞地球的磁場運動為坐標基礎,操作的過程中會出現轉變,也就是相對于地磁場出現了一定的轉變。當地磁運動速度控制器件在運行時達到任何一個不同方向的速度時候,地磁場運動都會對其產生一個相應的運動作用。
3 具體游戲設計實現方式
Unity3D屬于它的是一款非常專業級的游戲管理引擎且其功能性十分強大,能夠完全借助于一個Unity3D交互式游戲應用程序,實現同時能夠在不同的平臺運用。它不僅能夠輕松采用多種著色文件格式同時運行,并且在各種著色器使用方面十分的靈活,可以輕松實現互聯網以及三維網絡圖形間的混合以及視頻等等多方面的著色功能。此次這款游戲在進行設計場景過程中對于建模游戲場景所需要采用的模式是MAYA的模式,為了使其能夠有效使得整個游戲的場景視覺效果變得更好,在游戲進行場景建模的設計過程中針對于不同的游戲功能場景進行了一部分項目的優化,這樣能夠展現出更真實的游戲場景,讓玩家有切身的游戲體驗。
3.1 分析游戲開發需求
此次的游戲設計環境主要是各種人物之間針對于暴徒擊殺。玩家能夠直接進入到游戲環節,來到游戲激勵進行擊殺,游戲設定的是機槍手,整個游戲氛圍十分的緊張刺激,在進行游戲的過程中,對于玩家所使用的武器也可以進行轉變,在與敵人搏斗的過程中,一定要注重精神集中,針對于游戲內部周圍環境進行仔細的觀察發現隱秘性通關秘訣。可以說整個游戲的設計十分逼真,并且采用了多種特殊道具玩家在進行游戲的過程中可以有全新的視覺體驗。此次游戲主要設置為3個通關模式:第一關卡是以科幻性為主的背景環境下。主要場景選擇是工業大廈需要玩家潛入到工業大廈內收集相關的情報,并且能夠擊殺暴徒,對于敵對裝備進行破壞,然后能夠順利的逃出工業大廈。第二關卡是潛入到敵對基地內,能夠擊殺敵對長官,并且對于基地內的基礎設備進行破壞,再到達長官作戰區域內,玩家需要針對于場景中的紙片不斷的進行收集,能夠根據紙片的內容尋找到敵對長官。第三關卡主要是玩家到達基地總部之后能夠摧毀基地,并且獲得最后的勝利。在整個游戲過程中,玩家的角色是一名機槍手可以選擇射擊或者是躲避操作,針對于敵軍的設備進行摧毀,借助于藍牙控制器能夠與身體頭部相結合,對于人物進行方向的控制,實現擊殺躲避等操作。在突破游戲關卡之后,完成設定的劇情就表示游戲通關。
3.2 優化場景
在Unity中,玩家為了能夠有更好的游戲體驗感,可以對于游戲光照顏色進行亮度調整,但是由于智能手機的CPU內存有限,在需要進行一次光照亮度調整的游戲過程中,會直接使得游戲渲染的啟動次數不會有所謂的增加,這樣在游戲的過程中畫面會出現抖動的情況,甚至會出現卡頓的情況。為了我們能夠有效避免出現此類的各種問題,在整個游戲中的設計開始過程中我們需要預先設定一個好的實時模擬光照,將它直接作為烘培光照。實時光照太強的真相對于一種靜態性的物體來說能夠直接產生一種模擬性的光照,但是這僅僅屬于游戲是一種靜態性的模擬操作,在整個游戲中的設定設計開始模擬過程中需要采用模擬渲染,整個模擬游戲在在設計開始過程中基本不會重復的再次出現模擬渲染前的情況,這樣這么做的最大優勢就是整個游戲在設定開始模擬設定之初只需要做一次模擬渲染前的操作,在后期的設置中不需要重復的操作使得渲染效率得到有效的改善。
在游戲進行過程中會有描繪指令出現,所以它表示的意思是說在游戲進行過程中,每一個場景部位在進行展示游戲過程的當中都可能需要將其放置在特殊的展示文件中,再將特殊文件數據傳遞發送到3D部分然后投屏進行顯示。對于游戲場景相應的的模型場景構件以及游戲場景構件包裝中的顯示主要部分是由展示CPU來完成的。在進行游戲場景設置前的過程中,玩家每一次發射的一枚子彈后在消耗或者說只是一個角色時的消耗都應該是相同的,如果說不需要降低游戲描繪指令,那么現在電腦上就會將所有的游戲場景或者物體用來進行游戲渲染前的操作,這樣就會使得CPU的內存有所增強,渲染效率受到影響。為了能夠解決此類問題,可以借助于遮擋,剔除等方式,也就是說針對于當前這個位置上的任何物體可能會被其他的任何物體覆蓋住,不會再留在設影機的工作范圍內,出現對這個部分不滿時需要再次的移動進行影像渲染,幾何體進行分割后會形成不同物體尺寸的各個模塊,根據于每一個尺寸模塊它都可以進行構建生產出一個列表,在立體攝影及影像攝錄的各個范圍內對其模塊進行再次激活,不在列表構建過程內其中的一個模塊也只需要將其進行去除。
采用此技術需要有兩個模型的支持,一個模型需要的面數較多,設計效果較為逼真,另一個面數較少,質感較為粗糙。具體的場景組合技術操作場景設置設計方式一般上都是首先針對于兩個場景關鍵點的場景距離和視角度設置D1和距離焦距D2進行場景組合操作設置,將它們分別進行組合起來設置為一個場景攝像機與兩個不同場景的關鍵點和距離,如果說D的距離已經大于實際距離,那么對于模型進行高清調整,如果說D距離已經小于實際距離,需要借助于粗糙模型進行調整。根據于不同的精準模型進行選擇,能夠針對于繪制頂點數目進行降低,這樣能夠使得游戲的場景實施效果更具優化,在Unity中借助于Component → Rendering →LODGroup,采取操作方式能夠使得模型以及距離設置進行有效的控制。
overdraw所說的也就是一個像素可以能夠被多次混合繪制,針對于這些像素能夠進行繪制優化的一個重點,就是如何使得overdraw有所降低,針對于每個控制點的順序可以進行優化控制,可以最大限度地避免出現控制overdraw等的情況。在控制PC的狀態下控制資源可以能夠得到無限制的使用,為了這樣能夠直接使得游戲渲染圖的結構更加容易優化,再者在進行顏色繪制的混合過程中一定是需要注意保證首先是從后往前的先進行混合繪制,先是進行針對于不透明顏色物體的先進行混合繪制,然后再進行繪制透明顏色物體之后的再進行繪制混合,在各種移動的游戲平臺上,使用此種混合方法后就會直接產生大量的像素overdraw,采用從前往后的進行繪制混合方法,能夠使得overdraw有所降低,都是深度檢測所帶來的效果。在Shader 中設置成Geometry對象。繪制物體方法也是從后由前往后,如果說的是我們想要要形成固定的一個隊列像素物體,需要用的是從后往前的方式進行物體繪制,這也就能夠表明在我們進行隊列物體繪制隊列圖的設置中一定必須要盡量能夠做到一個geometry,同時我們能夠有效的與Unity物體聯合一起使用,能夠對于物體繪制時的順序能夠進行自動控制,就比如說在一個天空盒子已經完全涵蓋了所有的隊列像素,所處的像素位置也是在隊列物體后面,因此我們能夠將其他的隊列物體設置為一個geometry+1,這樣能夠使得overdraws 有所降低。
3.3 優化代碼
在對于游戲代碼進行編寫的過程中,可以采用單利方式避免使用靜態模式。在程序中使用單例只需要保留一份饑渴,而使用動態的話需要保留多個這樣對象,池內重復使用就會對于物體進行統一的管理,采用預加載方式,針對于資源加載造成的卡頓進行優化。在編寫的過程中盡量不使用foreach,而是使用for的使用,能夠收集到迭代器的使用,每一次的循環都會出現24B垃圾,如果進行10次循環,那么就是240B。在進行訪問的過程中不要直接訪問gameobjec tag屬性,就比如進行if(go.tag==“machine”)的過程中,可以將其轉換成if(go.CompVReTag(“machine”),因為如果訪問的是tag屬性,那么就會使得空間有所增加,在循環處理過程中會產生大量的垃圾,針對于代碼進行重構處理,能夠使得代碼架構設計更優化,降低其耦合性,使其更容易進行擴展。
3.4 優化CPU
在對于CPU進行優化的時候,可以采用降低DrawCalls的方式,但是在日常操作中,主要還是選用批處理。所謂的批處理就是將所有的物體放在一起進行批次處理,需要滿足的條件,必須是物體屬于同一材質,針對于同一材質的物體,除了在頂點數據有所差異之外,其他并沒有差異存在,能夠將所有的數據結合在一起,由CPU進行統一的處理,這樣使得CPU的消耗有所降低。Unity批處理主要是動態批處理與靜態批處理。動態批處理大量增加CPU的消耗,靜態批處理所說的是在進行游戲引擎處理過程中,針對于繪制物體所產生的DrawCalls進行降低,再進行合并之后的物體內外資源進行儲存,使得內存有所增加,CPU資源就會降低。在針對于桌子椅子等圖形進行繪制的過程中,可以在編輯器中將其設置為靜態狀態,將具有同樣材質的物體組合成一個網格對其進行調制,這樣能夠使得 CPU的消耗有所降低。在VR游戲設置過程中,將游戲的角色設置為槍手,能夠配合真實的環境、氛圍、聲音,讓玩家在游戲的過程中有很好的體驗感,所以說在此次游戲過程中,針對于環境特效光聲音等方面都進行了優化處理。
3.5 游戲敵人 AI 功能
游戲中敵人AI智能功能人工智能在游戲過程中是非常重要的一個環節,能夠借助于隨機的數字,使得敵人作出相應的動作以及反抗,在Unity中采用AI腳本程序完成此功能,在普通的射擊游戲過程中,通常都是借助于一套VR規則進行完成,無論玩家怎樣進行操作都會根據VR設計做出相應的回應所具備的確定性較強,這樣玩家在整個游戲過程中并沒有很好的體驗,會感覺較為單調。所以說在游戲的設計中可以增加更多的隨機性,因此VR需要更具智能化,能夠增加模糊概率算法,使得不確定性得到提升,玩家才會有新奇感.當玩家與敵人距離較勁的時候,就敵人能夠進行攻擊,可以借助于腳本設置,針對于敵人的攻擊速度,移動速度命中率等進行修改,針對于腳本編寫需要足夠的小游戲,玩家玩起來才會更有興致,所以為了滿足游戲所需,設置針對于非玩家角色控制算法實現主動與被動控制,兩種方式處于被動狀態下,對于是否能夠進行攻擊觸發條件進行設置。如果說非玩家已經觸動了設置就會轉變為主動狀態,在主動狀態下,如果目標已經到達一定的區域范圍內,那么非玩家就會啟動攻擊模式,或者是進行防備。
4 結語
本來主要介紹的是基于Unity3D與VR頭盔的虛擬現實體感游戲的設計,針對于游戲設計環節所涉及到的算法以及優化方式進行分析,借助于AI系統,能夠使得玩家角色更加真是,吸引玩家的興趣,增加游戲的可玩性。現在游戲的操作方式越來越簡便,故事情節更具吸引力,玩家佩戴VR頭盔結合藍牙遙控器,就可以盡情的體驗到游戲基站所帶來的快樂。信息技術的發展使得VR技術越來越成熟,在教育、醫療、建筑等多個行業已經廣泛的開始使用。在發展的過程中也要保證VR游戲設計精良,需要在策劃以及優化上采取方式,只有這樣才能夠保證游戲設計的新鮮感,并為用戶帶來全新的體驗感。
參考文獻
[1] 胡松,黃睿澤,周昶,等.基于Unity3D和WebAccess的三維可視化能源計量監測系統的實現[J].計量技術,2017(4):16-19.
[2] 劉氫.基于Unity3D和htcvive的虛擬現實游戲設計與實現[J].通訊世界,2017(3):43-44.
[3] 馬方楠,朱明健.數字媒體藝術中頻譜符號的探析——基于古德曼藝術語言觀[J].南京藝術學院學報(美術與設計),2020(6):190-193.
[4] 郭正奕.淺析獨立VR虛擬現實游戲設計[J].數字技術與應用,2021,39(4):164-166.
[5] 王建磊.基于Unity3D的虛擬現實游戲設計與實現——以《VR動物園》項目為例[J].現代信息科技,2021,5(10):53-56,61.
[6] 黃才證.基于強化學習的虛擬現實游戲AI系統研究與實現[D].深圳:深圳大學,2020.