星期一, 3月 22, 2010

[UDK教學] [第十二章] 想放更多的東西上去-資料的匯入

由於SpeedTree強大的功能,樹相關的我們就可以放很專業的東西進去。但是遊戲世界不是光只有這樣而已。UDK內建的範例物件種類也有限。

雖然利用3D繪圖工具將做好的物件匯入UDK裡的方法有很多種,但是像MAYA或者是3DS MAX等等也不是每個人都會用。若是自己有這種環境,會自行製作的人,則是本次教學的對象外人士(笑)。我們這裡就先使用免費的3D資料匯入的方式來進行教學吧。之後雖然有很多的東需要被匯入,但是只要照步驟來的話應該是沒什麼問題。但是,即使是可以匯入的資料,有時候還是有很多問題,所以就找那些匯入沒有問題的資料來使用吧。

接下來,UDK可以使用的3D資料規格,有副檔名.T3D跟.ASE兩種。但是因為一般的3D資料不會出這兩種格式的檔案,所以我們要先找可以吃一般3D檔案格式的轉檔軟體吧。

首先是T3D。有一套免費軟體叫做 Crossroads 3D。雖然現在官方網站已經關閉了,但是工具還是下載的到來使用。可以使用的檔案格式稍微少了一點。

http://www.free2u.org/freeware/graphics/3d_graphics/crossroads_3d.html

ASE的部分,我們使用開放源的3D工具 Blender,這套軟體有ASE格式輸出的Plugin的樣子。

只要能夠輸出符合格式資料的轉體其實哪套都可以,但是因為還包含貼圖的處理,所以我們這次還是以Blender為主角進行解說。

首先,我們先到Blender的官方網站下載安裝軟體吧。

INSTALL的步驟就先省略,但是在安裝中程式會要求使用者安裝Python 的軟體,就從安裝所顯示的網址去下載來安裝吧。Python是一種Script語言,在許多環境下作為自動執行機能的撰寫工具。

Python 安裝完以後,如果Blender的安裝也完成的話,請打開控制台的「系統」→「進階」→下方「環境變數」按鈕,把以下系統變數新增:

PythonPath
C:\PYTHON26;C:\PYTHON26\DLLs;C:\PYTHON26\LIB;C:\PYTHON26\LIB\LIB-TK

路徑名稱端看你所安裝的位置資料夾名稱而有所變化,如果你安裝的是比2.6還要新的版本,或者是自訂安裝的話,那麼請記得做修正。


另外使用Windows Vista/7 的朋友請進去系統後,點選左方的「進階系統設定」,之後就跟上述的方法一樣。

接下來就進行可以讓Blender輸出ASE檔案格式的Plugin安裝吧。由於沒有什麼安裝標準,因此就直接從下列的網址下載ASE轉檔Plugin就好了。雖然種類繁多,不過越上面的就越新,下載後先找個地方存起來吧。
http://www.katsbits.com/htm/tools_utilities.htm


這樣事前準備工作就結束了。
Turbo Squid

那麼接下來要哪裡去找已經做好的素材呢?

3D素材的話像是Google Sketchup的3D相簿裡的資料是非常龐大的,最近發售的Shade 11的轉檔功能也是十方強大,如果使用Shade 的試用版進行轉檔的實驗也是可以,但是3D相簿資料的使用、公開或者是再製作等等的行為有可能因為版權問題而禁止,所以我們還是別這麼做吧。

免費的3D資料的下載網站數量也是不少,稍微搜尋一下找看看吧。我們這次就先從XNA大力支援的Turbo Squid下載3D資料來轉檔看看吧。這個網站雖然也有在販賣3D資料,但是免費的素材也是不少,這次就先下載一些免費的來試試看吧。

首先,先從網站內的搜尋系統找到我們要的類別後,讓排序依照價格的高低來排列,之後我們就會看到一堆免費的資料出現。雖然很多都是動畫用的低面數模型,對現在的遊戲來說應該都在容許範圍內。不過對Unreal Engine 3的實力來說似乎是小巫見大巫了。

在登錄好帳號後,找到適當的素材然後就開始下載吧。

講到適合轉檔的素材,貼圖檔如果有很多張得話就比較麻煩,所以推薦貼圖是只有一張的模型。檔案格式的話,Wavefront Obj格式應該就沒什麼問題。Blender標準的匯入格式有很多種,主要在使用的有3ds,x,lwo以及obj。3ds Max或者Maya自己專用的檔案格式就無法匯入了。

模型下載下來後就直接解壓縮來存好。另外如果付的模型圖片的格式是jpeg的話,請先轉檔成BMP吧。

接下來就把Blender啟動吧。
在file下選import→wavefront(Obj)吧。


出現了檔案選取視窗,把之前下載好的檔案選取起來。如果要像上一層檔案夾移動的話請按「..」那一行吧。選好的話就按下Import a Wavefront (Obj)按鈕把檔案匯進來吧。

指定Obj檔案。進各個存檔的資料夾內進行指定動作。

資料已經讀進來了。(中央那個小小的就是了)

接下來,把匯進來的檔案以ASE的格式匯出。但在這之前要先把匯出專用的Plugin檔案給Blender讀進來。按下Shift+F11把Blender裡的TextEditor打開吧。

按下滑鼠右鍵打開迸現功能表,選擇「OPEN」,到先前下載好的Plugin檔案資料夾,把檔案讀進去。
TextEditor裡把Script讀進來

讀取先前存下來的Plugin檔案

確定檔案已經讀進來後,再一次按下滑鼠右鍵打開迸現功能表,選擇「Execute Script」。由於Blender會問你轉出檔案的存檔位置,所以就存回原來你匯入模型檔案在的地方吧。
如果已經讀進去的話,就在迸現選單上執行

這樣子匯入的模型檔就會被轉檔出來。轉檔中說不定也會發生些錯誤訊息,所以盡可能找一些單純的檔案就好。


接下來我們就把轉出來的檔案讀進UDK吧。

打開內容瀏覽器,按下下面的「導入」,轉檔後的資料跟貼圖一起匯進去吧。


組就照著自己的喜好取名,然後選擇「適用於所有」,之後就會看到內容瀏覽器裡新增了匯入的資料。


內容瀏覽器內匯入完成

StaticMesh的縮圖雖然看不見,不過我們還是先把材質些做出來吧。

已經很熟悉的步驟了

貼圖被選擇的狀態下,直接從Connecter(黑色突出部分)打開右鍵迸現選單指定貼圖元件也是ok的
大概是這種感覺

把材質貼上。滑鼠左鍵雙擊StaticMesh把模型打開,打開右方的「LODinfo」裡一直往下挖,挖到最底的Material 參數。再來把剛剛做好的材質用「←」綠色箭頭把它載入吧。


再來就把它放在場景看看吧。
拖曳後放置

進遊戲裡面看

咦?怎麼沒有出現?

找了一下才發現原來模型太小了所以看不到。再靠近點的話就可以看到如豆粒般大小的風車。雖然直接這樣放大也成,不過由於每次放進來都要放大一遍很麻煩,所以我們重新回到Blender把模型放大後再做輸出的動作吧。根據物件應有的大小調整後,再重新放回去就可以看的到適當的感覺了。

在相當近的地方的確看到有被配置上去

放的很大後大概就是這種感覺

那麼我們就回到Blender把模型放大吧。由於Blender的操作方法實在有點難搞,總之就先把下面的步驟記熟吧。

首先,(先前匯出完的狀態)左下有一個網格圖樣的按鈕按下去,切換成3D View。接下來按下S鍵啟動改變大小模式。用滑鼠拖曳後會有條線伸長,模型也會放大,放大到適當大小後就在單擊一下滑鼠左鍵。

這裡再押一下HOME鍵,這樣會顯示全體畫面,之後再按下S鍵把模型放大。重複以上動作直到覺得ok的大小為止。但是如果放太大的話就會前後倒置要注意。然後再把模型匯出成ASE吧。

(如果需要的話)回到3D模式

按S鍵後拖曳放大

HOME鍵可以顯示全體畫面

變成這樣就是放太大了

再一次匯入UDK,調整至適當的大小吧。


在場景上試著到處配置看看吧。




另外,也有很多資料是試了也沒辦法順利匯入的,所以如果有成功的話其實算運氣好,不行的話就快點放棄找下一個模型試試看吧。

4 則留言:

  1. 這中間還有一些資料檢查的小撇步是在教學裡沒有的,大概要3D美術實際做過,或者找到穩定的轉檔程式才能夠順利的把3D資料匯進UDK裡,不過這次教學匯入的是沒有動作及keyframe的靜態物件,如果需要會入角色並且帶骨架動作的話,必須要轉成.psk才行。

    回覆刪除
  2. 另外,Blender真的超難用,如果真的很不習慣的話,還是建議各位去找3ds Max 或者是Maya 可以輸出t3d ASE 以及PSK的外掛吧。

    回覆刪除
  3. hello版主你好
    網誌寫得很仔細!我原本對t3d有頗多疑惑的
    現在似乎懂了一點!感謝你~

    回覆刪除
  4. ckjs您好,其實這都多虧了日文的原作者寫的好阿,我只是照本宣科的翻成中文而已,自己也是在UDK的大海裡慢慢摸索中。有機會可以多多交流一下囉。:D

    回覆刪除

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