Friday, July 29, 2016

Aion Importer Again


Request by a guy, I had revised my Aion importer.
Now support morph and animation sets.

有朋友要求導入 Aion 的模型和動畫.
所以重新整理一下. 現在加強支援了 morph 和 動畫集.

Youtube Video

Wednesday, May 18, 2016

Offsets, offsets, keys to reverse


哈哈, 我對 gundam 的模型沒抵抗力. 有朋友傳了一些檔案給我研究, 說找不到蒙皮的骨骼關係.
花了數小時來研究整個格式. *_vertex 是資料檔, *_model 資訊檔.
而 *_model 的開頭是一段 offset. (64-bits)
0x30 ~ 0xA0 是 offset
0xA0 ~ 0xC8 是相對的內容數量
0xC8 ~ 0x120 也是 offset
而要找的蒙皮骨骼 offset 就在 0x88

I can't resist with gundam 3D models!
My friend ask me to figure the skinning problem of this game.
And here it is: *_vertex is data file, *_model is description/information file.
0x30 ~ 0xA0 are all 64-bits offsets
0xA0 ~ 0xC8 are their relative count
0xC8 ~ 0x120 another sets of offset
Skin-Bones table is pointed by offset 0x88.


struct BFMDLMESH {
 char[16] Chunk_ID
 short ?
 short Bone_Reference
 short Sub_Mesh_Block_Start
 short Sub_Mesh_Block_Count
 short Skin_Bone_Count
 short offset_Skin_Bone_Table
 short LOD
 short Bone_Reference2
 float[6] Bounding_box //format -x,x,-y,y,-z,z
 float Radius
 long Flag
}

struct BFMDLSUBMESH {
 char[16] Chunk_ID
 short ?
 short ?
 short ?
 short ?
 short FVF
 short ?
 short ?
 short ?
 float[6] Bounding_box
 short Face_Count
 short Vertex_Count
 short ?
 short ?
 short offset_Face_Block
 short offset_Vertex_Block
 short[4] Skin_Bone_Index
 long[16] offset_Vertex_Element
}

這是整個 _model 的 log. 有興趣自行研究的可以下來看看.
This is the full log of the file, anyone interested may found it useful.

Sunday, May 08, 2016

上月有空, 把 Granado Espada 的東西好好的導入整理.



Thursday, March 17, 2016


差不多一個月沒更新這裡, 因為接到了幾個小包工呢!
現在記錄一下導入成果! :)

I havn't updated here for a month now. It's because I got a few commission work.
Here are some work in action! :)




Youtube Video


如果對這些模型和動作有興趣的話, 可下載這些 3dsMax2002 檔案(沒有貼圖的)
if you are imterested in these models and animation, you can download these files here(No texture provided):
File 1
File 2
File 3
File 4


Thursday, February 18, 2016

2Moons(Dekaron) Online Maxscript


剛好上星期有點時間, 所以研究了 2 Moons (Dekaron) Online 的格式.
整體格式十分簡單, 而且各種資源分類整齊.
如果要說這遊戲失敗的原因, 相信就是貼圖設計太差吧!

I got some time last week so I make a importer script for 2 Moons (Dekaron) online.
The formats are quite easy and resources are well organized.
I think this game was dead because of bad texture design!

YouTube video



Friday, February 05, 2016

Hellgate 小插曲


人長大了真的不太愛冒險! 今天有空看一下 Hellgate (Global/London) 的格式,
模型 *.wm; *.am 都十分簡單. 只用數十分鐘便完成. 可是骨骼/動畫都是用 havok .hkx 格式.
一想起這些大引擎的格式就有點頭痛, 心裡竟然害怕起來, 想放棄...


Sunday, January 31, 2016

D-Player Reborn!


一直覺得欠我的朋友太多, 不時就有朋友要求我幫忙研究某某遊戲.
可是我有的時間實在太有限, 不可能每個遊戲都研究的.
但我都會記錄你們要求過的東西, 或許有天我會感興趣...

就像這個 D-Player 的跳件舞遊戲. 現在是完全解讀了整個格式.
而且再次感謝 Luigi Auriemma 的 QuickBMS 工具,
不單可以解包 DCZ 檔, 還可以完美打包.

這回我是有興趣讀個模型導出程序, 很快會看到全新的人物出現了...
你們也有興趣嗎?

Monday, January 25, 2016

再見 Facebook! Bye-bye Facebook!


約兩星期前收到 Facebook 要求, 一定要更改 Facebook 的名稱為真實名稱,
而且要上傳文件來証實名稱的真偽! 自問 Fatduck 這個名稱我已經用上了十五六年以上了.
現在要我改變, 感覺就像要我宣佈 Fatduck 死亡一樣.
算了, 我寧可放棄 Facebook.

要找我的話, 可以到我的舊 Blogger http://fatduck3d.blogspot.co.uk/
或 email: this4game@hotmail.com ; fatduck_uk@qq.com

如果大家知道有甚麼好的研究論壇, 不妨介紹一下.

Two weeks ago, I've been forced to change my name in Facebook!
It needs to be real name and supply ID confirmation.
To be honestest, I've been using "Fatduck" for over 15/16 years. And I don't want to change.
Changing it feels like I'm announcing "Fatduck" as death. Well, I give up on Facebook!

For anyone who what to contact me, come to me old Blogger http://fatduck3d.blogspot.co.uk/
Or, email: this4game@hotmail.com ; fatduck_uk@qq.com

If you know any place/forums for discussing 3D gaming, let me know please.

Saturday, January 16, 2016

Little Tips


有效地使用 MS 腳本 (批次檔) 和 Quickbms 快速轉換檔案。
Effective use of MS script(Batch file) and Quickbms to convert files on the fly.

https://youtu.be/SPYT82fTJFc


Friday, January 15, 2016

Grimlands Online


2016年第一個研究的遊戲將會是 "Grimlands Online".
單單解包資源就花了四小時以上了. (謝謝 Luigi Auriemma 的解包工具和腳本)
單從貼圖看來就有點讓人期待了.
The first game I am going to study in 2016 is going to be "Grimlands Online"
With Luigi's QuickBms and o3pk script(Thanks Luigi Auriemma), All resources unpacked. But it took more than 4 hours to finish!!!
By looking at the textures, it's in very high detail.
Looking forward to it.















基本導入完成, 只是 "add_" 為首的動作出現問題.
而材質和貼圖有待轉換...
Almost done. Problem on some animation with suffix "add_"?
Textures and materials to be convert...













寫了個速成的 QuickBMS腳本.
而 Grimlands 就算是完成了.
Just wrote a quick and dirty bms script to convert o3tex to dds!
Grimlands is basicaly finished.

Wednesday, September 08, 2010

已完結 或 快將完結的網遊介紹!

已完結 或 快將完結的網遊介紹!
因為我的電腦不好, 很多遊戲都跑不了, 老是希望日後有機會再看看.
有時候就這樣子錯過了下載網遊的最後機會了. 所以特別發此貼希望日後能找到下載遊戲的最後機會.

Warlord
http://www.pmang.com/warlord/warlord_home.nwz?ssn=319
Developer : NEOWIZ
高動作格鬥網遊, 有點像三國無雙, 動作美觀, 流暢, 而且人格化. 是我看過的遊戲中, 動作最好的一個!
2009年底停止運作了.


Gundam Tactics Online
http://www.gundam-gto.jp/ (已不存在了)
以 Gundam Network Operation online 為基礎的網遊, 加入了實時 3D 機體操作, 是 Gundam Fans 不能錯過的網遊.
同樣在2009年底停止運作了, 但網上還能找到它的 benchmark 吧!

Thursday, September 02, 2010

包工的日記 4

續上名次所言, 由於模型本身去掉了 transform, 要乘上骨骼 transform 才能正確重現整個模型. 一直找這方面的資料來嘗試, 方式是 Matrix Palette skinning 了, 但我就是無法正確還原!? 已花上了一個月時間, 只好在此暫時放棄了...

Tuesday, August 17, 2010

包工的日記 3

要手動找出特定模型的 verts 位置並不難, 要通用於所有的模型就要整理好整體格式了! 追蹤這個模型格式可說很不容易! 它用了指標索引(offset pointer) 再索引到另一組索引, 然後再索引, 一共指向四五層之深! 有點像C++ 的 OOP Class呢!

由於模型本身去掉了 transform, 要乘上骨骼 transform 才能正確重現整個模型. 對於只有一個骨骼影響的 verts 是沒有問題了. 可是 shared weight 的 verts 就是不對於, 暫時仍然找不到原因所在!?

Tuesday, August 10, 2010

包工的日記 2

這個遊戲的骨骼資料也不難找, 就是記錄的方法有別於一般的 PC 遊戲. PC 遊戲大都是用 quaternions 來記錄, 而這東西就是直接用 angles 記錄. 知道方式要轉換相信也不難. 可是我用的 3DSMAX 的座標方式與一般遊戲座標不同, 軸方向也有些是反向的.苦戰了數天仍然有部分骨骼位置不正確! 苦惱~

Sunday, August 08, 2010

一次包工的日記

近日有朋友要我包工一個 PS2 的遊戲的模型導入程序. 我看了一下格式, 與一般的 PS2 模型格式類同. 而且一直研究 PS2 的 Gantz 遊戲吸收了不少經驗. 於是接下了這工作, 期間是兩星期.

不用花太多的時間已找出了模型的基本資料, 是沒有 Face indices 的 tri-Strips 方式建模. 模型記錄的方式也有兩種, 沒有蒙皮的 和 包含 骨骼索引, weight 的. 但導入後的模型可是怪怪的. 細心查正後相信我是沒有錯誤的! UV 也絕對正確. 而奇怪的模型都是包含 骨骼索引, weight 的那種! 相信是模型本身去掉了 transform, 所以要向 骨骼 架構入手了(以前在一些 X360 的遊戲也遇見過這樣的方式的).

Friday, July 30, 2010

做模型的有多少面子

相信有研究/製作 3D 模型的朋友一定會知道模型是由 點, 線 和 面 組成的, 遊戲模型比較少用到 線段, 我就不在此處詳述了.
提到 面組 的話就立即令人想到是連接各個 Vert點 而成為可見的實體模型了. 比較有經驗的朋友還會加上 "面組 還連接了貼圖用的 UV點". 其實 面組 還連接 Normal, Vertcolor...
一般人都會忽略這些東西, 是因為大多數的遊戲引擎都採用了共用 面組 資料的方式來建模型, 也就是共用相同數量的 Vert, UV, normal... 那樣只要讀取一次 面組 資料就可以了.

這種方式對反過來研究遊戲模型的我們卻不是件好事. 由於在同一個座標地點可能有多個相同的 vert點, 做成了鄰近的 面 也可能用上不同的 vert點. 模型容易變得不平滑, 也容易出現裂縫!
如果是用 3dsmax 的就更差了, 因為 3dsmax 不記錄 normal點 的, 而是用 smooth group! 那有方法解決這問題嗎!?

近日我就是主力研究解決這問題的方法! 一個比較簡單的方法是用上不同的 面組 記錄 Vert點 和 UV點. 再建立一個 Vert_UV_Lookup_Table 然很在讀取 Vert點 資料時對照一下這個位置是否已經記錄. 把索引記錄到 Vert_UV_Lookup_Table. 在讀取 面 資料時對照這個 Vert_UV_Lookup_Table 來 Vert_Face_Array 和 UV_Face_Array. 如事者還可以建立 Normal_Face_Array, VertColor_Face_Array...


讀到這裡可能有人會問, 為甚麼耍這樣子大費章節, 在把模型導入後 Weld 上 Vert點 就可以了. 這個當然可以, 但如果要考慮到遊戲模型的蒙皮資料呢!? 而且考慮到遊戲模型的再導出(比如做 mod 的), 蒙皮一定要是最後一項工作呢!?

Sunday, July 25, 2010

PS2 Gantz

Gantz 這個遊戲的模型人物是我一直很喜歡的, 可是它的模型格式就很不簡單了, 而且貼圖格式也不好解(雖然也是TIM2, 但卻是sizzled了), 我是從09年9月起開始研究的, 一直到現在還沒有成功解出來! 貼圖是可以解讀了, 而且近日在模型方面也有新突破, 骨骼和模型都解讀成功了, 但是模型本身是去掉 transform 的, 也就是一定要把它們連繫上骨骼的 transform 才能成型. 可是我就在這裡停滯不前了. 在這裡先作個記錄, 不知道何年何月才能完成了...

Thursday, July 15, 2010

Comfort Zone

說到研究 PC 遊戲的模型可以是我的起強項. 不用花太多時間就能把整個格式解讀出來, 而且起碼是70~80%準確的!
就以今天看的這個格式為例, 不到半天就整理完成了!


今天看的是一個叫 XNALara 的程序, 是 Tomb Raider Fans 不會缺失的東西.
你可以用它來做出各種動作, 可絕對是快速版的 Lara Croft 專用 Poser!!!
如果你有恆心的話還可以自行 修改/導入 模型呢! 這程序還有導出 obj 格式的功能啊!


那我為甚麼要解讀它的格式!? 是無聊再加上個人興趣吧!


Wednesday, July 14, 2010

回來唱戲了!

很久沒有 blogging 了, 原因是我開設了一個同類型的論壇 遊戲格式研究網. 就這樣子的數個年頭, 在那裡記錄了不少的心血和各樣研究成果.

因為近這個月來一直在家, 所以把整個論壇閱覽一片. 覺得原來自己一直都只在唱獨腳戲!
然後有人把我研究的成果 自吹自雷! 更有人作商業行為!

反正是唱戲, 回到這裡唱吧!

Tuesday, July 24, 2007

意外, 您這惡魔!

意外, 就是在你我不能注意的時候出現的惡魔. 數星期前就降臨在我家裡. 從未想像生命竟是如此脆弱, 也沒法明瞭簡簡單單的生活一天會是何等美好!

能回復故然最好, 但世事往往未如人意, 倒是要改變自己的態度, 迎接日後的生活. 家人也需要強大的支持和鼓勵. 我就更不能倒下了!

請好好珍惜身邊的每個相遇! 享受平靜簡單的每個時刻! 祝福大家...