Left 4 Dead 2

Left 4 Dead 2

302 个评价
更好 更快 更强的mdl编译器 - nekomdl
10
2
2
3
3
3
3
2
2
   
奖励
收藏
已收藏
取消收藏
文件大小
发表于
更新日期
4.420 MB
2024 年 1 月 19 日 上午 12:21
4 月 27 日 上午 8:55
39 项改动说明 ( 查看 )

订阅以下载
更好 更快 更强的mdl编译器 - nekomdl

描述
如果你不是模组作者,本页的内容对你没什么用处

.../l、
(゚、 。 7
...l ~ヽ
...じしf_,)ノ

支持更快的glTF和FBX、VRM等格式,DMX导出版本请设置 Binary5 Model 18
因为编译器算法的漏洞,单个文件里某个材质的顶点过多(具体数量不定)会导致栈溢出, 因此在单个文件顶点数超过$MaxVerts时会自动拆分。
复杂模型编译失败时(中断生成vtx文件),尝试将$MaxVerts往小调,同时$FileBufferSize往大调(8/16/32/64/...)。
支持最多128个材质。模型用到的材质越多性能越差,最好还是优化一下
低于5%的骨骼权重剔除下调为0.01%
其它功能请翻阅附带的更新日志和NewCommands.qci
其它好玩的:https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=3262974277

更新日志

## v2.1.3
新的qc命令:$RenameMorph

## v2.1.2
新的qc命令: $MaxBones

## v2.1.1
增加最大flexed顶点数到511451
新的qc命令:$FileBufferSize;默认是8。如果你的模型有非常多的信息,将会需要更大的文件缓冲区大小。适当增加其大小以防止编译失败,编译器也将会占用更多的内存。

## v2.1.0
glTF&Assimp: 修复错误的结束帧导致编译失败
修复$CmdList无法解析的bug

## v2.0.5
增加每个源文件的最大顶点数为51w(511451),超过此数将自动拆分。请确保在vmt里开启$NoDecal, 或者每个源文件的顶点数不超过65536
修复一个无法编译的bug
## v2.0.4
新的$Animation选项:AppendScale
修复glTF读取的一个错误

## v2.0.3
新命令: $NoFastGltf
修复一些bug

## v2.0.2
修复无扩展名的路径解析
使用缓存提高innode选项的加载速度
glTF和Assimp: 当不指定pick选项时,使用正确的默认动画

## v2.0.1
修复InNode报错

## v2.0
-glTF支持动画,默认向上轴改为Y,支持节点变换(即未应用变换的节点)
-扔掉FBX sdk
-使用Assimp模型加载库,支持包括FBX,PMX,VRM在内的40多种格式。适配了动画&场景节点&网格&形变目标
https://github.com/assimp/assimp/blob/master/doc/Fileformats.md
-新qc命令:$FPS,设置默认的动画帧率以及glTF&Assimp的动画采样率
-新的源文件参数,InNode,SampleRate,Pick。以支持glTF&Assimp(FBX..)等单一文件加载部分网格或部分动画
-当dmx顶点上受影响的骨骼过多时,不会显示错误信息
-$UpAxis添加参数:glTF,Assimp
-更多详情见NewCommands.qci文件

## v1.4.1
新命令:$JiggleBoneRealign、$ReverseJiggleBoneRotation,用于设置飘骨轴向
使用meshoptimizer替代forsyth优化顶点缓存,不再建议使用nvtristrip

## v1.4.0
切换到64位
程序完全独立,不再依赖外部的vphysics.dll
浮点数支持科学计数法
修复在使用$PushD后,绝对路径的源文件不能正常读取
$IF宏支持||操作符

## v1.3.3
修复$NekoDriverBone不支持带"."的骨骼名
修复不能识别qc里后缀为大写的源文件

## v1.3.2
调整材质数上限为128
使用UTF8编码

## v1.3.1
修复$DefineVariable的一个bug
修复$EndIF的一个bug

## v1.3.0
$if命令支持‘==’和‘!=’表达式
修复不会塌陷未引用的骨骼

## v1.2.0
obj模型支持$Scale;
当obj模型找不到材质贴图时,使用材质名而不是“debugempty”
当命令行参数没有“-game”时进入便携模式
添加qc命令:$if,$ifdef,$elif,$eldef,$else,$endif,$UndefineVariable,$Msg
支持通过命令行参数定义变量,使用方法:[-D<variable_name> <value>]

## v1.1.0
添加fbx动画支持

## v1.0.3
添加“debris”为$Contents的有效选项

## v1.0.2
修复:不会塌陷有顶点权重的骨骼
修改:默认塌陷仅被$Attachment使用的骨骼

## v1.0.1
修改:不塌陷没有顶点权重且被$Attachments和$Bonemerge使用的骨骼

## v1.0
添加:$NekoModel 表情(flex)有关的参数对FBX和DMX的支持,使用方法可在示例qc里找到
修改:回退使用FBXSDK来解析fbx文件,升级sdk版本到2020.3.2
修改:使用静态链接所需的库,不再使用dll。注意当编译带$CollisionJoints的模型时,需要加载游戏目录下的vphysics.dll
修改:默认情况下,不与被覆盖的mdl文件比对序列差异。可通过命令行参数[-checksequenceorder]开启
修改:热重载hlmv时,不检查窗口标题是否和$ModelName一致

## v0.9.4
修复:$NekoDriverBone的驱动骨是程序骨的父级时,程序骨的角度计算不正确。
添加:新命令行参数: "[-reloadhlmv]",编译成功后热重载HLMV。

## v0.9.3
添加:通过命令行参数"[-blender <path>]"向编译器提供Blender可执行文件所在的目录
修改:通过调用Blender来转换FBX,FBX现在有和glTF一样的功能。不再依赖fbxsdk

## v0.9.2
添加:添加命令行参数 [-maxbones <number>],用于设置编译后模型的最大骨骼数量

## v0.9.0 ~ v0.9.1
修改:修改其它地方的文件缓冲区大小,现在整个mdl的最高面数可以达到100w
修复:自动拆分过高顶点数的模型时,拆分后的部分会变成空模型
添加:glTF无蒙皮网格的支持
修复:glTF不支持$lod命令

## v0.8.0
修改:增加写入文件的缓冲区大小,防止高面数模型导致内存溢出并崩溃
修改:新的图标

## v0.7.0
添加:$NekoModel支持eyeball和eyelid选项
更改:动画最大cmd数量为128
添加:gltf网格$scale支持
添加:读取动画参数“forceboneposrot”时应用$scale与动画参数scale
添加:dmxeyelid、eyelid、eyeball的$scale支持

## v0.6.2
修复:参数“-outdir”不支持相对路径

## v0.6.1
添加:命令行参数"-modelname"&"-outdir"
添加:glb形变(形态键)支持

## v0.6.0
更改:gltf形变支持
添加:新qc命令 "$NekoModel",支持gltf使用flex
更改:$hbox不写入有关胶囊体的信息
修复:noautodmxrules 导致报错
更改:$NekoDriverBone的逻辑,支持骨骼塌陷

## v0.5.1
修复:“$NekoDriverBone” 位置计算错误,以及角度限制的单位
修复:游戏内加载mdl时控制台报错Keyvalues缺少“{”

## v0.5.0
添加:"$forcecapsules",编译器将跳过不处理此命令,防止报错
添加:".gltf"&".glb"格式支持,暂不支持形态键或动画。
blender流程使用glb格式速度最快,以下是简单测试: (136908三角面,分成四个部分,无形态键) 导出:glb 12.2s | dmx 65.8s | smd 55.7s 编译:glb 1.15s | dmx 1.73s | smd 17.72s

## v0.4.1
修复:中文路径问题
调整:最大$Animation数量为4096

## v0.4.0
更改:参数“-usenvtristrip“变更为“-nvtristrip”
修复:游戏内加载mdl时控制台$Keyvalues报错
添加:新qc命令 "$NekoDriverBone"
120 条留言
FilmAFrame 10 月 13 日 上午 4:15 
Can you add $subd next? That command is exclusive for Alien Swarm and Source Filmmaker
⎛⎝goodusername12345⎠⎞ 10 月 2 日 上午 4:30 
could something like V-HACD [github.com] be integrated internally to be used when attempting to compile a physics mesh for a model that is not prepared as such?
Aeris>︿< 9 月 22 日 上午 11:39 
just wanted to report that complex character model that goes beyond the limit of L4D2 with facial flex make crash in hlmv or ingame evne tho it's compile just fine still. any help or fix would be appreciate. but thanks for making this tool! it been super useful
Lily's Cherry 9 月 16 日 上午 1:42 
太牛逼
nekonacho  [作者] 9 月 9 日 下午 9:09 
256 is not the upper limit for mdl.
It is the upper limit for the source engine.
Rexcilius 8 月 28 日 下午 2:51 
can this go past the 256 bonelimit?
Toppi 8 月 7 日 上午 12:39 
It seems that recent patch 2.3.0 have problem with $collisionjoints as its subcommand $mass, $inertia, and $rootbone etc resulted as a "bad command"
ched salvia 7 月 26 日 下午 5:28 
you're the best! fuck the default studiomdl XD
Sirhephaestus 7 月 8 日 上午 5:01 
That is unfortunate because dx80 still has powerful uses in CS:S, plus causes issues for people using it if there's no model. Thanks for the reply though.
nekonacho  [作者] 7 月 8 日 上午 3:22 
dx80 related features have been removed.