2012年4月14日 星期六

UnrealScript起步

UnrealScript是UE所提供的腳本語言,透過它你可以控制角色移動、運鏡、播放動畫和特效、甚至畫出簡單的UI。UDK的使用者只需要文字編輯器就可編寫UnrealScript了。每次起動UDK時會自動偵測腳本是否有被修改,所以寫完UnrealScript要測試時只要重新起動UDK就可以了。本篇為UDK的使用者簡介如何入門UnrealScript。請注意本篇使用的UDK版本為2012年3月版。

撰寫腳本


安裝完UDK後,可以在Development\Src\UTGame\Classes路徑下找到副檔名為uc的腳本檔,在Src下的其他子目錄如果有Classes目錄裡面也有放uc檔。在先前提到的UTGame\Classes路徑下找到UTCheatManager.uc檔,然後用文字編輯器打開檔案,在尾端鍵入以下程式碼:
exec function SetGroundSpeed(float NewSpeed)
{
    Pawn.GroundSpeed = NewSpeed;
}
UTCheatManager.uc是一個用來放測試指令的地方,很適合初學者寫測試碼熟悉UnrealScript的語法。剛才寫的程式碼是一個自訂的指令,用來設定人物移動的速度。

編譯腳本


存檔完重新啓動UDK,這時它會偵測到腳本己被修改,詢問使用者是否重新編譯,請選擇「是」。
接著會開始編譯腳本,等完成後再重新啟動一次UDK,這次它沒偵測到腳本有變動就不會詢問是否重新編譯了。

測試腳本


在開始測試剛才寫的指令前,需要先設定一下遊戲類型。在主選單的視圖(View)裡選擇世界屬性(World Properties)會打開一個屬性視窗:

打開Game Type分類,把第一個屬性Default Game Type改成UTGame。原本設成None是不會使用UTCheatManager的,所以要先改成UTGame才行。

接著就可以測試了。在主選單下方的工具列最右邊有個綠色或藍色的向右箭頭,按下它可以在編輯器中試玩關卡。開始試玩後再按下Tab鍵開啟命令列,輸入以下指令後按Enter執行:
SetGroundSpeed 1000
人物現在的移動速度應該變成超快的,你可以測試看看不同的值會有什麼結果。本篇只是作為一個簡單的起步,如果需要詳細的UnrealScript說明,可以在UDN上找到完整的文件。

2 則留言:

  1. 您好

    想請問一下大大是用哪個sample叫出世界屬性

    是開啟udk editor之後先選取sample後才呼叫世界屬性嗎??

    回覆刪除
    回覆
    1. 在選單列的「視圖(View)」選單有世界屬性(World Properties)

      刪除