装备修改教学
玩无冬也好几年了,最近才看到这个网站,之前我也是下载了很多的装备档,自己摸索了很久,现在主要在做装备的3D模组工作,我看到有很多人也是下载
了装备档(尤其一些还十分YY的)但是不会使用,因此我写了一下如何简单的使
用所下载的装备档。
我的无冬之夜只有原版的1.68版,所有的资料片都没有灌,所以一些只适用资
料片的.hak档我都想尽办法从中撷取我想要的东西出来,虽然有些特殊功能无
法使用,但是装备却是100%完全移植。
自动步枪移植不了,因为连发功能与枪弹设计都是资料片的功能,我只能拿着
一把像AK47的重十字弓,射出一支支射速超慢的箭矢。
因为我尽量不将装备编号与原始游戏资料重复,所以这些装备都可说是"新增"
到我的游戏系统中,使用的方法为利用toolset创造一个新模组,设计好你认
为好看的装备,然后使用人物进装备模组里取装备,储存人物,再用这个人物
进行原版游戏或其他模组,这样就可以在游戏中看到自己设计的装备,当然,
如果将人物档备份到别人的电脑,可能完全看不见身体,因为不是每个人使用
的装备编号与资料都相同啊。
回应之前有人说头盔太难看了,就我的作法,因为我的头型是由 NW Vault 搜
刮来的,所以十分精美,于是我将头型3D构成复制成一个新的头盔,这样就可
以使用和人物头型一模一样的头盔了,只是有几个缺点:
a. 颜色设定不同,头型只有皮肤、毛发与两个刺青的颜色,而头盔则
刚好没有这四个颜色,于是将皮肤改为衣服2,将毛发改为衣服1,
刺青1为皮革1,刺青2为皮革2,在设定人物时尽量用第五行以下的
颜色,因为这样可以直接设定上述四种颜色而不会有色差(皮肤颜色
是单一的,与其他颜色皆无同色,非人类的肤色除外)。
b. 每个人物必须独自打造专属的头盔,才有设计上的效果,不然戴到
别人的头盔就来个"变脸"了(如果这样也无所谓的话倒是可以)。
c. 有时头型3D转换为头盔3D时会有位移或太大太小的问题,需要另外
手动调整。
d. 应当自行建立自己的装备模组,不需要太复杂,只要开一个房间,
全部都是空地也成,几个宝箱装着装备,或是干脆将装备放地上也
行,所要花时间的只是装备部件的搭配与颜色的调整而已,花不了
多少时间的。
题外话说多了,该进入正题了,有关装备修改的叙述内容主要分下列几项:
1. NWN的主要档案架构
包含Override 与 hak 的差异
2. 各种装备所需要的档案
armor、helm、cloak
3. mdl档的解析
4. plt档的解析
5. 2da档的解析
叙述内容以让玩家能用最简单的方法使用所下载的装备为原则,并附上所需小程式
的下载路径(都是NW Vault上的),至于过深的装备设计我就忽略了。
再次呼吁,要改动游戏系统,不要怕英文网页,因为英文网站上的资源最丰富,
多去看看,收获一定会有的。
Neverwinter Night Vault (现在叫 Neverwinter Night 2 Vault,但是里面1,2代
的东西都有,1代还比2代多,因为2代太复杂了)
http://nwvault.ign.com/
1. NWN的主要档案架构
在NWN的目录下有一些资料夹,分别叙述各个有用的资料夹功用,原始的游戏资
料都另外打包好了,不用担心会误删,一般来说刚安装好的游戏,这些存放外加
档案的资料夹都应该是空的。
erf 外加的erf档放置的地方(资源档)
hak 外加的hak档放置的地方
localvault 人物档储存的地方
modules 外加的模组档放置的地方
movies 外加的电影档放置的地方
music 外加的音乐档放置的地方
nwm 原版模组档存放地方
override 外加的覆盖档放置的地方
portraits 外加的自定义头像放置的地方
saves 存档存放地方
soundsets 外加的音效档放置的地方
texturepacks 原版材质档存放地方
这里要解释一下 override 与 hak 的差异,override 资料夹中所存放的是各个
取代原始游戏资料的物件,诸如各种图像、各种装备甚至人物动作、物品、装饰
等等,而在 override 里的物件对"所有的模组都有效"。(.mdl .plt .tga .2da
都应该放在这里)
而存放在 hak 里的 .hak档只是将需要的上述物件打包,仅仅在于有开启该.hak
档案的模组有效,这个可以方便模组设计师将自己修改过的物件打包让玩家下载
,而不会干扰别的模组设计师所设计的模组。
所以在 NW vault网站上下载的多半是模组档再加上一个.hak档,有的做的比较
大的模组还会有自定的音乐档与电影档,这些档案都必须照上面的位置存放,这
个模组才能有效开启。
至于下载的装备则有.hak档的也有直接.mdl与.plt的,格式不一定,必须照后面
所述的方法,慢慢拆解。
如果有些物件觉得不错,想让所有的模组都能使用,就必须解开.hak档,将其中
的档案放进override中,这样所有的模组就都能使用这些物件。
**注意 这些物件有些是要编号的,不是全部放进去就可以使用,详细参照.2da
档案的解析。
另外补充一点,自定义头像若是放进 portraits的资料夹中,则仅能由玩家使用,
模组中的NPC是无法使用这些图像的,若是将头像放到override中,玩家与NPC皆
可使用,但是要编辑portraits.2da档,使这些头像生效,详见后面.2da档的解析。
查看游戏资源的程式 NWN Explorer 1.1
http://nwvault.ign.com/View.php?view=Other.Detail&id=248
解开.hak档案的程式在 utils 资料夹下有一个 nwhak.exe
2. 各种装备所需要的档案
比较复杂的有头盔、护甲、罩袍与斗篷
头盔
ihelm_###.plt 头盔的图像
helm_###.mdl 头盔的3D构成
helm_###.plt 头盔的材质图
****头盔没有设定档(.2da)
斗篷
icloak_m_###.plt 斗篷的图像
cloak_###.mdl 斗篷的3D构成
cloak_###.plt 斗篷的材质图
parts_cloak.2da 斗篷设定(包括编号、隐藏部件等)
罩袍
ipm_robe###.plt 罩袍的图像
pmh0_robe###.mdl 罩袍的3D构成
pmh0_robe###.plt 罩袍的材质图
parts_robe.2da 罩袍设定(包括编号、隐藏部件等)
**这里要讲一下有关身体部位的命名法(第一部份:种族与性别)
pmh0_XXXXXXXXX
p 代表身体部件
m 代表男性、f代表女性
0 代表正常体型、2代表壮硕体型
h 代表人类、a代表半身人、d代表矮人、e代表精灵、g代表地侏、o代表半兽人
护甲最麻烦,也是最好玩的部份
护甲不仅仅由一个3D物件所组成,而是由下列的物件所组成
neck 颈部
chest 胸部
sho 肩部,分左右(l,r)
bicep 二头肌,就是上臂,分左右(l,r)
fore 前臂,分左右(l,r)
hand 手,分左右(l,r)
belt 腰带
pelvis 下半身(虽然很想说是下体)
leg 大腿,分左右(l,r)
shin 胫部,分左右(l,r)
foot 脚部,分左右(l,r)
**这里再补充一下有关身体部位的命名法(第二部份:身体部位)
pmh0_chest001 代表人类男性正常体型胸部第001号
(胸部001即是完全没有护甲的物件,网站有人作成裸体)
pfh2_bicepl001 代表人类女性壮硕体型左上臂第001号
以女性胸部为例,毕竟这才是服装设计的重点,其余部份以此类推,所需的
档案为:
ipf_chest###.plt 图像
pfh0_chest###.mdl 3D构成
pfh0_chest###.plt 材质图
parts_chest.2da 设定档
加上种族来算,一个能适用所有种族的正常体型3D部件,需要 6个图像、
6个3D构成、 6个材质图加上 1个设定档(.2da)。
加上壮硕体型就是两倍,再加上性别就是四倍,一个装备的一个部件能适用
全部种族、全部性别、全部体型总共需要24个图像、24个3D构成、24个材质
图以及1个设定档(.2da)。
图像与材质图可以完全一样,甚至只保留pmh或pfh的即可,系统会自动抓取
,于是一般都只保留pmh或pfh的图像与材质图,以节省档案空间。
所以麻烦的是,新增一个单一性别单一体型的3D部件最少就需要作6个种族的
.mdl档,是个很庞大的工程,NW Vault上有些装备设计者只放上pfh0的部件,
其余的可以利用小程式补足:
NWN Armory 1.2
http://nwvault.ign.com/View.php?view=Other.Detail&id=677
根据pmh或pfh的.mdl档案自动计算产生其他5个种族的.mdl
(无法复制不同体型或不同性别的.mdl档)
.2da档案最初修改时最好由 source 资料夹中的 2dasource.zip
解压缩而来,因为每个人所要增加与使用的部件编号绝对不会完全相同,
因此.2da档最好是自己修改。 3. mdl档的解析
mdl档一般都是纯文字档的,如果不能直接以记事本读取的话,使用上述的
nwn explorer来读取转换成纯文字档,以人类男性左前臂第56号部件为例,重要的
地方我会以中文说明,没说明的表示在基础篇中不重要:
------------------------------------------------------------------------
#Model converted by mdl2ascii
#For updates/comments check out http://nwn-j3d.sf.net
filedependancy Unknown
newmodel pma0_forel056 部件(model)的宣告,部件的名字要与档名相同
setsupermodel pma0_forel056 NULL 部件(model)的宣告,部件的名字要与档名相同
classification Character
setanimationscale 1.000000
#MAXGEOMASCII
beginmodelgeom pma0_forel056 部件(model) pma0_forel056 开始
node dummy pma0_forel056 构成(node) pma0_forel056 开始
parent NULL
endnode 构成(node) pma0_forel056 结束
node trimesh pma0_forel056g 构成(node) pma0_forel056g 开始
parent pma0_forel056
position 0.0000000 0.0000000 0.0000000
orientation 0.000000 0.000000 0.000000 0.000000
diffuse 1.000000 1.000000 1.000000
ambient 1.000000 1.000000 1.000000
specular 0.000000 0.000000 0.000000
shininess 1.000000
render 1 绘图值
bitmap pma0_forel056 材质档
verts 16
-0.0374353 0.0040719 -0.0064006
这之间行数太多,我删了14行
-0.0407694 -0.0166075 -0.0690794
faces 28
0 1 2 1 0 1 2 1
这之间行数太多,我删了26行
0 7 15 1 10 9 19 1
tverts 27
0.067817 0.775400 0
这之间行数太多,我删了25行
0.018469 0.025671 0
endnode 构成(node) pma0_forel056g 结束
endmodelgeom pma0_forel056 部件(model) pma0_forel056 结束
donemodel pma0_forel056
-------------------------------------------------------------------------------
由此我们可以解析pma0_forel056这个部件(model),总共包含两个构成(node),
pma0_forel056 与 pma0_forel056g,而pma0_forel056g为主要的构成元件,构成
的架构如下:
node ------ 3D构成的资料开始
render 0 绘图值
scale 1.0 3D构成的比例(范例中没有,内定值1.0)
alpha 1.0 alpha通道值(范例中没有,内定值1.0)
bitmap pma0_forel056 材质档
4个区块的数字,分别代表着点、面、材质与共振度的资料,
不用管。
endnode ----- 3D构成的资料结束
其中
render 代表着是否显示这个构成,一个部件可能有许多3D构成,
有些是作者作为参考用的,并不需要描绘出来,1显示,
0不显示。
scale 代表这个构成的大小,作者通常在做好3D构成后发现太大
或太小,可以用此设定调整,另外在将头型转换成头盔时
,有时会出现头盔大小与头型不同,这时于头盔的 scale
值调整即可。
alpha 代表着这个构成的透明度,1.0代表不透明,0.0代表全透
明(隐形)。
bitmap 代表所使用的材质档,因为作者在制作时材质档都是最后
才完成的,所以有时候这部份所指向的档案会不存在,但
是游戏系统会忽略这个设定,直接以与档名相关连的.plt
档作为材质档,但在NWN explorer中则此设定有效,建议
如果有时间将此设定改成与档名相同,否则在NWN explorer
终将看到白色的3D物件而已。
另外还有柔软度等设定(这部份可作为裙摆或长发飘逸的效果以及波波动人
的视觉诱惑),因为牵涉的比较多,以后再说。
更进阶的作法是使用 3dsmax 或 Gmax来直接进行3D构成的修改,这些我就
不在这里说明了。
4. plt档的解析
.plt档案的构成十分简单,就是一张灰阶底图加上颜色设定,这些颜色设定
如下:
Metal 1 (M1) 金属1
Metal 2 (M2) 金属2
Cloth 1 (C1) 衣服1
Cloth 2 (C2) 衣服2
Leather 1 (L1) 皮革1
Leather 2 (L2) 皮革2
Skin (S) 皮肤
Hair (H) 毛发
Tatoo 1 (T1) 刺青1
Tatoo 2 (T2) 刺青2
底图要是灰阶的,上述的颜色设定才有效,另外底图中的纯黑(RGB=0,0,0)与
纯白(RGB=255,255,255)是不会被上述颜色设定所取代的,可以视为绝对颜色。
编辑.plt档案的程式 PLT Editor
http://nwvault.ign.com/View.php?view=Other.Detail&id=408
有些没有颜色设定的装备图像(通常也没有3D构成,仅仅是一个图像而已),如
盾、护手、戒指、护身符等,使用的是.tga档,除了以黑底为图像底色外,还
必须设定.tga 的 alpha通道(意义如前所描述的类同,只是只有看得见与看不
见的分别),这以后有时间再讲。
5. 2da档的解析
与装备外型有关的.2da档只有下列几个:
CloakModel.2da 斗篷
parts_belt.2da 腰带
parts_bicep.2da 二头肌(上臂)
parts_chest.2da 胸部
parts_foot.2da 脚部
parts_forearm.2da 前臂
parts_hand.2da 手
parts_legs.2da 大腿
parts_neck.2da 颈部
parts_pelvis.2da 下半身
parts_robe.2da 罩袍
parts_shin.2da 胫部
parts_shoulder.2da 肩部
COSTMODIFIER 额外价值(金钱)
ACBONUS AC加值,此值只有在p_chest中有效,即为该护甲的AC加值,
在其余部件中仅作为排序的依据,并不影响实际的AC加值,
另外要注意的是AC加值5.99的护甲视同AC6的护甲。
若AC加值为****,则代表该编号的资料不载入。
斗篷与罩袍的.2da设定比较不一样,除了上述设定外,其余各数字代表穿上时是
否要隐藏其他部件,1为隐藏,0为不隐藏。
.2da档的设定应该一目了然,比较重要的是,在toolset中,头盔与斗篷所选择
的是档案名称,人形的设定也是选择各部件的档案名称,但是护甲的各部件选择
则是一个重新排列的编号,这些编号就是.2da当中的ACBONUS的顺序,由0.00排
列到9.99,因此,实际在toolset中所看到的编号不是档案名称中的编号。
多提一点:
appearance.2da 设定不同的怪物人形所相对应的图像。
portraits.2da 设定额外头像的定义,包含种族、性别、生物与非生物等特质
,我手边有另一个设定NPC图像的portrait.2da写法指南,已
经忘记是从哪里拷下的,有机会放上来。
补充一下
.mdl 中的 alpha值是可以有小数点的,代表着透明的程度薄纱类的表现方式就是用此值来体现的
.plt中底图的空白部分必须是纯白(RGB=255,255,255)
否则便不是透明,无法与下半身以及肩部的图像作加成 我个人觉得这种技术性强帖
不应该沉
大家还是顶起来的好! 技术帖啊,顶起,终于可以给我的Sex&Single Adventure加几个全新的bra啦,哈哈哈哈,邪恶中…… 技术性太强了,像我这种文盲就算了…… 好复杂,慢慢看
偷懶的招數
其实那些档案不需要完全自制可以经由 NW expolorer 从游戏中撷取出来
然后进行修改
这样会轻松很多
只是要确定所需的档案都有撷取出来就可以了 头都晕了 好东西,学习了。谢谢
页:
[1]
2