2006年12月14日 星期四

真三國無雙4: 模型解讀完成

臉部表情與動作
再補上臉部表情與動作, 總算是解讀完成了!

左起: 甄姬(三代), 甄姬(四代), 星彩(四代新角色)
上圖左起: 甄姬(三代), 甄姬(四代), 星彩(四代新角色)

原本以為真三國無雙4的模型檔應該和3代的一樣採用 XKM格式, 但是並沒有. 四代的格式又有了一些更新, 我把它叫做 _M1G, 因為檔頭就是 _M1G. 至於三代與四代的模型有何差異呢? 好像就是貼圖材質(512x1024) 精細度加倍了, 增加新服裝和新角色. 貼圖檔格式使用 DDS(DXT5), 不過檔頭有些小修改.

2006年11月10日 星期五

nVidia's G80 for OpenGL

NVIDIA OpenGL Extension Specifications: GeForce 8 正式上市, 最新的 OpenGL extensions.

DirectX10 有的新功能, OpenGL 2.1 也有支援了. 喔, 對了 MS Vista 也已經 RTM. 至於之前擔心OpenGL 在 Vista 上支援度的問題呢? 請參閱 NVIDIA OpenGL on Vista

2006年11月2日 星期四

光之遊戲


動動腦吧... 12, 22 還解不開

找到解答了: 不過是別人解出來的. 唉... 還是自己解出來比較有成就感, 一時懶得想就偷看了解答. 其實設計題目應該比解答更難吧.

2006年9月13日 星期三

遊戲模型解讀大集合



遊戲模型大集合. demo_ffb_xkm.zip 展示程式也更新了.

2006年8月10日 星期四

nVidia 研發相關的 FAQ

原來大家都有類似的問題, nVidia 官方給了一些解答...


Dawn FairyGeforce5 系列的展示精靈
順便秀一下 nVidia Geforce5 系列的代言人"精靈", 出自名家之手, 其精細程度當然不在話下...

前人的 nVidia's nmb 解讀心得

補上貼圖後的精靈, 不過骨架和動作解讀難度出乎預期. 可能無解了.

解讀3D模型基本上有以下幾個步驟:
1. 頂點資料:點座標(x,y,z), 法向量(nx,ny,nz), 貼圖座標(u,v)
2. 三角面: tri-list, tri-strip 索引表
3. 貼圖材質: 圖檔 pixels
4. 骨架 Matrix: (scale,rotation,position)
5. skin-weight: 頂點與骨架間的關聯比重
6. 骨架連續動作資料: 曲線函式 key-frame

前三項是比較容易的, 也就是模型以""字顯示的狀態; 至於後三項的就要多一點技巧和運氣才有機會解出, 當然樣本越多, 越有機會成功吧.

2006年7月26日 星期三

ODE 物理效果實作示範


真實物理效果的呈現似乎是 Real-time 3D 的下一個階段, 畢竟有了擬真 3D 畫面, 場景裡面的物件也就會希望能像真實世界一般的互動. 反正電腦愈快, 愈有餘力去做這些以前跑不動的效果. 現在也有硬體加速的方案: 利用第二顆 GPU 或是加個 PPU 物理卡. 不過其實只用 CPU 也可以有不錯的效果啦; 這次要分享的就是 ODE 示範程式. (之前一直在破解別人的 3D 模型檔好像有點不務正業)

當然這個範例就是使用 ODE (Open Dynamics Engine)來計算物理效果的(之前強力推薦過的喔); 說實在的, 物理引擎實在是太難寫了, 所以把 ODE 函式庫加入自製的 3D 繪圖程式裡, 就是這個範例.

範例中的繩子和迷你小車車是可以用鍵盤操縱的:
------------------------------------
繩子操控
[R] 繩子向上移動
[O]/[P] 繩子左/右端點固定
[Shift]+[O]/[P] 繩子左/右端點釋放

小車車操控
[I]前進
[J]左轉 [K]後退 [L]右轉

------------------------------------

2006年7月14日 星期五

自製的 ToolExtract 檔案抓取工具(含原始碼)

俗話說: "巧婦難為無米之炊", 想解讀遊戲中的模型檔, 第一個步驟就是分辨出哪些檔案才是模型檔. 而遊戲製作者通常都會把一堆檔案包裝成一個大檔案; 像是 idSoftware 就習慣把一堆檔案壓縮成 pk4 格式(其實就是 zip, 所以很容易解開, 解開後的許多檔案又都是文字格式, 所以很好解讀); 不過遊樂器上的遊戲就沒那麼好分解了(因為光碟中通常是一個未知的超大檔案, 甚至是隱藏檔); 藉由 yaz0r's dumper.cpp 可以把 FFX, FFX-2(ISO檔) 的事件模型檔抓取出來, 再加上自己寫的 xkm 分解工具, 就創造出這個 ToolExtract 抓取工具, 內含原始碼, 有興趣的可以自己修改擴充.

現階段 ToolExtract 的 xkm 分解功能只適用於KOEI 早期出版的 "真三國無雙3 PC版", "大航海時代 Online", "信長的野望 Online" 等 PC game; KOEI 新的檔案包裝方式則改用了封裝檔案(BIN)和索引檔(IDX)搭配, 所以要再研究看看是不是分解的出來吧...

2006年6月7日 星期三

FFX 檔案抓取工具(原始碼)被公開了喔

先前就在猜說 ffb 檔案是 yaz0r 創造出來的 (ffb 就是以 .tar.gz 壓縮: model.ffm, 1.ffa, 2.ffa, 3.ffa, 4.ffa 五個檔案而產生的). 現在看到他公開的 dumper.cpp 原始碼證實的確是如此. 至於何處下載 dumper.cpp 呢? 請到yaz0r's blog 意見區裡就有提到喔, 會開放下載多久也不一定的.
改寫這個原始碼, 說不一定就有機會可以把 FFX 遊戲中的檔案都分解出來. 有空再試試吧!

2006年5月19日 星期五

王國之心 MDLS 模型解讀中...

再來一個方塊公司的大作 "王國之心" 模型解讀. 至於模型檔何處尋呢? yaz0r's blog就有提供工具可以由 ISO 檔中抓取出來.

動線資料還在研究中, 也計劃自己寫抓取模型的工具.

2006年5月12日 星期五

信長之野望Online 的模型解讀

原來 KOEI 的其他遊戲中的3D模型格式也有使用 XKM 格式, 只是版本上有點小更新, 原先的程式經過一點修改就可以解讀出來.

2006年4月26日 星期三

UT2003 模型檔來了 (MAX格式)

雖然是有點舊的訊息, 只是發現好東西就分享一下. 在 EpicKnights 有一堆 Unreal Tournament 2003 的遊戲角色模型, 是 3DSMAX 的格式檔.

2006年4月18日 星期二

真三國無雙模型檔展示程式: demo_ffb_xkm.zip

真三國無雙3 的 XKM,XFT,MOT,FA 解讀完成了. 展示程式下載點: 同樣因為法向量與貼圖材質的處理方式與我的習慣不合, 所以法線未完全依照模型檔提供的資訊去處理, 也不想去配合更改了... 三角面的處理上 XKM 格式也以 triangle-strip 來存放, 以獲取效能上的最佳化.
材質(XFT) 也是用色盤的方式存放, 但像素點並不是連續存放的.
動作資料(MOT) 用 Cubic Curves: Q(t)=at^3+bt^2+ct+d 方式存放. 手指頭的動作有點怪怪的, 原因不明.
臉部動作資料(FA)和(MOT)是一樣的, 只是檔頭少了動作數量與大小.

基本上解讀模型只是程式技巧上的磨練, 並不是要公開遊戲模型, 畢竟智慧財產權還是應該被尊重的.

2006年4月12日 星期三

2006年3月16日 星期四

真三國無雙模型檔大解讀 WIP

滾滾長江東逝水
浪花淘盡英雄
是非成敗轉頭空
青山依舊在
幾度夕陽紅
白髮漁樵江渚上
慣看秋月春風
一壺濁酒喜相逢
古今多少事
都付笑談中

三國的歷史居然是在日本光榮公司的遊戲下發揚光大, 還記得當初的人物屬性: 諸葛亮(智力100), 呂布(武力100), 劉備(魅力100), 張飛(武力99), 關羽(武力98), 司馬懿(智力98); 記憶已模糊, 可能有誤差, 然而這些量化的值卻也忠實的呈現出三國人物的屬性特色.
基於之前解讀 FFX 的心得, 覺得真三國無雙的3D 模型更是極品佳作, 又剛好有發行 真三國無雙3 PC版, 於是找到了裡面的資料檔案: 模型檔(.xkm), 貼圖檔(.xft), 動線檔(.mot, .mov, .atk), 臉部表情(.fa). 運氣還不錯, 目前解讀了靜態模型與貼圖資料, 如上圖所示.

2006年2月16日 星期四

FFX 模型檔展示程式:demo_ffb.zip(動作解讀完成) final

FFB 動作解讀完成了, 下載點和之前一樣... 因為我在法向量與貼圖材質的處理方式與 FFB差異太大, 所以套用動作的模型就不貼圖了, 法向量有時會怪怪的. 我也不打算再修正了, 算是告一個段落吧!

拆解未知的檔案格式還真是累啊, 所幸有 ffx2obj 以及 FFXView 的輔助, 讓這個解讀 ffb檔的試驗完成. 當然創造出 ffb 格式的才是真的厲害, 把資料壓縮到這種程度, 真是令人佩服.

2006年1月27日 星期五

FFX 模型檔展示程式:demo_ffb.zip

下載 demo_ffb.zip 範例程式: 支援 Square-Enix FFX, FFX-2 的 .ffb 檔案格式, 以 Drag-Drop可讀取. 不過動線的問題還是無解, 希望有高人願意指點囉...

2006年1月13日 星期五

推薦 OpenSource: GLEW 和 ODE

OpenGL 的使用者在使用新的延伸功能指令, 就會需要 GLEW 函式庫, 目前涵蓋到 OpenGL 2.0. 之前用的是 extgl, 不過該作者已經停止更新 extgl. 而 GLEW 是基於 extgl 所衍生出來的. 推薦給 OpenGL 愛用者.

ODE則是以前就有推薦過的物理特性模擬函式庫, 自己使用過覺得比Tokamak功能更齊全, 所以就再次宣導囉.

2006年1月5日 星期四

FFX 模型檔大解讀 WIP


左上圖: 解出來的模型
左下圖: 解出來的骨架
右圖: 解出來的單張動線, 不過遇到點瓶頸, 要再猜一猜囉..