2012年5月26日 星期六

自訂Matinee軌道

UE的Matinee提供開發者在預定時間點變更物件屬性的功能,它是以軌道為基本單位來編排,例如一條軌道代表位置,另一條軌道代表顏色。它可以讓開發者自訂軌道來擴充新的功能。Matinee軌道的基礎類別是InterpTrack,編輯器會尋找所有的InterpTrack類別並且列舉出來。所以如果你自訂一個InterpTrack類別,編譯完就可以在下次開啟Matinee編輯器時看到它。

在Matinee編輯器中,左邊看到軌道名稱是寫在InterpTrack類別的TrackTitle屬性,左邊的圖示則由GetTrackIcon()函式指定。而按右鍵新增軌道時顯示的名稱是寫在當地化組態檔Descriptions.int裡。所以當自訂軌道時,記得要去新增一個名稱設定。

InterpTrack可以指定另外兩個擴充類別:
  • 其中一個是實例類別,用來維護執行狀態,由TrackInstClass屬性指定。
  • 另外一個是輔助類別,用來擴充編輯功能,由GetEdHelperClassName()函式指定。

2012年5月13日 星期日

開關Unreal屬性編輯

開發者可以在UnrealScript中為一個屬性指定另一個布林屬性作為可編輯開關。當指定的布林屬性為false時,在UEd的屬性視窗中被指定的屬性控制項會變成不可編輯的失能狀態。

指定的方法是透過設定UnrealScript的EditCondition元資料。以下程式碼展示如何設定EditCondition元資料:
class TestEditCondition extends Object;

var() bool bSwitch1;

var() int Int1 <EditCondition = bSwitch1>;

var bool bSwitch2;

var() int Int2 <EditCondition = bSwitch2>;

2012年5月7日 星期一

自訂Kismet事件

Kismet可以讓開發者透過圖形界面編排遊戲腳本,例如當玩家碰觸開關時把門打開,或是進入門口時播放過場動畫。Kismet的基本結構是以各種不同功能的節點連接構成,節點可分為事件、行動、條件、變數。除了UE內建的功能外,開發者也可自行擴充需要的節點。在此篇簡單說明一下如何自訂事件節點。

事件節點的基礎類別是SequenceEvent,重要的屬性有:
  • ObjName [string]:編輯器顯示的名稱。
  • ObjCategory [string]:編輯器選單的分類。在右鍵選單的New Event的子選單裡會看到同名的分類選單。指定新的分類名稱會產生新的分類選單。
  • bAutoActivateOutputLinks [bool]:當事件發生時,是否自動啓動輸出連結。
  • bPlayerOnly [bool]:是否限定玩家才能啟動這個事件。

2012年4月28日 星期六

自訂Kismet行動

Kismet可以讓開發者透過圖形界面編排遊戲腳本,例如當玩家碰觸開關時把門打開。Kismet的基本結構是以各種不同功能的節點連接構成,節點可分為事件、行動、條件、變數。除了UE內建的功能外,開發者也可自行擴充需要的節點。此篇簡介一下如何自訂行動節點。

行動節點的基礎類別是SequenceAction,重要的屬性有:
  • ObjName [string]:編輯器顯示的名稱。
  • ObjCategory [string]:編輯器選單的分類名稱。在右鍵選單的New Action的子選單裡會看到同名的分類選單。指定新的分類名稱會產生新的分類選單。
  • HandlerName [name]:當此節點啟動時,呼叫指定名稱的UnrealScript函式。指定的函式要寫在節點作用的Actor類別上或操作該Actor的Controller類別上,而不是在節點類別上。若沒有指名,則以節點類別名稱自動產生,例如SeqAct_XXX會呼叫OnXXX函式。

2012年4月21日 星期六

在Visual Studio建立UnrealScript專案

nFringe是一套可以讓Visual Studio支援UnrealScript的軟體,它可以建立UnrealScript專案,支援IntelliSense和除錯器,有分要收費的商業授權和免費的非商業授權。非商業授權可以免費註冊並且使用所有腳本相關功能,對於不想花錢的UDK使用者而言,能免費使用中斷點和單步執行等除錯功能絕對是一大福音。

安裝


  • 首先安裝好Visual Studio 2008並且確認可以使用。
  • 下載nFringe,並且安裝。
  • 註冊nFringe。一定要註冊才能正常運作。

建立UnrealScript專案


從主選單點選File>New>Project..,會出現一個對話窗:

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檔,然後用文字編輯器打開檔案,在尾端鍵入以下程式碼: