adjust rigging to shape for my geograft.
zeni1agent
Posts: 61
I decided to replace the tongue and teeth.
I tied them to the bones of the daz femele 8.
And I loaded morphs for this figure, but the problem is that when I use "adjust rigging to shape", it's not the bones that change, but the shape of the teeth.
What should I do to change the location of the bones?
Some morphs have the same names on both their figure and teeth.
So when I put teeth on the figure the morph with the same name disappears.
Comments
Show Hidden Properties on should let you see the matching morphs, but if you want the bones to be independent then they need to have unique names - if the names match then the centres need to match the base, and will pose to follow them.
I have bones for a daz female 8. My geofraft hides the geometry of the tongue and now the bones on the tongue are empty. I don't want to rename the bones because it creates extra garbage after exporting. I want to apply "adjust rigging to shape" to my geofraft so that the bones on the figure also change, because they still only affect my geofraft now, and all unnecessary geometry is hidden.
I would think then that you need to cretae a "shadow" version of the morph for the base figue and use that to guide the rigging adjustment.
Can I somehow copy the position of all the bones from one object to another?
But only for the bones of the tongue
If the bones are named to match the bones of the original figuer then they should already match. Having bones with the same name but diffrent centres would break the item.
Yes, they match and work, but when I apply the morphs, the bones stay in one place.
I can't change their position.
I tried to load the geograft after applying (adjust rigging to shape) and after (Fit to)
But then the position of the bones returns to the initial one
Original morph
after (Fit to)
You need to move the base figure bone centres to the positions you want for the GeoGraft's, or break the link with the base figure bones.
I tried to move the centers of the bones of the base figure. But I don't know how to move them if the figure does not see the geographer. The original grid is motionless and hidden. I tried to do this in the river but it is difficult because in order to see the bones I constantly have to switch between the figure and the geographer.
Unless you support the specific FBM, the extra bones will not follow. You need to adjust rigging to shape separately for the extra bones.
steps:
Maybe you didn't understand me.
I have a problem with bones that have the same name.
I have a figure of the character DAZ Female 8 and a Geograft that replaces some parts in the model.
And a morph that changes the shape of the mesh and the position of the bones. Both for the Figure and for the Geograft.
I can change the position of the bones on the Figure. But the geometry that hides the Geograft does not change because it is hidden and I do not need it.
The Geograft also changes shape, but I can not move the bones in any way.
before using the morph
After using the morph
After applying adjust rigging to shape
adjust rigging to shape if it is separated from the figure
If the base figure does not chnage there is nothing for the graft to follow. You cannot ignore the areas thata re hidden on the base, or at least you have to adjust the base rigging to match what you want the graft to do (manually sicne Adjust rigging to Shape has nothing to work with) and then link those changes to the controller for the morph. The matching bones on base and fitted items, including grafts, will always be the same in set up and will be controlled by the base.
Can I copy the position of one or more bones from Geograft to a figure? because copying every value for every bone is just awful
Are these the adjustments that you want? I don't think there is a bulk copy/paste, but it would probably be scriptable.
Can I at least copy the position of one bone?
Not as far as I know or can see. The scripting commands you would need are all in DzNode - http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/object_index/node_dz - you would need to copy from one node and assign the values to the matching proeprties on the other node. The simplst method would be to go proeprty by proeprty, using
DzFloatProperty getOrientXControl()
DzFloatProperty getOrientYControl()
DzFloatProperty getOrientZControl()
DzFloatProperty getOriginXControl()
DzFloatProperty getOriginYControl()
DzFloatProperty getOriginZControl()
DzFloatProperty getEndXControl()
DzFloatProperty getEndYControl()
DzFloatProperty getEndZControl()
though there are other options which will use a vector to set all the values at once.
void adjustEndPoint( DzVec3 endPnt )
void adjustOrientation( DzQuat orientation )
void adjustOrientationAngles( DzVec3 angles )
void adjustOrigin( DzVec3 origin )
DzQuat getOrientation( Boolean defaultVal=false )
DzVec3 getOrigin( Boolean defaultVal=false )
DzVec3 getEndPoint( Boolean defaultVal=false )
void setOrientation( DzQuat orientation, Boolean makeDefault=false )
void setOrientationAngles( DzVec3 angles, Boolean makeDefault=false )
void setOrigin( DzVec3 origin, Boolean makeDefault=false )
void setEndPoint( DzVec3 endPnt, Boolean makeDefault=false )
I have never worked with DzNode.
Do I need to enter the script in the Script IDE?
Is this C# syntax?
How to access the required bones
public Value1
public Value2
Value1 = getObject(Path to the bone to copy)
Value2 = getObject(Path to the bone to paste)
Value2.setOrientation( Value1.getOrientation( Boolean defaultVal=false ), Boolean makeDefault=false )
You can use any text editor, it is broadly Javascript (both are forms of ECMA2 script, as I recall). You can use the Scene methods to get selections - you could also check to see if one node had the other as a followBone to get the direction of copying right (or use the fact that the first selected is the Primary Selection and use that to decide which needed to be copied from and which to).
http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/start