周正 司占軍
摘要:Unity3D作為游戲開發(fā)引擎,開源、免費(fèi)的特性使其成為移動(dòng)端游戲開發(fā)的熱門選擇。冒險(xiǎn)闖關(guān)類游戲是一種非常受歡迎的游戲,通過關(guān)卡的難度遞增,來激發(fā)玩家的好勝心,從而長時(shí)間維持玩家對(duì)游戲的興趣。該文基于Unity3D開發(fā)引擎,設(shè)計(jì)并制作了一個(gè)冒險(xiǎn)闖關(guān)類的3D游戲。使用了3ds Max軟件建造角色和場景的模型,使用Adobe Photoshop和Adobe Premiere進(jìn)行素材的制作和編輯,使用C#語言進(jìn)行游戲邏輯的編寫,最后在Unity3D中實(shí)現(xiàn)游戲的開發(fā)。
關(guān)鍵詞:Unity3D;冒險(xiǎn)闖關(guān)類游戲;C#腳本
中圖分類號(hào):TP37 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)21-0090-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
國內(nèi)游戲產(chǎn)業(yè)突飛猛進(jìn)的發(fā)展和手機(jī)的飛速普及,使得手機(jī)游戲的用戶數(shù)量越來越多,手機(jī)游戲逐漸成為人們娛樂消遣的主要方式之一。本文設(shè)計(jì)并制作了一款基于Unity3D引擎開發(fā)的手機(jī)游戲,游戲角色設(shè)定為一個(gè)叫賢二的小和尚,他是一個(gè)可愛、善良但又有很多煩惱的小和尚,將這個(gè)有趣的小和尚作為游戲的特定市場形象.以求在目標(biāo)顧客心目中形成一種特殊的偏愛。
游戲的創(chuàng)新點(diǎn)在于游戲類型的集合,游戲類型定位為冒險(xiǎn)闖關(guān)類,其次還融合了一些音樂和教育元素。在保證該游戲具有娛樂性的前提下,將一些哲理性對(duì)話融入游戲中,在游戲中添加適當(dāng)?shù)墓适虑楣?jié),使教育性與娛樂性相結(jié)合,借此來增加游戲的教育價(jià)值[1]。因此,游戲?qū)⒛繕?biāo)市場定位在青少年身上,并且選擇發(fā)布在Android端。
1 設(shè)計(jì)與制作思路
游戲的制作包括使用Photoshop進(jìn)行展示界面按鈕和背景的UI設(shè)計(jì)制作,使用3Ds Max進(jìn)行人物角色以及場景建模,在Unity3D中制作游戲的UI交互,實(shí)現(xiàn)頁面跳轉(zhuǎn)等交互功能,使用C#語言編寫游戲腳本實(shí)現(xiàn)游戲邏輯功能,在Unity3D中搭建場景,添加音樂等,測(cè)試完成后打包發(fā)布.apk格式到安卓手機(jī)端。游戲設(shè)計(jì)框架如圖1所示。
2 開發(fā)環(huán)境與軟件
開發(fā)環(huán)境:Windows7旗艦版系統(tǒng),InteI(R) Celeron(R)3205U@1.50GHz.4.OGB內(nèi)存,64位操作系統(tǒng)。
制作軟件:Unity 2018.1、Adobe Photoshop CC 2017、VisualStudi0 2017、Adobe Premiere Pro CC 2017n
3 游戲的設(shè)計(jì)與制作
3.1 功能確定
游戲共有3關(guān),每一關(guān)的背景不同,難度不同,關(guān)卡的難易程度之間具有一定的遞進(jìn)關(guān)系。角色會(huì)自動(dòng)前進(jìn),然后玩家通過點(diǎn)擊手機(jī)來控制前進(jìn)。游戲功能包括點(diǎn)擊轉(zhuǎn)彎、點(diǎn)擊跳躍、接觸收取經(jīng)驗(yàn)(收集鉆石和冰激凌、加速功能、減速功能),重力功能(屏幕左右傾斜來移動(dòng)主角位置)。
3.2 圖片素材的整理制作
游戲的角色賢二是一個(gè)已經(jīng)小有名氣的動(dòng)漫人物,在互聯(lián)網(wǎng)上和微信公眾號(hào)上均有相關(guān)資料,游戲的背景圖就是根據(jù)已有的動(dòng)漫背景圖顏色而定的。使用Adobe Photoshop CC2017制作游戲背景圖以及插圖,背景圖如圖2所示。和游戲勝利聲。編輯時(shí),將音樂拖拽到時(shí)間軸上,根據(jù)需要時(shí)間的長短進(jìn)行裁切或復(fù)制,將其他重復(fù)的音效裁掉,只留下需要的音效即可,最終保存為.MP3格式。
3.4 角色與場景建模
用3ds Max軟件進(jìn)行建模。在開始建模之前,首先要進(jìn)行單位設(shè)置,將系統(tǒng)單位比例改成1單位=1.0米。角色建模需要注意的是,由于后期需要制作人物模型行走的動(dòng)畫,所以胳膊和腿建模時(shí)要能從身體中分離開。游戲共有三個(gè)關(guān)卡,每關(guān)各有不同的風(fēng)格,所以模型也不一樣。例如第一關(guān)主題是春天的不二寺,模型全是一些花草和動(dòng)物;第二關(guān)主題是春天的市集,模型大多是建筑,有一些店鋪、周邊涼亭、水井等;第三關(guān)主題是夏天,模型有荷花、向日葵等夏天的植物,還有大號(hào)的遮陽傘、涼椅等物件。
3.5 腳本的編寫
腳本編寫是為了實(shí)現(xiàn)UI界面的跳轉(zhuǎn)和實(shí)現(xiàn)游戲邏輯,具體包括主界面與設(shè)置界面的腳本、背景圖、對(duì)話框和文字的跳轉(zhuǎn)、Loading腳本、勝利與失敗界面的腳本、人物角色移動(dòng)腳本、相機(jī)移動(dòng)腳本、Coin腳本以及游戲管理類腳本的編寫。以相機(jī)移動(dòng)的腳本為例。
public class CameraMove: MonoBehaviour{
public Transform target;
Vector3 0ffect=Vector3。zero;//開始時(shí)定義相機(jī)是不進(jìn)行移動(dòng)的
public bool kai=false;
,/Use this for initialization
void Start(){
)
//Update is called once per frame
void LateUpdate O{
if(kai)
{ //隨著人物角色的移動(dòng),相機(jī)開始移動(dòng)
transform.position= target.position - offect;)}
public void KaiShi0
{
//當(dāng)人物角色開始移動(dòng)的時(shí)候,相機(jī)的移動(dòng)才開始
offect= target.position - transform.position;
kai_ true;}}
3.6 UI界面的設(shè)計(jì)與制作
游戲的UI界面使用Unity3D中的UGUI工具來進(jìn)行創(chuàng)建,所需的按鈕包括“旅程”按鈕、“設(shè)置”按鈕、“點(diǎn)擊”按鈕、“返回首頁”按鈕、“重新開始”按鈕等。制作完成的界面如圖6所示。
3.7測(cè)試及發(fā)布
點(diǎn)擊Unity中的play按鍵進(jìn)行測(cè)試,注意觀察Console中是否出現(xiàn)紅字警告,若是出現(xiàn)便暫停測(cè)試,點(diǎn)擊紅字跳轉(zhuǎn)到錯(cuò)誤部分迸行更改。若是出現(xiàn)點(diǎn)擊play后不能運(yùn)行并且屏幕上出現(xiàn)提示信息時(shí),很有可能是代碼出現(xiàn)問題,再挨個(gè)進(jìn)行查看更改,直到最終可以成功運(yùn)行為止。游戲在Unity中成功運(yùn)行后,可以發(fā)布成.apk格式進(jìn)行手機(jī)端的測(cè)試,測(cè)試無誤后,即可發(fā)布到安卓手機(jī)。
4 結(jié)束語
手機(jī)游戲是游戲產(chǎn)業(yè)發(fā)展的主流趨勢(shì),而使用Unity3D游戲開發(fā)引擎在游戲開發(fā)領(lǐng)域也可以說是炙手可熱,所以基于Unity來開發(fā)手機(jī)游戲的前景一片光明。同時(shí),通過游戲制作之前進(jìn)行的調(diào)研發(fā)現(xiàn),現(xiàn)在冒險(xiǎn)類游戲的熱度僅僅低于益智類游戲,也說明了很多玩家對(duì)于冒險(xiǎn)類游戲的忠誠度。本次利用Unity引擎設(shè)計(jì)實(shí)現(xiàn)的冒險(xiǎn)闖關(guān)類小游戲,正迎合了當(dāng)前游戲產(chǎn)業(yè)蓬勃發(fā)展的機(jī)遇,具有良好的發(fā)展前景。
參考文獻(xiàn):
[1]賈成凈,張守波.基于創(chuàng)新推廣理論的教育游戲推廣策略[J].電腦知識(shí)與技術(shù),2012,8(1): 226-227.
【通聯(lián)編輯:謝媛媛】
作者簡介:周正(1996-),男,山東棗莊人,碩士,研究方向?yàn)樘摂M仿真技術(shù);司占軍(1971-),男,河北人,教授,碩士,研究方向?yàn)閿?shù)字媒體技術(shù)。