关于CF部分特效模型的提取①
饼干922
2019年05月02日 16:36

原贴在CK竞技之王吧,现在搬到bilibili,原贴也是我原创。

分为2半篇

希望对一些模型作者有帮助。 大佬勿喷。 CF的武器特效引用的数量和位置等都可以通过解包文件来查看。 当然仅限于模型的特效(比如破空冰刃的刀) 先说明一下一些东西。 为了说得详细我就讲的比较啰嗦了。 武器模型 : 这里武器模型大部分分为五个LTB文件,分别是子模型(动作文件,这个很容易混淆,但是他就是叫做childmodel),潜伏者男女保卫者男女 那么我们要解包的模型文件就是一个子模型和任意一个阵营的任意性别的模型。 这里以M4A1破空冰刃为例子。 首先我们解包一下国服RB001中的BF005.LTC来查看破空冰刃的武器模型文件名称。 由于是刀的状态这里我们解包的模型是PV-M4A1_S_Knife

然后我们去RF016里面找到他的LTB文件。(REZ里面没有就去REZ2) 好了就是这五个了。

PV-M4A1_S_Knife.LTB就是子模型(也就是不带_BL等后缀的) 剩下四个就是模型文件了。 解包一个子模型和任意一个模型文件这里就选择BL吧。 由于CFrez内部文件大部分都经过了LZMA压缩,所以这里我们用360压缩 直接右键解压出来的文件,选择用360压缩打开。

然后解包出来就是两个没有压缩的文件,然后我们给它俩加上.ltb这个后缀名(记得先把原来的LTB模型删掉)。 然后我们把这两个文件转换LTA文件。 然后我们打开角色阵营的那个模型文件。

打开之后我们添加他的动作文件也就是子模型(不然没有动作预览,cf就是这样四个模型文件读取一个子模型动作文件)

然后随便点击一个动画并且在菜单栏选项中显示槽

好了这么多socket(也就是槽)就是武器特效的位置或者引用名称了(LTC引用的FXF中名称,FXF就是细节设定,FXF读取的就是LTA中的socketname,当然位置也是socket的名称,不过LTB转换lta工具有些不完善导致可能会使socket的位置发生偏移,这里只是提供方法) 然后我们回到我们解包LTC出来的武器数据中。 找到对应武器下面的 PVEffectName(引用FXF)和EffectIndicatorName(子模型中动作关键帧的key(结构字符串)) (PVEffectName "pv_m4a1_s_transform_knife_idle" &#​34;pv_m4a1_s_transform_knife_combo_01" &#​34;pv_m4a1_s_transform_knife_combo_02" &#​34;pv_m4a1_s_transform_knife_change" ) (EffectIndicatorName "begin/end&#​34; "combo_01&#​34; "combo_02&#​34; "change&#​34; ) PVEffectName后面引号内部的就是引用FXF内部的特效名称,EffectIndicatorName 后面引号内部就是结构字符串的出现特效的那个时刻把,,,反正就比如雷神的换弹时,冒的白气也是在子模型RELOAD动画中结构字符串的began和完成时的end来控制的。

然后我们随便复制一个引号中的FXF名称pv_m4a1_s_transform_knife_idle 然后我们去REZ文件夹里面的RF004里面找ClientFX\CLIENTFX.FXF这个文件,如果是外服 可能需要解压缩后才能查看,国服直接用文本查看就好。 然后我们查找pv_m4a1_s_transform_knife_idle

然后呢 PropName: AttachName Type: 0 STRING: fix_effect_1 可能就是槽的名称 PATH: ltb|FX\LTB\SGFX_SE_GUN_PV_M4A1_S_TRANSFORM_KNIFE.LTB PATH: dtx|FX\SGFX_SE_OBJ_M4A1_S_KNIFE_01.DTX 后面的就是特效的模型和贴图了,这里找的是破空冰刃的特效刃的模型。 然后我们去 RF005的FX\LTB里面找SGFX_SE_GUN_PV_M4A1_S_TRANSFORM_KNIFE.LTB这个模型 在FX(也就是LTB文件夹的上一级)这个文件夹里面找SGFX_SE_OBJ_M4A1_S_KNIFE_01.DTX贴图 我们分别解包