騎砍戰(zhàn)團引擎淺析(六)-物體定位路徑控制及推塔游戲做法

騎砍稍微有點技礎(chǔ)的人都知道沒有刷兵點和鋪路徑一張新做的地圖上單位分布就會很不合理或者不能按正常的軌跡行動甚至不能移動。但是仔細看鋪設(shè)路徑,就是將一堆有箭頭的模型放在場景里,而這些模型在游戲中是不可見的性質(zhì)。
也就說原理是路徑箭頭模型事先放置在場景里,并且設(shè)置不可見的屬性(專業(yè)點叫flag,標(biāo)簽),然后游戲中場景的單位就可以根據(jù)這些模型的位置信息進行移動。
也就是說這些路徑箭頭模型它們的作用就標(biāo)定一個場景里的已知點,因為這個游戲的移動是根據(jù)位置來決定,而位置是由坐標(biāo)確定,但是如果可以直接以某個物體的位置來進行其他位置操作,那就可以先跳過坐標(biāo)的設(shè)定存儲調(diào)用環(huán)節(jié),跳過坐標(biāo)也意味著少進行一些抽象數(shù)值的直接儲存,工作量會減少性能會提高。
也就是說只要能做到標(biāo)定一個坐標(biāo)點的模型都可以,那么flag為隱身的人和場景物或者很適應(yīng)場景的裝飾物場景物它們都可以作為人類單位的位置變換導(dǎo)向點,借住它們的坐標(biāo)配合代碼指導(dǎo)人類單位該如何位移。
而推塔游戲不可避免要涉及單位分路固定路徑移動。所以這時候,就三路分兵的情況而言,我們根據(jù)經(jīng)驗可以知道基本上推塔游戲每一路的主干道根據(jù)轉(zhuǎn)彎大概可以分為2到4個直線段,也就是說根據(jù)拐點可以設(shè)置用于定位的隱形場景物,特別的比如野區(qū)的入口點也可以設(shè)置場景物用于定位,而必定要放置的防御塔正好它的位置可以用作定位,就不需要額外放置定位型場景物。這時候我們就可以根據(jù)這些路徑上用于定位的場景物的位置和他們的順序命令人類單位在某兩個相近的定位點按照一定速度(即單位觸發(fā)器運行時間內(nèi)位置變換的尺度)移動,然后再根據(jù)是否遭遇敵方單位,以及前方是否有人卡兵對速度和軌跡進行一些限制,此外如果是DOTA那種拉野吸引小兵,既然已經(jīng)確定了主干道的路徑重要拐點的坐標(biāo),那么兩個拐點之間的任意位置也能確定,所以可以判斷拉野完成之后,讓士兵在自動回到附近兩個定位點之間的坐標(biāo)即可。
其他的都很簡單,按照一定時間刷兵,就跟你們經(jīng)常見到其他mod的召喚類技能差不多。勝負條件就是將基地場景物血條清空的時刻判定觸發(fā)判斷勝負條件的那個全局變量改變,或者將原來勝負判定代碼改掉,觸發(fā)提示框和界面的跳轉(zhuǎn)。