Left 4 Dead 2

Left 4 Dead 2

280 ratings
nekomdl (modified studiomdl)
10
2
2
3
3
3
2
2
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
4.420 MB
19 Jan, 2024 @ 12:21am
27 Apr @ 8:55am
39 Change Notes ( view )

Subscribe to download
nekomdl (modified studiomdl)

Description
this content is useless if you are not a modder.

Changelog

Supports glTF, FBX, VRM and other formats. Please set the DMX export version to Binary5 Model 18.
Due to a compiler algorithm bug, too many vertices of a material in a single file (the exact number is uncertain) will cause a stack overflow, so the file will be automatically split when the number of vertices in a single file exceeds $MaxVerts.
When the compilation of a complex model fails (the generation of the vtx file is interrupted), try to reduce $MaxVerts and increase $FileBufferSize (8/16/32/64/...).
Supports up to 128 materials.
For other features, please refer to the attached changelog and NewCommands.qci

Changelog

v2.1.3
  • New qc command: $RenameMorph

v2.1.2
  • New qc command: $MaxBones

v2.1.1
  • Increase the maximum number of flexed vertices to 511451.
  • New qc command: $FileBufferSize; default is 8mb. if your model has very much detail, or very much animation, a larger file buffer will be needed. Increase its size appropriately to prevent compilation failures, and the compiler will also take more memory.

v2.1.0
  • glTF&Assimp: fix wrong end frame causing compilation failure
  • Fix the bug that $CmdList can't be parsed

v2.0.5
  • Increase the maximum number of vertices in a single source file to 51w (511451), beyond which it will be split automatically.
    make sure $NoDecal is turned on in vmt, or make sure the number of vertices in each source file does not exceed 65536.
  • Fix a bug that prevented compilation.

v2.0.4
  • New $Animation option: AppendScale
  • Fix a bug in glTF reading

v2.0.3
  • New command: $NoFastGltf
  • Fix some bugs

v2.0.2
  • Fixed inability to correctly parse filenames without extensions.
  • Using caching to improve loading speed of 'innode' options.
  • glTF and Assimp: fix the animation used by default when ‘pick’ is not used.

v2.0.1
  • Fix 'InNode' error.

v2.0
  • glTF support for animation, default up axis changed to Y, support for node transforms。
  • Throw away the FBX sdk.
  • Use Assimp model loading library, supports over 40 formats including FBX, PMX, VRM. Support for Animation/SceneNode/Mesh/MorphTarget.
    https://github.com/assimp/assimp/blob/master/doc/Fileformats.md
  • New qc command: $FPS, sets the default animation frame rate and the animation sampling rate for glTF or Assimp.
  • New source file parameters: 'InNode', 'SampleRate', 'Pick'. Ability to load part of the meshs or one of multiple animations in a single file. Only support glTF&Assimp(FBX..).
    More details in the NewCommands.qci file.
  • $UpAxis added parameters: 'glTF', 'Assimp'
  • DMX: Does not display an error when a vertex has too many influenced bones.

v1.4.1
  • New commands: $JiggleBoneRealign, $ReverseJiggleBoneRotation.
  • Use meshoptimizer instead of forsyth to optimize vertex caching, nvtristrip is no longer recommended.

v1.4.0
  • Upgrading to 64-bit.
  • The program is completely independent and no longer depends on the external vphysics.dll.
  • Floating point numbers support scientific notation.
  • Fixed the problem that after using $PushD, the source file with the absolute path could not be read normally.
  • $IF macro support || operator.

v1.3.3
  • Fix $NekoDriverBone not supporting bones with “.” bone names
  • Fix not recognizing source files with uppercase suffixes in qc.

v1.3.2
  • Adjust the maximum number of materials to 128。
  • Use UTF8 encoding.

v1.3.1
  • Fix a bug in $DefineVariable.
  • Fix a bug in $EndIF.

v1.3.0
  • The $if command supports '==' and '!=' expressions.
  • Fixed unused bones not collapsing.

v1.2.0
  • When the obj model cannot find the material texture, use the material name instead of "debugempty".
  • obj model $Scale support.
  • Enter standalone mode when the command line parameter does not include "-game".
  • Added qc commands: $if,$ifdef,$elif,$eldef,$else,$endif,$UndefineVariable,$Msg.
  • Supports defining variables through command line parameters, usage: [-D<variable_name> <value>]

v1.1.0
  • Added fbx animation support.

v1.0.3
  • Added "debris" as a valid option for $Contents.

v1.0.2
  • Fixed: Will not collapse bones with vertex weights.
  • Changed: Bones that have only been used by $Attachment will not collapse.

v1.0.1
  • Changed: Do not collapse bones with no vertex weights used by $Attachments and $Bonemerge.

v1.0
  • Added: $NekoModel flex related parameters for FBX and DMX support. The usage can be found in the example qc.
  • Added: Fallback to use FBXSDK to parse fbx files, upgrade sdk version to 2020.3.2.
  • Added: Use the libraries required for static linking, no more dlls. note that when compiling models with $CollisionJoints, need to load vphysics.dll in the game directory.
  • Added: Does not compare sequence differences with the mdl file to be overwritten. This can be turned on with the command line parameter [-checksequenceorder].
  • Added: Hot reloading hlmv without checking if the title bar is the same as $ModelName.

v0.9.4
  • Fixed: When the driver bone of $NekoDriverBone is the parent of a procedural bone, the angle calculation of the procedural bone is incorrect.
  • Added: New command line parameter: "[-reloadhlmv]", which will hot-reload HLMV after successful compilation.

v0.9.3
  • Added: New command line parameter "[-blender <path>]", tells the compiler the directory where the Blender executable is located.
  • Changed: Call Blender to convert FBX to glTF. FBX now has the same functions as glTF. No longer dependent on fbxsdk.


v0.9.2
  • Added command line parameter [-maxbones <number>] to set the maximum number of bones in the compiled model

v0.9.0 ~ v0.9.1
  • Changed: Modify the file buffer size in other places, now the entire model can have up to 1 million triangles.
  • Fixed: When automatically splitting a model with too high number of vertices, the split part will become an empty model.
  • Added: support for glTF unskinned meshes.
  • Fixed: glTF does not support $lod command.

v0.8.0
  • Changed: Increase the buffer size for writing files to prevent high-polygon models from causing memory overflow and crashes.
  • Changed: New icon

v0.7.0
  • Added: $NekoModel supports eyeball and eyelid options
  • Changed: The maximum number of cmds for animation is 128
  • Added: gltf mesh $scale support
  • Added: Apply $scale and animation parameter scale when reading animation parameter "forceboneposrot"
  • Added: $scale support for dmxeyelid, eyelid, eyeball

v0.6.2
  • Fixed: Parameter "-outdir" does not support relative paths

v0.6.1
  • Added: command line parameters "-modelname"&"-outdir"
  • Added: glb morph targer(shape key) support

v0.6.0
  • Added: support gltf morph targer, glb not supported yet
  • Added: new qc command "$NekoModel", support gltf using flex
  • Changed: $hbox does not write information about the capsule
  • Fixed: "noautodmxrules" causes error report
  • Changed: $NekoDriverBone logic, supported bone collapse

...
113 Comments
TrulySc 23 Jul @ 7:29am 
I am aware that this upload is mainly for l4d2, but I still want to report an issue I had compiling for tf2.

It seems that nekomdl does not respect skinfamilies properly, at least in the realm to tfs team affiliation.

I have logs but there isnt really a good way for me to format them for upload in steam comments, of all things.

But until this is fixed I just cannot use studiomdl, which is a shame, because i love the enhancements you have brought to source modding with this program.

Also, I really would suggest creating a github page, or if one exists, linking to it here. A fully packaged studiomdl alternative with the fat trimmed is something that only you provide, and distributing through a paid games workshop extensively limits the userbase you could potentially have.

:monsterlove:
Sirhephaestus 8 Jul @ 5:01am 
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  [author] 8 Jul @ 3:22am 
dx80 related features have been removed.
nekonacho  [author] 8 Jul @ 3:11am 
别的版本的起源引擎如csgo或gmod,它们的骨骼上限是256。这个编译器不是l4d2专用的
kill-falldown 17 Jun @ 5:12am 
:gordon:非常感谢!这个工具对我的帮助非常大!!!:insfist:
MxDlZnB 7 Jun @ 6:57am 
256骨骼能编译 但是进游戏它炸啊..
JI06CT3P 28 May @ 2:44am 
Fantastic!!!!:steamthumbsup::steamthumbsup::steamthumbsup::steamthumbsup::steamthumbsup::steamthumbsup:
Sirhephaestus 1 May @ 10:22am 
How do i get it to generate dx80 files? It doesn't seem to do it by default. Thanks.
Edison Gar 17 Apr @ 10:16pm 
If flex verts is over 10000, is it possible to compile it? Cause I did and when I test in the game and it results crash.
silly cat 17 Feb @ 9:09am 
When using nekomdl for my model, something happened to my eye coords? The eyes in game don't work, when im using normal compiler it's fine