馬曉萍+劉靜
摘要:針對傳統(tǒng)坦克大戰(zhàn)游戲中子彈單枚發(fā)射, 血量為零時坦克直接消失,為增加游戲趣味性,本設計以Unity 5.4為開發(fā)平臺,選擇C# 作為腳本語言,在傳統(tǒng)游戲基礎上設計并實現(xiàn)了增加子彈發(fā)射數(shù)量、坦克損壞后消失兩個趣味、仿真效果。
關鍵詞:Unity;腳本語言;坦克游戲
中圖分類號:TP319 文獻標識碼:A 文章編號:1007-9416(2017)06-0168-01
1 Unity
Unity5是一款利用新增的編輯器功能集,具備了跨越23個平臺的多平臺交互式游戲 引擎,Unity Cloud Build 服務,使得開發(fā)者通過云計算可以更有效的進行游戲和應用的開發(fā)[1]。該系統(tǒng)自帶人物模型,粒子特效,可視化編程解決方案,天空盒、地形、樹等豐富的資源包[2]。Unity 有內置腳本資源包,集成了MonoDevelop腳本編輯器,本設計以C#為腳本語言。
2 實驗設計
為了讓坦克大戰(zhàn)游戲情節(jié)更好地展開,增加游戲的趣味性,本次實驗在傳統(tǒng)的坦克大戰(zhàn)游戲基礎上設計了增加子彈數(shù)量、坦克先損壞再消失兩個游戲效果。
(1)增加攻擊效果。根據(jù)不同玩家按下的不同按鍵發(fā)射子彈攻擊敵方,例如按下 ENTER 或者回車鍵,即可發(fā)射出已經(jīng)設置好的相應子彈數(shù)目。
(2)被攻擊坦克先損壞,再消失。傳統(tǒng)游戲版本中,當被攻擊的坦克的血量變?yōu)榱銜r,該坦克會立即自動消失。為了能更加逼真,血量為零后,先出現(xiàn)一個被損壞的坦克,2秒后再消失。
3 實驗流程
3.1 模型導入與創(chuàng)建
(1)實驗中直接導入fbx格式模型[3]。
(2)將所需物體從原有的models中的設置為預置物體,并拖放到prefabs中,使用時將預置物體挨個拖拽到場景中進行布置,實現(xiàn)預置物的實例化。
3.2 腳本編寫
3.2.1 增加子彈數(shù)目
在inspector中修改tank 的TankHealth 面板屬性 explosion prefab 的值為BustedTank。將該預置物體拖至目標坦克上,當該坦克被攻擊血量達到零時,不會立即消失,先出現(xiàn)破損坦克BustedTank預置物,該實驗中預設2秒后再消失,增加了視覺上的直觀性和趣味性。
4 結語
Unity是一款專業(yè)跨平臺虛擬現(xiàn)實及專業(yè)游戲引擎,其增強的圖形功能和可擴展編輯器使得游戲開發(fā)靈活,周期短,能輕松實現(xiàn)虛擬仿真內容。本案例通過測試游戲的基本操作,子彈的發(fā)射、爆炸,坦克的損壞消失功能,基本達到了預期效果。
參考文獻
[1]Unity Technologies. Unity5.x從入門到精通[M].北京:中國鐵路出版社,2016.
[2]張敏.基于Unity 3D的游戲的設計與實現(xiàn)[J].計算機光盤軟件與應用,2014,269-270.
[3]李慎亮,司占軍.基于Unity平臺的三維坦克游戲設計與實現(xiàn)[J].軟件導刊,2015,14(8):152-154.endprint