2007年2月9日 星期五

VR快打5的3D技術講座

一直對Sega VR 快打系列有種莫名的情感, 這是第一個全 3D 格鬪, (雖然對生死格鬥系列也會有另一種奇妙的情感啦). 這系列最新的家用版 VF5 正式在 PS3 上登場了, 剛好看到了這一篇有關 VF5 3D技術講座 (原文是日文), 值得好好閱讀; 簡體中文翻譯在此. 其實只看圖也可以瞭解一些遊戲中使用的繪圖技巧.

該文章中提到, 所使用的繪圖函式庫是 OpenGL 2.0. 真是令人欣慰啊, 畢竟我也是支持 OpenGL 的. (以前一向使用 OpenGL 的 John Carmack, 卻大力支持 Xbox360, 使用DirectX9.0; 所以現在看到有遊戲使用 OpenGL 的就會更有親切感), 而單一人物的多邊型面數有四萬多面, 比起四代的 12000面左右, 更是精細許多.

使用的繪圖技術包括:
  • 自體投影(SelfShadow Casting)
  • Procedural Texture
  • VTF(Vertex Texture Fetching)
  • fp16 HDR(High Dynamic Range Rendering)
  • 物理計算: 衣服, 頭髮, 配件的碰撞
可惜看不懂日文, 所以文章的精華也無法了解... 另外以前也有一篇汪達與巨像的3D技術講座, 也值得一讀喔(當然還是日文的).

GameWatch 遊戲講座: 所有該網站的遊戲技術講座

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 檔中抓取出來.

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