Sunday, January 27, 2008

Animation Split 工具 Plugin

剛剛用了兩、三天的時間,做了個 MilkShape3D 的 Plugin Tool,叫做 Animation Split Tool,為什麼要做個這樣的工具呢?因為 OGRE 的 MilkShape3D exporter 中,可以 Load 入一個資料檔案,當中會有這樣的內容:1, 3, Walk; 4, 12, Run .... 如此類推。這些資料是用來將一段長的 Skeleton Animation,按照資料的內容,分成一段段獨立的 Animation,再 Export 成 Skeleton 檔案。但是要製作這個資料檔案,都是要用一些如 Notepad 的工具做,感覺非常的單調,那麼我便想做一個比較視覺化的工具來代替,就這樣 Animation Split Tool 便出現了。

用法也頗為直觀性,在 MilkShape3D 中 Load 入 Model 後,便可以在 Animate 選項中啟動這個 Animtion Split Tool,這工具可以重新製作、Load 入已有的資料檔案及 Save 更改過的檔案,可以加入或散除檔案中的 Animation 資料,這工具最方便的就是,用家不需要在兩個軟件之間切換,可以一邊看著開啟 Model 的 Animation,一邊輸入資料,減少資料輸入錯誤。用這個工具製作完一個資料檔及 Save 之後,便可以隨即將 Model Export 出來一個 OGRE 檔案,而這個 OGRE 檔案已經將 Animation 分切好了。

完全了這個小工具後,下一個要做的應該就是 Character Setup 工具,這工具將會是比較大型的工作,因為要即時看到 Character 的 Animation 資料,加入或修改一些 Custom Data 及儲存起來,這些 Custom Data 會在製作遊戲的時候,比較容易地製作 Model 的 Animation 調控,從而減少這方面的工作量,因為這類 Animation 的調控工作量確實是很多的。

Friday, January 18, 2008

Ogng3D Material Tool 完成

完成度達 80%,餘下的 20% 是屬於試用多一點,如發現 Bug 就做一些修正工作。說實話,這個 Tool 用起來也不錯,自己就覺得頗為方便呢 ( 在自吹自擂中 ...... ) 。

下一個 Tool 會是甚麼呢?還未想到,可能會是 Character Setup Tool,也可能是個 2D Sprite Setup Tool ...... 未決定呢 ......

Sunday, January 13, 2008

製作 OGRE 的 Material 工具

一個多星期前,我開始製作一個 OGRE 的 Material 工具,我預先設計好一個「 可設定資料量 」,例如:每次只能夠製作一個 Material,每個 Material 只會有一個 Pass 和三層 Texture Layer,以及一些如 Alpha Blend、Depth Check 或 Receive Shadows 等等的選項。初時只是做一些 Win32 API 的程式,還是頗為順利的,但後來牽涉到要讀取 OGRE 中已存在的 Material 時候,就令我更覺得 OGRE 本身的冗長。我建立了一個 ResourceGroup,加進了現時的 Directory 後叫 OGRE 讀入這個 ResourceGroup,便以為可以簡單知道已讀進那些 Material,但是我卻找了很久才知道怎樣才可以找回那些資料。OGRE 的 Material 中基本分別有 Technique、Pass、TextureUnitState,當中很多資料都在 TextureUnitState 裡,看到這些一大堆的資料,我又需要再加入一堆自訂資料,將設定資料記下來給 Material 工具顯示出來,同時亦要將這些資料作改動後,Save 起來做一個 Material Script,工序可以說是甚為煩瑣。

雖說工序是甚為煩瑣,但一想到在 MilkShape3D 中設定的 Material 資料過於基本,而自己也不想「 編寫 Material Script 」且不能方便地看其效果,所以一個可設定簡單 Material 資料 ( 限制於可設定資料量 ),及可以即時看到效果的 Material 工具,仍是一個不二之選。