當前位置:編程學習大全網 - 人物素材 - 怎麽實現類似地圖編輯器的功能

怎麽實現類似地圖編輯器的功能

魔獸地圖編輯器使用方法

《魔獸爭霸Ⅲ》地圖制作入門教程

WarCraftⅢ World Editor(簡稱WE),是暴雪巨作《魔獸爭霸Ⅲ》所附帶的功能強大的地圖編輯器。世界上很多地圖制作高手已利用WE創作出了類似《反恐精英》、《暗黑破壞神》、《雷電》、《大富翁》等經典遊戲的魔獸版,可以說用WE只有想不到,沒有做不到。WE功能如此強大,其實不難掌握,因為暴雪已將它做得再“傻瓜”不過了。當妳決定使用它創造地圖時,擺在妳面前的不過是壹大堆“積木”,妳只要發揮自己的創造力,就能將其擺放出壹個自己想象中的世界來。是不是已經等不及了?讓我們趕快啟動WE來制作屬於妳的壹部舞臺劇!

WE由四個主編輯器還有個功能強大的物件管理器(Object Manager)組成。四大編輯器分為地形編輯器(Terrain Editor)、單位編輯器(Unit Editor)、觸發編輯器(Trigger Editor)、音效編輯器(Sound Editor),四者關系如圖,其中要屬地形編輯器和觸發編輯器功能最為強大。本文將以四大編輯器為主線介紹WE,並以官方RPG地圖WarChasers的制作方法為例,由淺入深地講解構建壹幅魔獸地圖的思路。(註:本文使用的軟件為英文版WarCraft World Editor 1.05版)

搭建舞臺場景——地形編輯器

WE基本元素之壹。光用地形編輯器就能制作出簡單的對戰地圖。由於它被設計得“傻瓜化”,就算是新手操作起來也非常容易,仿佛Windows畫板壹樣。

通過魔獸爭霸快捷程序組運行World Editor之後看到如圖1界面,這便是最基礎的地形編輯器。

①上方為菜單欄,與其它的Windows軟件類似,在這裏可進行WE的所有指令操作。

②WE的主編輯視窗,通過它看到所編輯地圖的全貌。

③輔助視窗,對妳編輯地圖有壹定幫助,不過會影響到速度。

④工具面板,相當於壹個巨大的素材庫,能很方便地添加物件到地圖。

⑤狀態欄,記錄了包括鼠標位置、鼠標所選物件的名稱等附加信息。

看過地形編輯器的構造之後,我們來學習如何繪制地圖的基本場景。第1步,新建壹張地圖(File→New)(如圖2),這時妳會看到網格——暴雪為了方便玩家合理安排地圖構造而設計的類似壹些圖像編輯軟件的引導線(可通過View→Grid→None來消除它)。首先,我們使用工具面板的地形面板(Terrain Palette)(圖3)來創建壹些山和水之類的自然地貌。A部分用來調整地形紋理以及繪制分界線。B部分調整懸崖、海水以及地表類型,不過在這裏請註意兩點:第1,只能在高度差為1,而且寬度至少為三個中型網格,長度在五個中型網格以上的地形間創建坡道(Ramp);第2,不要在小範圍內同時使用兩種懸崖類型(Cliff Type),這樣可能會造成地表貼圖錯誤。在完成了地形紋理設計和懸崖調整以後,使用C部分的地形高度選項來使地形變得更自然點兒。在調整高度時,建議使用D部分的筆刷選項,將筆刷調整到最大,這樣可省下不少力氣(圖4)。

對自己創造的地形滿意嗎?光禿禿的可不好看,想加些樹木、小鳥還有瀑布之類的修飾就需要用到擺設面板(Doodad Palette)了,點選工具面板上方的選擇框或點擊Layer→Doodad來切換到擺設面板(圖5)。當妳創建類似箭靶的物品時,會發現大小與方向都是隨機的,這時妳既可將四部分的隨機大小和隨機方向取消,然後重新添加擺設,也可通過雙擊調整擺設,然後輸入數值來改變大小、方向和種類。如果妳只想大致地調整壹下方向,則使用Ctrl+鼠標左鍵點擊/拖拽(圖6)。

嘿嘿,接下來就是為妳的地圖添加有生力量了,用相同的方法切換到單位面板(Unit Palette),相信到這裏魔獸玩家應該不會陌生,妳可隨意添加任何兵種和建築到地圖上(圖7),不過要註意,當準備創建中立生物或構建敵人基地時,別忘了更改上方的玩家哦(默認是Player1 Red)。同樣能通過雙擊已建立的單位來更改所有者,也可使用鼠標框選或用Shift+鼠標左鍵來選擇多個單位進行批量修改。除了所有者以外,單位的屬性面板和擺設的屬性面板還有很多不同的地方,其中的技能欄可激活所編輯單位的技能,而掉落物品欄多半用於設置中立生物死亡時掉落的物品。當然,遊戲地圖都需要有起始點,在單位面板中Buildings的最後壹欄找到起始點(Start Location),然後將它創建在地圖上的任意地方。別忘了作為對戰地圖,至少要有兩個起始點。接下來需要做的就是為妳的對戰地圖加上壹些小修飾了:點擊菜單Scenario→Map Description,在Description欄裏妳可修改地圖名稱、遊戲人數和地圖說明,作者欄裏簽上妳的大名(圖8)。最後測試壹下地圖(Ctrl+F9)就可存盤了。壹張簡單的對戰地圖不就出來了?

排練演員——單位編輯器

大家肯定不會滿足於只創造簡單的對戰地圖,就像有了電腦不光只學打字壹樣。想學會如何駕禦WE添加壹些有個性的元素,這時我們就要用到下面的單位編輯器了。

單位編輯器功能很強大,因為官方經常用來調整平衡性,所以使用它就好像編輯QQ個人資料壹樣簡單。本節將介紹如何使用它,並且主要對各個可修改選項加以解釋,讓大家可盡情發揮想象力創造新的單位——善惡美醜高矮胖瘦,完全由妳選擇。

用F5打開它以後,我們可看到A部分是與地形編輯器同樣的菜單欄和快捷按鈕欄,單位編輯器的菜單命令非常少且比較簡單。B部分是單位樹,在這裏妳可全覽所有單位。C部分則是顯示在B部分選擇單位的詳細數據,妳要做的就是在此對各項數據進行修改。通過點擊菜單File→New Custom Unit新建自定義單位,彈出新建單位窗口,其中名字可在創建後再編輯,最主要的是選擇參照單位,也就是要妳選擇想在哪個單位的基礎上進行編輯。選擇了之後會在單位樹的最下方看到新建的單位被放在了Custom Units目錄下,點選剛才新建的自定義單位,通過右方的編輯窗口對數據進行修改(圖9)。

因為編輯器裏面可編輯元素多得恐怖,而且有壹些玩家在遊戲中都沒有見過,所以我只對常見的項目進行解釋(見表1)。

註釋 傷害值的計算:例如9級石頭人的基本傷害值為60,傷害值隨機數為1,隨機傷害值為8,我們就可算出石頭人對地攻擊的最大傷害為60+1×8=68,最小傷害為60-1×8=52,即傷害值範圍為52~68。金錢獎勵的計算方法同理。

以上是普通單位的編輯介紹,在編輯英雄單位時,有以下特有的修改選項(見表2)。

在設置完了這些讓人眼花繚亂的單位數據及屬性後,不要忘了通過點擊菜單File→Export Unit Settings來將所改動的單位數據存儲到文件中,然後再在妳自己設計的地圖上使用Import Unit Settings來調入修改了的數據。

展開劇情——觸發編輯器

觸發編輯器是WE的靈魂,魔獸RPG無限的內涵就是因為它的存在。在此節,我們通過分析經典RPG地圖WarChasers(大家可在魔獸爭霸遊戲目錄的Maps\Scenario下找到它)中的幾個設計要點,來對觸發編輯器有基本的認識。

打開地圖WarChasers可看到它的全貌(圖10),不要光顧著欣賞地形,這些在上面講述的地形編輯器中妳同樣能做到。在講解範例之前,先來了解壹些觸發器的基本常識。首先是域(Region)的概念,它是地形編輯器與觸發編輯器之間最重要的壹道橋梁,絕大多數的觸發器(Trigger)都與它有關系。通過工具面板→域面板(Region Palette)來顯示地圖上的域,大家會看到地圖上有許多不同顏色的矩形框,這便是域了,其中每個矩形框都是壹個域。域面板簡單地分為兩部分:壹部分僅為壹個快捷鍵按鈕,當激活時(綠色)為增加域,當取消激活時(灰色)為編輯域的大小或移動/刪除域;另外壹部分是域列表,在這裏通過雙擊域名,視窗會跳轉到該域所在區,並且還可在域名上單擊鼠標右鍵→編輯域屬性(Edit Region Properties)來修改該域的詳細資料,除了修改名字和微調域大小以外,還能改變域的顏色(Select Color)、天氣效果(Weather Effect)和聲效(Ambient Sound)(圖11)。

了解過域以後,可進入觸發編輯器的學習了。按快捷鍵F4打開觸發編輯器,有壹個類似單位編輯器的窗口擺在了面前。讓我們來看看它的結構(圖12):最上方的是菜單欄。往下左邊是觸發器樹,類似於單位編輯器裏的單位樹。目錄下出現的文件便是觸發器,左鍵單擊觸發器會打開編輯視窗。位於編輯視窗上方的文本框為備註框。備註框下方的便是觸發器編輯主視窗了,這裏需要講解的是觸發器分為事件(Events)、條件(Conditions)、行為(Actions)三部分,即當發生什麽事件,並且滿足什麽條件時執行什麽行為。是不是感覺有點像計算機語言壹樣枯燥,那麽現在讓我們試著讀懂WarChasers中幾個觸發器制作的效果實例吧。

實例壹:如何實現遊戲開始時的選擇英雄,這是絕大多數RPG地圖所必備的。

實例效果:進入遊戲後,將樹精靈移動到英雄附近時,則選擇該英雄(圖13)。

實例講解:進入觸發器樹中Hero Selection目錄下的Robo X觸發器,我們可看到主視窗中的事件、條件、行為三大部分(圖14)。

事件部分:此處的意思是當壹個單位進入Robo X域,則引發該觸發器。(通過雙擊可以編輯為妳所需要的語句)

條件部分:在這個實例中條件部分為無,即當事件發生時無條件運行該觸發器。

行為部分:(下文中提到的玩家1為玩家自己,玩家12為電腦)

1.在Start2域中心為進入單位的擁有者新建壹個名為Megotron X的單位(在這句中,妳可以更改生成的單位數量、類型以及在哪個域新建該單位和該單位被建立時的角度)。

2.給剛才建立的英雄壹個復活十字勛章(由於這是給英雄添加物品,所以不能設置數量,不過妳依然可以更改物品的類型。Last Created Unit代指的便是剛才新建的Megotron X)。

3.如果進入的單位屬於玩家1則將剛才新建的Megotron X賦予單位類型變量Player1,否則什麽都不做。(這裏利用了Set行為語句來設置變量,為什麽要設置變量呢?就像為什麽我們每個人都有名字壹樣。If Then Else是經常用到的行為語句,它常會通過條件來判斷該執行哪個行為)

4、5、6.三句橫線標註的語句功能同第3句壹樣,大家很容易讀懂。

7.移出進入Robo X域的單位(這裏的Entering Unit同樣指的是進入域的樹精靈)。

8.啟動觸發器Snap Camera to Player(檢查條件)。(執行Camera Control目錄下的Snap Camera to Player觸發器,妳也可通過使用類似以Trigger開頭的語句的觸發類型語句來建造觸發器鏈,相當於連鎖反應)。

實例總結:現在我們知道RPG地圖開始時用壹個精靈選擇自己喜歡的英雄來作戰,這個最基礎的觸發器實例是怎麽樣通過事件、條件、行為這3個部分來組合的,還了解了基本的語句構成。

實例二:類似Tower Defense的兵海,在這個例子中妳將認識到觸發編輯器的差異性,即類似的語句卻會產生不同效果。

實例效果:在WarChasers地圖中會有壹個開著坦克前進,然後很多骷髏兵向妳湧來的效果,著名的Tower Defense地圖中也有類似的觸發器影子(圖15)。

實例講解:目錄Monster下面的TankRun1~9觸發器,鑒於這九個觸發器有相似性,所以我就拿觸發器TankRun1來作分析了(圖16)。

事件部分:意思是當壹個單位(坦克)進入TankSpeak域時,則引發該觸發器。

條件部分:進入該域的單位必須屬於Playersgroup(這裏出現了條件,不滿足條件時行為部分就不會被執行。其中Playersgroup是壹個玩家組類型的變量,在其它觸發器中,已設定了Playersgroup包括了遊戲中的四個玩家,所以這裏也可理解為任何壹個屬於玩家的單位進入TankSpeak域時,才能滿足執行行為的條件)。

行為部分:

1.關閉此觸發器(這個語句便是控制該觸發器,使它只運行壹次,這裏我們需要註意到的是行為部分的語序性,即語句是按照從上到下依次執行的)。

2.為玩家12在MakeSlimers域中任意壹點新建兩個通過單位編輯器創建的名為Giant Skeleton Warrior的骷髏戰士(請註意到這個語句執行的效果是先確定任意壹點,再在該點建立兩Giant Skeleton Warrior)。

3.為玩家12在TankSkels1域中任意壹點新建壹個單位名為RoadKill Skeleton的骷髏,並執行30次(其實效果便是在TankSkels1域內建立30個RoadKill Skeleton。玩家可能會覺得這個等同於上面的語句,但是請註意,因為域內的隨機點在每次執行語句時都會變化,所以這30個RoadKill Skeleton不會像上個語句裏的兩個Giant Skeleton Warrior壹樣聚集在壹起,這樣才會有骷髏海的效果,請大家註意我用橫線標註的單位類型語句是相同的)。

實例總結:通過這個例子我們不僅學會制作Tower Defense效果,而且還看到For語句可簡化很多繁瑣的效果,大家應該多多練習使用。是不是覺得簡單了?那我們就來個難壹點的!

實例三:瞬間移動。通過此實例我們可發現觸發編輯器不僅有差異性,也有多樣性,即用多種方法達到同壹個目的,正是因為如此,觸發編輯器才可讓大家盡情發揮想象。

實例效果:當坦克到了終點以後,將玩家的英雄傳送到Waygate2 A域(圖17)。

實例講解:目錄Tanks下面的Player 1 Leaves Tank觸發器(圖18)。

事件部分:當壹個單位(坦克)進入Tank Leave 02域時,則引發該觸發器。

條件部分:進入的單位為變量Player1(這裏請大家不要被迷惑了,這個Player1只是壹個單位類型變量,而非玩家1,這個變量指代的便是坦克)。

行為部分:

1.關閉此觸發器。

2.取消變量TempPlayer1的隱藏狀態(當妳的英雄進入坦克時,在其它觸發器中已將妳的英雄隱藏,並賦予單位類型變量TempPlayer1,●表示單位相關語句)。

3.將TempPlayer1移動到Waygate2 A域(這個移動沒有等待時間,可算是瞬間移動)。

4.在Tank Leave 02域創造“傳送”特效(這是壹個用來創造特效的語句,大家可能會問,英雄都被傳送到了Waygate2 A域了,怎麽還能在Tank Leave 02域看到特效?其實在玩家進入坦克時,視角已被固定在了坦克身上,在沒有新的語句來改變視角之前,視角依然只是坦克,▲表示特效相關語句)。

5.將剛才建立的特效賦值給特效類型變量列TankSFX[1](這裏出現了變量列(Array)的概念,所謂變量列,就是將同類型變量集中在壹起,便於操作,就像把書都放在壹個包裏便於攜帶壹樣)。

6.等待0.10秒(等待語句在觸發編輯器裏作用也比較顯著)。

7.隱藏變量Player1。由於坦克在以後的遊戲中不會再使用到,所以我們完全可使用Remove命令將它刪除,妳可新建移除單位的行為語句(Unit-Remove),然後將Triggering Unit值更改為變量(Variable)Player1,這樣便做到和隱藏變量Player1等同的效果了。

8.將TempPlayer1值賦予Player1(執行後,Player1便是指代的玩家的英雄了)。

9.執行Snap Camera to Player(忽略條件)(當選擇忽略條件時,就算執行的觸發器有條件也不會被考慮,這便是轉換視角的語句)。

10.等待2.00秒。

11.摧毀特效TankSFX[1]。(將剛才建立的特效摧毀)

實例總結:這個例子有些復雜,大家可反復看註釋並結合遊戲來分析。我們從這個例子了解到在觸發編輯器中達到壹個目的不是只有壹種方法。另外,編輯觸發器中經常用到變量,但請大家註意使用變量時要有邏輯性,邏輯錯誤會導致整個地圖出現問題。

主題曲及配音——音效編輯器

四大編輯器中最後壹個組員——音效編輯器,不過它並不像其它編輯器那樣強大,使用它為的是渲染地圖內涵的氣氛。

按F5鍵啟動聲效編輯器,結構與單位編輯器類似(圖19),上方的菜單欄中,可輸出/輸入聲音或者樂曲,在左方的聲效樹狀列表中,能找到出現在魔獸爭霸遊戲中的所有聲音和樂曲。雙擊可播放該文件,若想在觸發編輯器中能調用該音效,則需要通過點擊菜單File→Use Internal Sound將該文件導入到右方的聲音變量列表,以使它成為壹個變量。當然,這樣還不能算完工,還需要在觸發編輯器中調用它才行,在觸發器的行為部分加入播放聲音/樂曲(Sound-Play Sound或Sound-Play Music)的行為語句,便可播放剛才所加入的聲音/樂曲了。雖然聲音類型的行為語句很多,不過對於初學者來說,掌握這兩個和中止聲音/樂曲(Sound-Stop Sound或Sound-Stop Music)就差不多了。

OK,至此我們已了解WE的基本核心內容了,即通過四大編輯器來進行自主設計,為了能使大家有個較清晰的脈絡,我們為大家整理壹下制作地圖的基本思路(圖20):

1.運用地形編輯器繪制出地圖的全貌,這是壹張地圖能否吸引人的首要條件。

2.運用單位編輯器在地圖中創建遊戲可能出現的任何單位,包括人物、建築等。

3.在策劃的前提下,合理使用觸發編輯器來讓整個地圖“動”起來。大體步驟為:初始化數據→建立遊戲系統(即設置人物變量等,可以增加壹些類似販賣物品系統等新元素)→遊戲任務。初學者可根據上文介紹的實例進行模仿,平時多多分析高手的地圖設計,有了經驗後向更復雜階段挑戰。

4.地圖的後期制作,包括用音效編輯器添加背景音樂、遊戲音效等,然後再進行壹些其它方面的潤色。

5.調試階段,如果妳想做出壹張受大家喜愛的地圖,那麽設計完地圖後不要急於推出,首先讓自己不斷地去調試,去試玩,玩到自己都不想看到這張地圖時,就大功告成啦!

既然我們了解了運用WE制作地圖的方法,那麽介紹幾張人氣很旺的地圖下載後進行遊戲,並運用學到的知識分析高手是怎樣設計出這些經典地圖的。

Kaggz RPG-Shadow of Evil(圖21)

這張地圖首次出現是在去年秋季。特色之壹是多個分支任務,在遊戲中,玩家可通過收集空瓶子來換取隱藏的裝備或去尋找某個NPC來學習技能;特色之二便是可“進入房屋”,即走到房屋門口便可進入房內購買道具等,其實便是基於前文所介紹的“瞬間移動”實例制作的;特色之三是通過了聲效編輯器插入了壹首非常符合遊戲節奏的MP3,使得玩家可充分融入遊戲。

PhoenixFlame(圖22)

這張不久前才推出的RPG地圖可謂將觸發器的使用發揮到了極致。妳甚至可像玩真正的RPG壹樣和每個NPC進行對話。地圖中新建了壹個龐大的遊戲系統,即加入了風、土、火、水等幾大屬性,要得到相應的物品才能學習相關的技能,而且還需要不斷地使用技能來提高熟練度。它的成功不光是依賴遊戲系統,作者在遊戲任務上也下了不少苦心,例如有時妳需要利用小石塊來引開守衛(怎麽聽起來像《盟軍敢死隊》?);如果要進入永久黑暗的地區妳需要先去獲得火把;對付某個物理攻擊無效的Boss,妳需要換成魔法攻擊。由此,讓人不得不佩服地圖制作者的水平。

LineAge 系列(圖23)

韓國著名在線遊戲《天堂》的魔獸版,在亞洲服務器上非常流行,玩家在進行遊戲時需要做的只是殺怪練級然後完成任務,特點是對《天堂》模仿度很高,不僅擁有龐大的轉職系統,而且迷宮、任務的設定都是極力效仿原著,目前甚至它的壹些改版幹脆使用了天堂裏面物品的圖標。至於這種地圖的遊戲性不需要我說了吧,在線遊戲的吸引力是不言而喻的。制作方面,因為是韓國人制作的地圖系列,所以都經過了加密,玩家不能通過WE對該系列地圖進行學習,不過依然可作為中級地圖編輯者進階時效仿的對象。

羅羅嗦嗦了這麽多篇幅,希望大家對於使用WE制作魔獸地圖有了壹個基本框架的認識,當然,如果想全面了解WE的所有功能以及使用方法,恐怕壹本書也講不完。我們這篇WE教程只是讓更多的人熟悉WE並學會利用它做壹些簡單的屬於自己的地圖,起到拋磚引玉的作用。要制作出受到玩家喜愛的、內容豐富的高級地圖,平時的積累和學習是非常重要的,當然,最重要的是個人的愛好和鉆研精神。期待不久的明天在各大服務器上我也能玩到妳們的地圖,祝各位好運!

(本文提及的所有地圖均可在War3.OGame.NeT下載,如有疑問歡迎大家到偶遊社區魔獸地圖論壇討論)

地形編輯器技巧

1.點擊菜單File→Perferences可對WE進行優化,如果妳總是忘了存檔,那麽在General欄中設置AutoSave的時間來開啟自動存檔,至於其它選項大家可根據喜好來調節。

2.通常在設計完地形以後會通過點擊菜單View→Pathing或按快捷鍵P開啟路徑選項,用來檢查道路是否可通過,其中紫色代表不能通過。

3.當為單位面板時妳不能點選到擺設,需要切換到擺設面板;同樣,當在地形面板時,只能對地形進行操作。

單位編輯器技巧

用單位編輯器來讓壹個單位變成無敵(Invulnerable)。很簡單,修改該單位的能力選項,再點選添加能力(Add Ability),然後妳可從單位(Unit)能力面板中找到Invulnerable(Neutral),選擇它便可以了。

觸發編輯器技巧

在檢查錯誤時,通常在可能引起錯誤的行為語句前加入Game-Text Message(Auto-Timed),這是壹個在遊戲中顯示文字的語句,妳可將它們設置為顯示不同的信息,這樣當妳發現哪個信息沒有顯示時就可大致確定引起錯誤的語句了。

  • 上一篇:Ps汽車前部材料
  • 下一篇:少先隊主題隊會活動方案6篇
  • copyright 2024編程學習大全網