Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
I know that, at least for Source, the model compiler itself can discard bones that don't have any vertices connected to them if none of their child bones are linked to any vertices either, even though those bones may still be in the SMDs themselves.
Meanwhile, for mesh-less animations, the model compiler can of course only assume that every single bone means something important.
Additionally, what versions of Blender and the Blender Source Tools are you using?
I'm sure that Artfunkel would appreciate knowing those things.
Blender 2.80
Blender Source Tools 3.0.3
As for the rest, I am trying different setups now. Also tried Blender 2.79 and BST 2.10.2, but the behaviour seems to be the same there as well.
It might be because an animation can be applied to multiple meshes with different deformation settings, so we can't safely decide what to cull. Or it could be related to supporting the import/export of animations without any meshes in the scene.
This shouldn't break anything though. The compiler can handle collapsing bones perfectly well. What is the exact error message you are seeing?
In my case, the reference SMDs are including the correct amount of bones (e.g. 80 deforming bones).
The animation SMDs are including the total amount of bones (e.g. over 400) used in that particular Armature which is used for the mesh(es), which isn't what I (or anybody?) would want, naturally.
If this would be an option, then I would just set all bones to "deform" and export them nonetheless (so they'd appear in the mesh/reference SMDs as well), but apparently I am running into problems then when compiling models for Goldsource, since that studiomdl format has a limit of 128 bones and non-connected bones aren't really being ignored on compilation. I am currently working with the Sven Coop studiomdl.exe, which is a bit more advanced and kind of up to date at least, so you would assume this not being an issue, but apparently it is.
So I kind of depend on a way which excludes all the unnecessary bones from export, not only for the reference SMDs, but also for animation SMDs.
I tried that, but it's not helping with my problem apparently. Although I am not totally sure what you expected this to do.
Scene would then look like this:
- MyMesh1 (Armature Modifier: MyArmature)
- MyMesh2 (Armature Modifier: MyArmature)
- MyMesh3 (Armature Modifier: MyArmature)
- MyArmature
Animation still plays, no problem there. But animation SMD still includes all bones, also non-deforming ones.Thanks a lot for explaining!
I rarely exceeded the Goldsource limit of 128 bones before I think, so this is only now getting an issue for me, as I started animating a character for Sven Coop with the Human Meta Rig, which is rather complex, I am sure you know it yourself.
On export from Blender the BST show the Warning:
"WARNING: Exported 458 bones, but SMD only supports 128!"
The Sven COop Studiomdl.exe will then only blat about the "illegal parent bone replacement", since the bone tables in reference and animation SMDs differ like so:
nodes
0 "root" -1
1 "ORG-hips" 0 (non-deforming)
2 "ORG-spine" 1 (non-deforming)
3 "ORG-chest" 2 (non-deforming)
4 "ORG-neck" 3 (non-deforming)
5 "ORG-head" 4 (non-deforming)
6 "DEF-head" 4
7 "Nose1" 6
8 "Nose2" 7
9 "Eye.L" 6
10 "Ear1.L" 6
[...]
nodes
0 "root" -1
1 "DEF-head" 0
2 "Nose1" 1
3 "Nose2" 2
4 "Eye.L" 1
5 "Ear1.L" 1
6 "Ear2.L" 5
7 "EyeLid1.L" 1
8 "EyeLid2.L" 1
9 "Jar" 1
10 "Eye.R" 1
[...]
If you feel comfortable editing script files, you could open export_smd.py and change line 532 to read:
It's weird how nobody else seems to have trouble with this, so I kept wondering if I am doing something wrong. Maybe nobody tried to use the Human Meta Rigs for Goldsource animation before? I dont know.
Anyway, thanks for that hint, I even flew over the code before and tried to analyze the bone export a bit, but it's far too complex for me to overlook it that easily.
I will surely try your suggestion, because it is still an important topic for me. Will give feedback then.