UnrealEngine在遊戲裡具備了各式各樣的AI角色(也就是Bot),已經做好最基本設定的Bot已經準備好了。
先使用遊戲內的Bot試試看吧。詳細的步驟可以直接上官方網站看教學影片,可以看Top Down Game這個項目裡第19項影片以下的部分,由於稍微有點複雜,我們這裡就簡明扼要的說重點。在最低限度處理的型況下讓一個敵人可以進行攻擊行為。
只有放地板及平行光源就是一個簡單的場景了
接下來打開內容瀏覽器,上面有個「Actor類別」的標籤,看到了就按下去。下面的畫面就切換到會換成所有Actor的樹狀一覽表。在這裡在有標示「Note」的地方按一下,把它選起來。
回到Unreal Editor,在場景上適當的位置按滑鼠右鍵,選擇「把Note添加到此」,如果沒有的話就選「添加最近使用的物體」→「添加Note」。在畫面上就會出現一個像是筆記本一樣的綠色圖被放在地上。所謂Note就是記錄該點位置,以便到時候其他的功能可以利用這裡的位置資料。
這個時候有一個要注意的地方。請別把Note埋到地板下或者是其他物體裡面。實際在執行的時候會發生警告訊息,然後Bot就不會出現。
設置Note在地面上。另外,像這樣直接放著的狀態有可能會陷到地面下去,在把Note拉上來一點會比較好。
維持現在的狀態(Note被選擇下),最上面的工具列有個「K」連著一個箭頭的圖示,按下去後會把Kismat打開。所謂Kismet就是Unreal Engine 把程式運算的流程用圖像表現的視覺化程式語言環境。「Kismet」這個詞彙的意思即是伊斯蘭語裡「命運」的意思。
Kismat視窗裡按下滑鼠右鍵,有一項「新建對象變量使用Note_0」會出現在迸現選單裡,選擇它以後,這樣Kismet上就可以使用Note_0的位置資訊了。
接下來,我們就要來製作之後要進行運算的啟動條件設定。
按右鍵選「新建事件」→「Level Loaded」。
再來在別的空的地方按滑鼠右鍵,選擇「新建動作」→「Actor」→「ActorFactory」。ActorFactory是遊戲在執行的時候,可以替Actor追加動作的功能。
畫面出現的任何圖形,壓著Ctrl鍵就可以自由操作每個圖型的位置,請照著圖片參考放置的位置吧。
從這裡開始要用Kismet設定「做好的場景要載到PC裡,遊戲啟動後新的Actor作為敵方NPC從Note_0的位置生出來」。
從Level Loaded的「Beginning Level」的突起拉出來,接到Actor Factory的Spawn Actor的凸起部分去。
然後再從ACtorFactory的「Spawn Point」的突起部分開始,拉線接到先前設好的Note_0上。
接下來就是最重要的ActorFactory設定的部分。選擇ActorFactory起來的時候下面會出現參數設定的部分,注意到Factory的地方。「None」的意思是什麼都沒設定,所以我們要先把想要產生的Actor指定進去。右邊有的藍色的三角型壓下去後就會出現可以指定的Actor。裡面有一個「UTActorFactoryAI」把它選起來。
再來在Factory左邊有一個黑色橫三角點一下,就會出現更詳細的設定參數,在Pawn Class上選擇UTPawn,然後勾選在上面的Give Default Inventory,點選Inventory List右邊綠色的+標誌,會增加使用物品的設定,把下拉選單打開選取UTWeap_LinkGun。
讓各位久等了。以目前的狀態就可以執行「從這裡開始播放」看看,如果畫面裡出現了一個拿著武器的Bot得話就是成功了。如果有出現Error訊息的話,就要檢查看看Note是不是被埋到地底去了。
Kismet 包含了下列數項要素。
- 事件:在什麼樣的條件下啟動運算
- 動作:實際執行的內容
- 條件:對於執行內容的判斷
- Matinee:Unreal的Animation管理系統(容後再介紹)
- 變量:在進行運算時用來乘載數值及傳遞數值
- Object:Actor及運算中的複雜變數等等
Kismet的運算一定是從事件開始,由於動作與Object緊密不分,要指定哪個Object的動作就要用「Target」。Kismet運算的流程跟資料的流動是用顏色不同的線連結再一起。運算跟比較的話,需要A跟B兩種類的變量才行。
如果可以了解什麼樣的條件才能呼叫,以及要下給它什麼樣的動作的話,連FPS以外的簡單遊戲也有可能做得出來。
是不是因為改版的關係? 我找不到Note的位置@@?
回覆刪除噢 找到了 在uncatgorized 下面 ^^a
回覆刪除