陳志敏
摘 要:以unity3d游戲開發(fā)方式為論點進(jìn)行研究。具體是在對untiy概念進(jìn)行解析的基礎(chǔ)上,對于手機(jī)游戲相關(guān)的關(guān)鍵技術(shù)進(jìn)行探究,在此基礎(chǔ)上對手機(jī)劃屏控制模式、游戲虛桿控制以及游戲釋放進(jìn)行解析。希望unity3d技術(shù)演變成手機(jī)游戲開發(fā)的核心技術(shù),為游戲開發(fā)人員提供處理游戲開發(fā)問題的思路。
關(guān)鍵詞:unity3d;手機(jī)游戲;開發(fā)技術(shù);實現(xiàn)程序
unity3d作為一款功能強(qiáng)大的游戲設(shè)計軟件,其涵蓋的關(guān)鍵技術(shù)是多樣化的。文章以unity3d平臺為依托,對游戲關(guān)卡、場景與功能模塊的規(guī)劃流程進(jìn)行概述,提出了達(dá)成unity3d手機(jī)游戲研發(fā)目標(biāo)應(yīng)用核心技術(shù)與核心代碼的建議,其帶有快捷性特征,處理了單機(jī)副本與廂房挑戰(zhàn)換卡規(guī)劃與實現(xiàn)等問題?;诖?,本文做出如下論述內(nèi)容。
1.unity3d概述
unity為丹麥Unity公司研發(fā)的一種游戲開發(fā)工具,其性能包括帶有匯總功能的編輯器、地形編輯、腳本、網(wǎng)絡(luò)、版本控制等。和他類游戲引擎相比較,unity3d游戲最大的特征體現(xiàn)在分外重視規(guī)劃者對游戲可玩性的重視程度方面,而不是過度的追求規(guī)劃的簡潔性[1]。另外其還帶有經(jīng)濟(jì)性特征,這也是其備受廣大游戲產(chǎn)品研發(fā)者歡迎的內(nèi)在原因。
2.手機(jī)游戲開發(fā)關(guān)鍵技術(shù)
對Unity手機(jī)游戲研發(fā)進(jìn)程進(jìn)行解析,手機(jī)游戲擁有多個功能模塊,常見的有主屏幕劃屏、界面刷屏、技能成長系統(tǒng)、場景技能釋放等,達(dá)成研發(fā)游戲的目標(biāo),在手機(jī)游戲產(chǎn)品設(shè)計的過程中,主要的應(yīng)用的關(guān)鍵技術(shù)與程序可做出如下論述內(nèi)容:
步驟1:借助對數(shù)值測算的形式,明確與屏幕相匹配的設(shè)計技術(shù)[2]。
步驟2:初始研究目的是達(dá)成PC端與手機(jī)端兩者的觸屏控制,借助Touch類與Input類規(guī)劃模式從而達(dá)成在不同平臺應(yīng)用“十字架”滑屏技術(shù)的目標(biāo)。
步驟3:借助將二維空間向量轉(zhuǎn)型為三維空間向量的方式,從而使游戲手柄功能控制技術(shù)達(dá)成目標(biāo)的實現(xiàn)不再是難題。
步驟4:應(yīng)用Mecanim動畫設(shè)計玩家的移動狀態(tài)機(jī),整合狀態(tài)規(guī)劃手機(jī)手柄管控玩家技術(shù)。
步驟5:規(guī)劃與玩家相關(guān)的七大技能模塊的成長技能系統(tǒng),設(shè)置游戲道具創(chuàng)設(shè)XML表,應(yīng)用字典去刷新XML表,繼而應(yīng)用游戲數(shù)據(jù)技術(shù)解讀并獲取表內(nèi)數(shù)據(jù)資源,并對其進(jìn)行有效管理。
步驟6:對UI版面進(jìn)行規(guī)劃布設(shè),將其定制成預(yù)制構(gòu)件,其最大的功能體現(xiàn)在加載與銷毀游戲版面環(huán)節(jié)上。
步驟7:對蜘蛛、機(jī)器人、大boss三類敵人的人工智能技術(shù)進(jìn)行規(guī)劃,繼而應(yīng)用大批量射線以碰撞的形式對其性能進(jìn)行檢查與測量,點乘、叉乘等向量知識構(gòu)建交互式攻擊技術(shù)。
步驟8:對火系、水系、千里眼以及法寶等多樣化技術(shù)采取實例化措施,具體是以協(xié)程為媒介,借用視線追逐算法管控技術(shù)的移動方法與攻破方法技能。
步驟9:對游戲C#腳本的邏輯算法進(jìn)行規(guī)劃,其囊括的內(nèi)容是多樣化的,常見的有游戲玩耍方法、關(guān)卡邏輯、界面刷新與怪物的人工智能。
3.手機(jī)游戲客戶端的規(guī)劃與實現(xiàn)流程
3.1手機(jī)劃屏控制模式
其實質(zhì)上就是能夠在PC端和手機(jī)端之間獲得滑屏成果,具體是借助調(diào)整界面各個方位虛擬十字架坐標(biāo)的方法,達(dá)到管控和確定相機(jī)方位的目標(biāo),界面運動的模式大體上可以被細(xì)化為以下兩個部分:
一是人工拖動相機(jī)促使界面位置發(fā)生變化;二是若移動的長度大于預(yù)設(shè)數(shù)值之時,自行松開鼠標(biāo)相機(jī)就會以彈跳形式移動至目標(biāo)地點,從而達(dá)到全方位滑動界面的目標(biāo)。手機(jī)全方位滑動界面最大的功能體現(xiàn)在可以使攝像機(jī)投射的方位以彈跳方式移動至特定方位方面上。
算法解析
當(dāng)鼠標(biāo)按下之時,錄入手指按下方位處的信息。當(dāng)鼠標(biāo)按住之時,辨識的是水平移動還是左右移動模式System.Math.Abs()得到絕對值,若上下移動的數(shù)值小于左右移動的數(shù)值,采取左右移動模式,并確定射線機(jī)方位的豎直分量值;若上下移動數(shù)值高于左右移動數(shù)值,采用豎直滑動模式,明確射線機(jī)橫向分量數(shù)值。當(dāng)鼠標(biāo)上抬之時,測量并辨識鼠標(biāo)滑動的數(shù)值,若其小于預(yù)設(shè)的滑動值,使射線機(jī)移動至特定方位;若其滑動數(shù)值過小,就將射線機(jī)返回至最初位置。
3.2游戲虛擬桿控制
借助繼承NGUI內(nèi)Drawdropitem類達(dá)到以鼠標(biāo)與手指為媒介整頓圓球狀態(tài)的目標(biāo),具體程序可以做出如下概述:(1)參照虛擬桿的尺寸,規(guī)劃約束虛擬桿移動圓球的范疇以及其與中心點的間距,即小于100。若大于100,那么約束距離就為100;(2)依照中心圓球的方位至虛擬桿中心處的向量走向管控玩家角色運動方向,繼而參照圓球可移動范疇對玩家移動速度進(jìn)行管控,虛擬桿在整個二維平面上做圓周運動,并與三維平面上玩家移動模式構(gòu)建對應(yīng)關(guān)系;(3)以鼠標(biāo)與手指的狀態(tài)為憑據(jù)掌控中心圓球的原始狀態(tài),一旦鼠標(biāo)與手指分離,那么中心圓球?qū)俅畏祷刂撂摂M桿的中心方位,在這樣的情景中玩家處于消遣且位置不發(fā)生變動的狀態(tài)中;一旦有鼠標(biāo)或手指等外力移動中心圓球之時,玩家角色將會發(fā)生一定的變化。
3.3游戲釋放分析
3.3.1火系技能
借助實例化方法所呈現(xiàn)出來的方位是高于敵人的,在協(xié)程IEnumerator流程的協(xié)助下對實例化程序進(jìn)行管控,實例化火炮數(shù)目共計8個,待實例化目標(biāo)達(dá)成以后,火炮自行探尋與玩家臨近的敵人,對其進(jìn)行攻擊,應(yīng)用的攻擊方法多數(shù)為視線攻擊。
3.3.2水系技能
實例化方位的布設(shè)體現(xiàn)出個性化特征,這主要是因為其始終面對敵人的緣故,正因如此實例化位置應(yīng)該高于玩家,并且4個水系技能炮所存在的平面無論是與玩家還是敵人所在的直線成角均為90°。實例化初期需測算敵人到玩家方向向量的豎直向量,其宗旨在于獲得豎直的單位向量,繼而與間距相乘,獲得水系技能的左右距離,最后其與向上的方向向量整合在一起,獲得實例化方位,實例化產(chǎn)出以后會應(yīng)用視線追蹤方法對敵人展開追逐攻擊。
3.3.3千里眼技能
游戲玩家通常有正常狀態(tài)、千里眼狀態(tài)、保護(hù)三種狀態(tài)。啟動該狀態(tài)之時,只需對玩家狀態(tài)施以切換對策,使其轉(zhuǎn)型為千里眼狀態(tài),繼而調(diào)整為手柄對其進(jìn)行管控,在這一形式下手柄的控制模式將發(fā)生一定的轉(zhuǎn)型,首要管控對象是由玩家至攝像機(jī),移動范疇由一個圓圈范疇拓展到一個圓環(huán)范疇,實質(zhì)上就是手柄的中心圓球在50~100可移動范疇內(nèi)運行[3]。一旦千里眼狀態(tài)被啟動就會有一個管控攝像機(jī)移動方位的游戲界面被添置界面內(nèi),在這樣的情景中玩家對攝像機(jī)旋轉(zhuǎn)、移動兩項工序就可以同步運行了。
4.游戲的發(fā)布
游戲產(chǎn)品制造任務(wù)完成,并且調(diào)試運轉(zhuǎn)大體良好,就可以進(jìn)入游戲發(fā)布環(huán)節(jié)了。unity游戲產(chǎn)品發(fā)布程序可以做出如下概述:在unity3d內(nèi)選擇文件菜單一個發(fā)布裝備,在該處可以選擇添置游戲情景,在前端情景中會呈現(xiàn)出T。在平臺內(nèi)可安設(shè)web播放、PC、安卓等多樣化平臺,繼而選擇發(fā)布。
結(jié)束語:
綜合全文論述的內(nèi)容,對手機(jī)劃屏控制模式,游戲虛擬桿控制以及水系技能、火系技能、千里眼技能有一定的認(rèn)識,對游戲發(fā)布程序也有初步的了解。本文受篇幅的限制,只是對unity游戲中的兩種技術(shù)進(jìn)行闡述,希望游戲產(chǎn)品開發(fā)人員在不斷的實踐中總結(jié)經(jīng)驗,從而使unity3d技術(shù)在提升游戲產(chǎn)品開發(fā)質(zhì)量方面做出更大的貢獻(xiàn)。
參考文獻(xiàn):
[1]張帥,周恒杰,張琳濤.基于Unity3D和Kinect的體感跑酷游戲開發(fā)關(guān)鍵技術(shù)設(shè)計與實現(xiàn)[J].三明學(xué)院學(xué)報,2015,06:32-36.
[2]程彬彬,王明鑫,商楠.淺談游戲開發(fā)平臺Unity3D的應(yīng)用與發(fā)展前景[J].通訊世界,2016,14:236.
[3]張俊,廖金巧.基于Unity3D的手機(jī)版FPS射擊游戲設(shè)計與開發(fā)[J].赤峰學(xué)院學(xué)報(自然科學(xué)版),2016,15:38-39.