超级玩家
- 贡献度
- 137
- 金元
- 2910
- 积分
- 839
- 精华
- 0
- 注册时间
- 2010-11-20
|
本篇相當枯燥, 除非對modding有極大熱情再繼續, 另外建議有摸過010 Editor的來看會比較容易了解
周末花了點時間研究了一下 FO4 nif 檔案的結構, 的確是跟Skyrim的差很多, 看來Nifskope 與 3ds/blender 插件的開發會大大的延遲, 原來的nifskope的開發者
一開始以Skyrim推出後兩周出新版的速度來推估FO4的工具開發進度, 但目前看起來 FO4 nif把從 morrowind以來一直沿用的NiTriShape/Data與skin結構整個丟棄, 弄了個
BSSubIndexTriShape與BSSkin出來, 接下來除了要反推新結構的格式外還要修改nifskope的render, 看起來初版我猜要一個月以上吧, 3ds/blender 插件的話就更遙遙無期了....
下面要分享目前我對FO4 nif結構的初步心得, 以目前的了解的程度, 已經可以移值一些沒有skin的物件(例如頭盔, 手環等), 文後是順便練手一下把skyrim裡面的牛角頭盔
初步移植到FO4裡的截圖.
**FO4 Nif 的一些整理
1. nif header中, user version 2 -> 130, 並多了一個export info欄位
2. 大多數的資料結構沒變 (NiNode等)
3. BSSubIndexTriShape 在頂點座標與UV map上採用hfloat取代float表示
4. BSSubIndexTriShape Vertex Color 疑似直接用ushort取代float表示
5. BSSubIndexTriShape 不再儲存normal, tangent, bitangent資料, 可能是讀進內存中再算
6. 手工移植的流程(以頭盔為例)
a) 先找一個FO4 頭盔的 nif (最好只包含一個bone node, 因為現在還沒搞定skin的資料)
b) 將要移植的NiTriShape中的頂點數目與三角形數目寫入FO4 nif BSSubIndexTriShape 對應的欄位, 並適當的在對應的位置插入空白使結構大小與欄位相符
c) 利用 010 editor的script將NiTriShapeData中頂點, UV, 三角形寫入BSSubIndexTriShape結構 (或是自己寫程式做binary資料轉換....)
d) 將Vertex Color填0xFFFFFFFF, 未知欄位就照原本nif中的方式填
e) 進遊戲中應該就可以看到原本FO4頭盔的外型改變了
以下是利用010 editor (功能很強大的binary格式分析工具) 解析出來初步的 BSSubIndexTriShape的template file(尚未完整, 有些nif還是會有不一樣的欄位跑出來, 但暫時夠用),
有很多無意義的命名代表目前功能未知(需要改一改進遊戲看看才知道對應到什麼).
<
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|