星期四, 7月 01, 2010

[UDK教學] [第二十一章] 移動物體:Animation Engine Matinee

接下來,我們拋開物理,讓物體用程式化的方式移動看看好了。雖然用什麼樣的關卡做都沒問題,我們這邊為了教學方便還是打掉重新開始好了。

跟前面一樣我們就隨意做一個只有地板的簡單關卡,然後在上面追加一個StaticMesh的立方體。

不過,我們要再立方體的上面按下滑鼠右鍵打開迸現選單,選擇「替換成」>「add Mover」。
(在這裡新版的UDK改成了「轉換」→「將靜態網格物體轉換成Mover」)

立方體的Actor種類換成Mover


重新選擇立方體後,打開Kismet,加入Level Startup元件當作起始條件。在這裡按下滑鼠右鍵迸現選單選擇「New Matinee」。

從Kismet 視窗裡加入Matinee物件

Matinee的意思是法文裡「晨間時刻」的意思,一般來說是指戲團在早上剛開張的那個時候。跟晚上的夜會(soiree)是相對詞。要說劇團早上的戲跟晚上的戲有甚麼差別,主要在於早上的客群跟晚上不同,而Matinee Actor的意思就是在女性中十分受歡迎的「一線男星」的意思。雖然這一段有點離題了,不過這還是主要在講Matinee是跟戲劇有關的辭彙。而在UDK裡是指Animation Engine的意思。

Matinee可以在時間軸上作KeyFrame的設定,而UDK也會讓Keyframe中產生動畫補間效果。跟3DS MAX , MAYA , Adobe Flashj一樣可以很簡單的把動畫產生出來。

選擇立方體以後把Matinee打開,請確定立方體用的Kismet變量(下面圓形物件)有一起產生出來。

Matinee跟立方體(圓形)的Kismet物件。總之接起來播放遊戲看看吧。

接下來我們就雙擊滑鼠左鍵打開Matinee吧。

下面的時間軸左邊的區域按下滑鼠左鍵,按下「添加新的空組」。名稱的話就鍵入一個可以代表這個動作的詞就可以了。



這裡的群組名稱設定會顯示在kismet裡。

在新做的線上按下滑鼠右鍵打開迸現選單,選擇「添加新的Movement Track」。


時間軸0.00的地方,有多了一個茶色的小三角形,這個小三角形代表著時間軸的這個地方有被設定KeyFrame。


時間軸上有寫數字的地方,0.00的地方有個稍微粗的直線。把這個直線抓住移動到你想要的秒數。

移動過去之後的地方,在那裡設定新的KeyFrame吧。在鍵盤上按下Enter鍵就可以設定。雖然不知道為什麼不能在UI 上設定,總之我們就先用Enter看看吧。

接下來,在世界編輯器的透視圖及三視圖上把立方體移到想要的目的地。這樣就成功設定從前一個frame的位置到移動結束的地方的動畫了。(如果要曲線補間也是可能的。)

按下Enter鍵後就可以追加KeyFrame,把物體移動到目的地位置。

播放遊戲看看。你應該會看到立方體正在平行移動。


光是StaticMesh狀態是無法啓動Matinee移動物體。這邊在重新提醒一次把物體置換成Mover Actor的重要性。

(譯註:如果播放後沒有動靜的話記得要先重新建構一次遊戲再跑跑看喔。)

Matinee不只是可以設定單純的物理運動,更可以指定各種不同的動作。但是目前移動的顯示切換並不容易使用。可以使用的物件種類等等資訊也不是很完整,感覺有點綁手綁腳的。


(譯註:想了解更多有關Matinee的功能及使用方法請參閱UDK官方用戶指南)

沒有留言:

張貼留言

如果您對於此篇文章有意見、問題、想法、或者是吐槽格主寫的太爛,都可以寫在這個地方告訴格主喔:D:D