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)搭配, 所以要再研究看看是不是分解的出來吧...