SMF - 3D skeletal animation - Now with a custom Blender exporter!

Kentae

Member
Hey! here I am again with another quick question ^^
In the standard SMF animate shader the max bone count is set to 32, is this like a hard max or can I have more bones than that by adjusting this number?
Rigs with more than 32 bones is not something I'll need a lot of but it could be usefull for the arms/weapon rig in the FPS I'm currently developing :)
 

TheSnidr

Heavy metal viking dentist
GMC Elder
Hey! here I am again with another quick question ^^
In the standard SMF animate shader the max bone count is set to 32, is this like a hard max or can I have more bones than that by adjusting this number?
Rigs with more than 32 bones is not something I'll need a lot of but it could be usefull for the arms/weapon rig in the FPS I'm currently developing :)
You can easily change that yourself! Keep in mind that each bone requires 8 values, older devices may have limits to the number of uniforms they can support. Modern PCs can handle lots of uniforms though, but mobile and HTML5 may have some trouble with too many.
 

Kentae

Member
You can easily change that yourself! Keep in mind that each bone requires 8 values, older devices may have limits to the number of uniforms they can support. Modern PCs can handle lots of uniforms though, but mobile and HTML5 may have some trouble with too many.
Awesome! It's going to be a PC exclusive so I don't think that's going to be too big of an issue ^^
 

z_bill

Member
How do you set linear interpolation? It resets to quad every time in the editor. Are you supposed to do it in the code?

should something like this work? anim_set_interpolation(global.fish,eAnimInterpolation.Linear)
Thanks. I'm just really bad with the formatting of the code for this.
 

TheSnidr

Heavy metal viking dentist
GMC Elder
How do you set linear interpolation? It resets to quad every time in the editor. Are you supposed to do it in the code?

should something like this work? anim_set_interpolation(global.fish,eAnimInterpolation.Linear)
Thanks. I'm just really bad with the formatting of the code for this.
Does it? It doesn't for me? Are you using the latest version of the model tool?
But yes, running that line of code after the model has been imported should make the animation sample linearly instead of using quadratic interpolation. Note that you need to supply an animation though, and not a model index. You can use model.get_animation("Walk") to for example get the animation named "Walk" from the given model.
 
I do have one issue with the skinning process? its seems that subtractive skinning doesn't work on high weight locations? I have to use the auto skin brush to lighten the weight, then I can subtract the weight. but if i use the auto-skin paint function it reweighs the entire model. and much of it ends up being high weight after the auto skin. it seems as if im stuck in a loop.
 

TheSnidr

Heavy metal viking dentist
GMC Elder
I do have one issue with the skinning process? its seems that subtractive skinning doesn't work on high weight locations? I have to use the auto skin brush to lighten the weight, then I can subtract the weight. but if i use the auto-skin paint function it reweighs the entire model. and much of it ends up being high weight after the auto skin. it seems as if im stuck in a loop.
The subtractive paint doesn't work for 100% weights. This is because all the weights need to add up to 100%, but there are no other weights to increase to make up for the decreased weight, so it just normalizes back to 100%.
Instead of relying too much on the subtractive paint, you could select a different bone and paint in the weight you want to that.
Also, if your autoskin has too many 100% weights, you could reduce the autoskin power before autoskinning. This makes the vertices map to more bones, spreading out the influence for each bone.
 
Top