Dimensional Scaling of Bones
caraTRON.7263
Posts: 37
Some objects in Daz Studio have "X/Y/Z Scale" sliders in the Parameters tab. What I want is essentnially that for the bones of a human (G8) figure; however said components do not have that option, only an overall "Scale" slider.
Specifically what I'm trying to do is compress the first two finger joints lengthwise, without also length-compressing the third joint (which is what the G8 Body Morphs "Finger Length" slider does), and without also compressing the thickness of those joints by an equal ratio (which is what using the "Scale" parameter does). How can I do that? Thanks.
(In case it's not clear, I'm talking about the hierarchal components of a figure in the "Scene" tab.)
Comments
The "X/Y/Z Scale" sliders are just hidden.
Go to the parameter tab, click on the "hamburger" symbol > Preferences > show hidden Properties.
I would strongly recommend not doing any non-uniform scaling on any rig, ever. It's almost guaranteed to mess up animation, morphs and so on. Uniform scaling is usually OK. Far better to do a morph to shorten the fingers than a non-uniform scale. If you aren't sure how to do that, it would be a good skill to learn (Blender, for example).
One of the reasons is non-uniform scaling breaks batching (in game engines at least). The matrix math can also make weird things happen in the renderer, especially to surface normals.
Well, I disagree. I do non-uniform scaling all the time, in order to set proportions for my character. The trick is to control all these scalings with one master dial.
So, do all the scaling you need, then ERC-freeze command and save this morph asset. This works even a little bit better than morph targets, for there are less unwanted distrortions.
First of all, I wasn't planning on using this for animation, only for rendering 2D static images.
Second, when you say "shorten the fingers," are you aware that I already said I don't want to shorten the third finger joint? If so, then I don't think I follow you. You seem to be saying that I should "make my own morph" (as opposed to using an existing morph asset) in a manner which does not use the dimensional scaling sliders but effectively achieves the same result; in which case, why? Why is using the sliders bad, but making a "morph" that does the same thing isn't?
To put that another way, the G8 Body Morphs "Finger Length" morph appears to have an effect similar to applying a non-uniform scale (in length and not thickness) to all three finger joints equally, for each finger. Apart from involving more steps, why is one of these actions better than the other?
Is ERC-freeze something I need to do any time I'm saving a new morph, or only when using non uniform scaling? If the latter, why?
Also, I'm not sure I understand what you mean by "morph targets" in this context.
It was a general point concerning the mathematics of matrix transformations, which I won't go into here. A "morph" or "blend shape" is some deformation of the vertices in a mesh. A scale is an adjustment to the transformation matrix in the rig. You can achieve the same effect either way, however in the latter case the matrices are used for other things, such as transforming surface normals during rendering, as well as applying themselves to all children in the node's hierarchy (although I think with Daz, apart from the root node the children don't inherit the parent node's scale). You may encounter problems, you may not. It depends on the specific transform and how the engine handles things like this. As a general rule though, I avoid non-uniform scaling.