Home Page › Forums › General Chat › Correcting Rogue Morphs which Overwrite the Base Figure.
- This topic has 18 replies, 4 voices, and was last updated 2 months ago by
outro.
-
AuthorPosts
-
January 26, 2025 at 5:21 pm #2115281
I suspect many of us have come across this issue.
Occassionaly, you install a character package, usually from an inexperienced vendor, which after you load it once, it corrupts your base figure by writing to it's duf.
The culprits are usually head morphs & body morph dufs.Now, whilst I can reset the base figure handily enough, if I were to load the character again, the same overwrite issue is going to happen again.
I can & have sucessfully edited dufs in Notepad++
Does anyone know where to find the rogue lines of the duf script that would write to the base figure?:0/
January 26, 2025 at 11:25 pm #2115319If it's a rogue morph that fires up on the base model by default, check the head, body or character duf file of the unwanted morph.
Under the "channel" section you will find the following entries "value, min, max".
value and min should be set to 0
If they're set to 1, then that's the problem.
Setting them to 0 should solve the problem.January 27, 2025 at 12:31 am #2115330I have corrected & resaved the base character. That is not the issue.
The issue is that the corruption will reappear as soon as I reload the 'infected' character.
I would like to get in the relevant character head & body dufs to correct the error.
Is it the character head & body dufs you are referring to?
January 27, 2025 at 2:23 am #2115338Yes, look into the head & body dufs of the character that gives you trouble
Check the character duf aswell (the one that loads the full character with head and body morphs)
if "value" and "min" are not set to 0, the head/body morphs of this character will load by default and take over the base modelJanuary 27, 2025 at 10:46 am #2115391Great info!
Thanks a lot.
I sent you a little 'Thank you!'
Eel
January 27, 2025 at 11:37 am #2115395Thanks! Hope it solved your issue.
January 29, 2025 at 12:29 am #2115650Hi eelgoo.
Other thing you can do is use this script from Praxis on Daz3D Forum its really helpful to find rogue morph and another hidden translations that i are some body parts of the figures.I hope this can be helpful for you.Script:
Guide how to use it:
January 29, 2025 at 12:57 am #2115651Thanks for the input.
I have managed to nail the problem with Notepad++
TBH I think I would be lost with the complexity of that script.
January 29, 2025 at 1:10 am #2115652its very simply to use just put in daz library, click on figure and run the script,after that click and utilites and click to list-non-zero morphs and list-non zero transformation.This going to open a notepad++ and list all non zero morphs and translations of the figure.
If you want a more straight up script to show all morphs dialed on the figure you can this script below on Script IDE and it going to show everything that is dialed on the selected figure,including rogue morphs.
After Finding the Rogue morph just change this value on morph file (if the morph is compress you need to descompress first).How to change Morph start Value:
"modifier_library" : [
{
"channel" : {
"id" : "value",
"type" : "float",
"name" : "Value",
"label" : "Rogue Morph",
"auto_follow" : true,
"value" : 1,
"min" : 0,
"max" : 1,
"clamped" : true,
"display_as_percent" : true,
"step_size" : 0.01
},"value" stores the default value of the morph. Above, it's set to 1, which means it gets automatically turned on. In my case, this is bad.
So,
CHANGE:
"value" : 1,
TO:
"value" : 0,Script:
// Script to List all Morphs Dialed on the figure
function dumpMorphs(obj)
{
var a = [];if(!obj) return false;
var n = obj.getNumModifiers();
for( var i=0; i < n; i++ )
{
var mod = obj.getModifier(i);
if( mod.inherits("DzMorph"))
{
var oProp = mod.getValueChannel();
var sName = mod.getName();var nMin = oProp.getMin();
var nMax = oProp.getMax();var nDef = oProp.getDefaultValue();
var nVal = oProp.getValue();var sLabel = oProp.getLabel();
var sPath = oProp.getPath();//var bFlag = (nDef > 0) ? 1 : 0;
var bFlag = (nDef != nVal) ? 1 : 0;if(bFlag) {
var sVal1 = String(nDef);
var sVal2 = String(nVal);if (oProp.getDisplayAsPercent()) {
nDef = nDef * 100;
nVal = nVal * 100;sVal1 = parseFloat(nDef.toFixed(2));
sVal2 = parseFloat(nVal.toFixed(2));
}var sEntry = String( "\"%1\", \"%2\", %3, %4")
.arg(sLabel)
.arg(sPath)
.arg(sVal1)
.arg(sVal2);a.push(sEntry);
}
}
}return a;
}(function ()
{
var node = Scene.getPrimarySelection();
if (!node) {
MessageBox.critical( qsTr("Nothing selected."), qsTr("Warning"), qsTr("&OK") );
return;
}if( node.inherits("DzBone")) node = node.getSkeleton();
if( !node.inherits("DzSkeleton")) {
MessageBox.critical( qsTr("Selection is not a figure."), qsTr("Warning"), qsTr("&OK") );
return;
}var obj = node.getObject();
if(!obj) {
MessageBox.critical( qsTr("Error getObject."), qsTr("Warning"), qsTr("&OK") );
return;
}var a = dumpMorphs(obj);
print("Lines: " + a.length + "\n");
for (var i=0; i < a.length; i++) {
print(a[i] + "\n");
}
})();January 29, 2025 at 3:34 pm #2115738Check the character duf aswell (the one that loads the full character with head and body morphs)
if "value" and "min" are not set to 0, the head/body morphs of this character will load by default and take over the base modelIts not always that simple. In some cases, the corrective morphs are not even linked to the body morph as in the case of EM3D Charmaine. These unlinked morphs show up as soon as the associated joint is activated in any character even though the parent body morph stays at 0. If you have Charmaine installed, it's orphaned correctives will dial-in if you bend the arms or move the legs sideways in any of your other Genesis 9 characters.
The right solution then is to add those missing ERC entries linking the thigh and shoulder correctives to Charmaine's body morph.
January 29, 2025 at 4:16 pm #2115741I wasn't explicit, but I was referring to G8F / G8.1F
I don't even want to think about G9!
:0/
January 29, 2025 at 4:46 pm #2115745The issues caused by orphaned JCMs are not restricted to any generation. You should consider yourself lucky if you haven't encountered them.
January 29, 2025 at 4:52 pm #2115746TBH that doesn't surprise me. :0/
January 29, 2025 at 5:00 pm #2115747For posterity, linking the Charmaine issue thread as reported in the official forums: https://www.daz3d.com/forums/discussion/663306/genesis-9-leg-bend-deforming-oddly
Note, the thread does not discuss the root cause or provide a solution though. Not sure if the vendor has released a fix in the store.
January 29, 2025 at 5:41 pm #2115750I get the impression, problems like these are from the vendor being either unaware of the potential problems, or being careless with the morphing.
-
AuthorPosts
- You must be logged in to reply to this topic.