setNodeOrigin?

macleanmaclean Posts: 2,438

Hi,

I need to update some DS presets for DS 3 & 4.5. I have this line

setNodeOrigin(47.25, 0, 1.76); 

Does anyone know the correct syntax for DS 3/4.5?

TIA

mac

«1

Comments

  • cridgitcridgit Posts: 1,757
    edited May 2022

    Redacted

    Post edited by cridgit on
  • macleanmaclean Posts: 2,438
    edited December 1969

    Hi cridgit,

    Yes. I currently have some old DS pose scripts which change the origin + some trans values. They're from DS 1.7 and they actually work in DS 3, but I wanted to update them with the correct current syntax.

    That looks good. I'll try it out and see how it goes.

    Thanks!

    mac

  • macleanmaclean Posts: 2,438
    edited December 1969

    Hmm... I've come across an issue with this Pose Preset. It seems DS doesn't like not having the node defined. Here's my script and the error message I get.

    switch( this.m_oElement.name ){
    case "door":
    g_oPresetHelper.setTransformProperty( "ZTranslate", [ 0 ] );
    g_oPresetHelper.setTransformProperty( "YRotate", [ 0 ] );
    node.getOriginXControl().setValue( 47.25 );
    node.getOriginYControl().setValue( 0 );
    node.getOriginZControl().setValue( 1.76 );
    break;
    default:
    break;

    Executing Script...
    Script Error: Line 523
    ReferenceError: node is not defined
    Stack Trace:
    (DzSkeleton(name = "rc0_door2_5578"),DzBone(name = "door"),false)@:523
    (DzSkeleton(name = "rc0_door2_5578"),DzSkeleton(name = "rc0_door2_5578"),true)@:542
    ()@:504
    ()@:274
    ()@:549
    ()@:-1
    Error executing script on line: 523
    Script executed in 0 secs 16 msecs.

    I'm using the generic 'case "door"'; Is there a way to get the label, as opposed to a specific name. This script has to work with a door on several different figures.

    mac

  • cridgitcridgit Posts: 1,757
    edited May 2022

    Redacted

     

    Post edited by cridgit on
  • macleanmaclean Posts: 2,438
    edited October 2012

    It's not the setTransformProperty lines causing the issue. I just tried removing the origin lines and the script works perfectly. Like this.

    switch( this.m_oElement.name ){
    case "door":
    g_oPresetHelper.setTransformProperty( "ZTranslate", [ 0 ] );
    g_oPresetHelper.setTransformProperty( "YRotate", [ 0 ] );
    break;
    default:
    break;

    But that's just a normal Pose Preset, which doesn't help me. With the origin lines in, I keep getting the same error, and after I close DS 3, it wants to send a crash report.

    I was loading the figure from a DS directory (with DS geometry in the data folder), so I tried it from a Poser folder instead, but the result is the same. The reason I tried is that the 'rc0_door2_5578' error refers to the door folder in data - ie. its vertex count.

    Not sure how I use the getLabel thing. Can I paste it into the IDE window?

    mac

    Edit - The peculiar thing is that the old script from DS 1.5 works fine. The line in it reads
    setNodeOrigin (47.25, 0, -2.26);
    It also refers to case "door", but of course other functions in the script will be different from current versions. Certainly, adding that line to a current script doesn't work.

    Post edited by maclean on
  • Richard HaseltineRichard Haseltine Posts: 96,655
    edited December 1969

    What it means is that node is an undefined item for some reason - it should, as I recall, be set at the beginning of the function, before the switch statement, butt hat's either missing or is not getting a valid value for some reason.

  • cridgitcridgit Posts: 1,757
    edited May 2022

    Redacted

    Post edited by cridgit on
  • macleanmaclean Posts: 2,438
    edited December 1969

    Well, I'm not sure how I go about defining the node, or how DS does it.

    This is just a normal Pose Preset saved for the door, then edited to remove unneccessary values, (Scale, etc), and with the origin lines added (as posted above). If DS itself doesn't define a node when saving the preset (other than using case "door") how do I go about it?

    I have the script on my other pc. I'll transfer it later on and post it here. But as I said, it's nothing unusual. Just an edited Pose Preset.

    mac

  • cridgitcridgit Posts: 1,757
    edited May 2022

    Redacted

    Post edited by cridgit on
  • Richard HaseltineRichard Haseltine Posts: 96,655
    edited December 1969

    Looking at it, I think this.m_oElement is the thing you are altering the properties of - so replace node with this.m_oElement

  • macleanmaclean Posts: 2,438
    edited October 2012

    Looking at it, I think this.m_oElement is the thing you are altering the properties of - so replace node with this.m_oElement

    Bingo!!

    That works perfectly! Thanks a lot.

    mac

    Post edited by maclean on
  • macleanmaclean Posts: 2,438
    edited October 2012

    cridgit said:
    node is a variable name (like g_oPresetHelper) so you need to set it to something before you can use it. In the example I gave you, I used node, figuring you'd know to set it beforehand.

    That was an assumption and a simplification on my part. Unfortunately I can't tell you how to set node unless I know what you want to do (impossible to dive into the middle of a script and know what happens at the beginning / end of the script). Clearly we need to take a step back and take the script from the top, otherwise I won't be able to help.

    Just let me node (sorry!) how you want to proceed :-)

    Yeah, sorry, cridgit. With me, you have to assume you're talking to an idiot 5 y.o. LOL.

    Thanks very much for all the help.

    cheers

    mac

    Post edited by maclean on
  • macleanmaclean Posts: 2,438
    edited October 2012

    Well, I should have known it was too good to be true. This script is causing a new set of problems.

    I had been testing the script with a basic door (in Room Creator), which is the slimmed-down version of the main door. Today I tried applying it to the main door, which has numerous other items parented to it - crossbars, dividers, etc - and discovered that when I apply the script, all items parented to the door move a considerable distance away. (That distance appears to be the exact reverse of the distance from the center of the scene - Ztrans -595).

    So what I want to know now is, is there a way to ensure all parented items behave properly? I see various oChild references, but I don't know what they mean. In this script, the final line reads
    this.setProperties( oSkeleton, oChild, false );
    whereas in my old 1.5 script, it reads
    this.setProperties( oSkeleton, oChild, bRecurse );

    I tried changing it to bRecurse, but with no luck. I'm almost ready to forget this and use the old v1.5 script which works perfectly.

    Anyway, here's the latter part of the script as it stands now. (Note - I made it a Char preset so I could include the material switch as well, but that shouldn't make any difference).

    TIA

    mac

    DsActions.prototype.begin = function()
    {
    var bSelected = false;
    var bRecurse = false;
    var bRoot = false;
    if( g_oGui.getNodes() == g_sSELECTED )
    {
    bSelected = true;
    }
    if( g_oGui.getPropagation() == g_sRECURSIVE )
    {
    bRecurse = true;
    }
    if( g_oGui.getNodes() == g_sROOT )
    {
    bRoot = true;
    bSelected = true;
    }
    g_oPresetHelper.setDoMorphs( g_oGui.morphsChecked() );
    g_oPresetHelper.setLimits( g_oGui.limitsChecked() );
    g_oPresetHelper.setTransforms( g_oGui.transformsChecked() );
    g_oPresetHelper.setXRot( g_oGui.xRotChecked() );
    g_oPresetHelper.setYRot( g_oGui.yRotChecked() );
    g_oPresetHelper.setZRot( g_oGui.zRotChecked() );
    g_oPresetHelper.setXPos( g_oGui.xTranChecked() );
    g_oPresetHelper.setYPos( g_oGui.yTranChecked() );
    g_oPresetHelper.setZPos( g_oGui.zTranChecked() );
    g_oPresetHelper.setGScl( g_oGui.gScaleChecked() );
    g_oPresetHelper.setXScl( g_oGui.xScaleChecked() );
    g_oPresetHelper.setYScl( g_oGui.yScaleChecked() );
    g_oPresetHelper.setZScl( g_oGui.zScaleChecked() );
    setBusyCursor();
    this.m_aNodes = g_oSceneHelper.collectNodes( bSelected, bRecurse, bRoot );

    beginUndo();
    for( var i = 0; i < this.m_aNodes.length; i++ ){
    this.setProperties( this.m_aNodes[ i ].getSkeleton(), this.m_aNodes[ i ], bRecurse );
    }

    bSelected = false;
    bRoot = false;
    if( g_oGui.getSurfaces() == g_sSELECTED )
    {
    bSelected = true;
    bRoot = true;
    }
    if( g_oGui.getSurfaces() == g_sALL )
    {
    bRoot = true;
    }

    if( g_oGui.getMapSettings() == g_sIGNORE_MAPS )
    g_oPresetHelper.setMapSetting( DzPresetHelper.Ignore );
    else
    g_oPresetHelper.setMapSetting( DzPresetHelper.Replace );

    this.m_aNodes = g_oSceneHelper.collectNodes( true, true, true );

    for( var i = 0; i < this.m_aNodes.length; i++ )
    {
    this.m_oNode = this.m_aNodes[ i ];
    this.m_aNewMaterials = new Array;
    g_oPresetHelper.collectMaterials( this.m_oNode, false, bSelected, bRoot );
    this.m_aMaterials = g_oPresetHelper.getCollectedMaterials();
    this.m_aMaterialShapes = g_oPresetHelper.getCollectedMaterialShapes();
    for( var j = 0; j < this.m_aMaterials.length; j++ )
    this.setMaterialProperties( this.m_aMaterials[ j ] );
    }

    acceptUndo( String( "\"%1\"" ).arg( g_sSCRIPT_NAME ) );
    clearBusyCursor();
    }

    /*********************************************************************/
    DsActions.prototype.setMaterialProperties = function( oMaterial, oShape ){
    this.m_oElement = oMaterial;
    var sID = this.m_oElement.name;
    switch( sID ){
    case "hinge":
    this.m_sMaterialType = "DzDefaultMaterial";
    this.m_sMaterialName = "DAZ Studio Default";
    this.prepareMaterial();
    g_oPresetHelper.setTargetElement( this.m_oElement );
    g_oPresetHelper.setColorProperty( "Diffuse Color", [ 255, 255, 255 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Diffuse Strength", true, 0, 1, [ 1 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Glossiness", true, 0, 1, [ 1 ] );
    g_oPresetHelper.setColorProperty( "Specular Color", [ 0, 0, 0 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Specular Strength", true, 0, 1, [ 1 ] );
    g_oPresetHelper.setNumericProperty( "Multiply Specular Through Opacity", [ 0 ] );
    g_oPresetHelper.setColorProperty( "Ambient Color", [ 0, 0, 0 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Ambient Strength", true, 0, 1, [ 1 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Opacity Strength", true, 0, 1, [ 0 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Bump Strength", true, 0, 2, [ 0 ] );
    g_oPresetHelper.setNumericProperty( "Negative Bump", [ -0.01 ] );
    g_oPresetHelper.setNumericProperty( "Positive Bump", [ 0.01 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Displacement Strength", true, 0, 2, [ 0 ] );
    g_oPresetHelper.setNumericProperty( "Minimum Displacement", [ -0.1 ] );
    g_oPresetHelper.setNumericProperty( "Maximum Displacement", [ 0.1 ] );
    g_oPresetHelper.setPropertyWithString( "Normal Map", "" );
    g_oPresetHelper.setColorProperty( "Reflection Color", [ 255, 255, 255 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Reflection Strength", true, 0, 1, [ 0 ] );
    g_oPresetHelper.setColorProperty( "Refraction Color", [ 255, 255, 255 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Refraction Strength", true, 0, 1, [ 0 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Index of Refraction", true, 0, 10, [ 0 ] );
    g_oPresetHelper.setNumericProperty( "Horizontal Tiles", [ 1 ] );
    g_oPresetHelper.setNumericProperty( "Horizontal Offset", [ 0 ] );
    g_oPresetHelper.setNumericProperty( "Vertical Tiles", [ 1 ] );
    g_oPresetHelper.setNumericProperty( "Vertical Offset", [ 0 ] );
    g_oPresetHelper.setNumericProperty( "Lighting Model", [ 3 ] );
    g_oPresetHelper.setNumericProperty( "UV Set", [ 0 ] );
    g_oPresetHelper.setNumericProperty( "Smooth On", [ 1 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Smooth Angle", true, 0, 180, [ 89.9 ] );
    break;
    case "hinge_back":
    this.m_sMaterialType = "DzDefaultMaterial";
    this.m_sMaterialName = "DAZ Studio Default";
    this.prepareMaterial();
    g_oPresetHelper.setTargetElement( this.m_oElement );
    g_oPresetHelper.setColorProperty( "Diffuse Color", [ 0, 0, 0 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Diffuse Strength", true, 0, 1, [ 1 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Glossiness", true, 0, 1, [ 0.6 ] );
    g_oPresetHelper.setColorProperty( "Specular Color", [ 255, 237, 178 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Specular Strength", true, 0, 1, [ 1 ] );
    g_oPresetHelper.setNumericProperty( "Multiply Specular Through Opacity", [ 1 ] );
    g_oPresetHelper.setColorProperty( "Ambient Color", [ 0, 0, 0 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Ambient Strength", true, 0, 1, [ 1 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Opacity Strength", true, 0, 1, [ 1 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Bump Strength", true, 0, 2, [ 0 ] );
    g_oPresetHelper.setNumericProperty( "Negative Bump", [ -0.01 ] );
    g_oPresetHelper.setNumericProperty( "Positive Bump", [ 0.01 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Displacement Strength", true, 0, 2, [ 0 ] );
    g_oPresetHelper.setNumericProperty( "Minimum Displacement", [ -0.1 ] );
    g_oPresetHelper.setNumericProperty( "Maximum Displacement", [ 0.1 ] );
    g_oPresetHelper.setPropertyWithString( "Normal Map", "" );
    g_oPresetHelper.setColorProperty( "Reflection Color", [ 244, 216, 130 ],
    "/Runtime/textures/maclean/room creator/rc0chrome.jpg" );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Reflection Strength", true, 0, 1, [ 0.6 ] );
    g_oPresetHelper.setColorProperty( "Refraction Color", [ 255, 255, 255 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Refraction Strength", true, 0, 1, [ 0 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Index of Refraction", true, 0, 10, [ 0 ] );
    g_oPresetHelper.setNumericProperty( "Horizontal Tiles", [ 1 ] );
    g_oPresetHelper.setNumericProperty( "Horizontal Offset", [ 0 ] );
    g_oPresetHelper.setNumericProperty( "Vertical Tiles", [ 1 ] );
    g_oPresetHelper.setNumericProperty( "Vertical Offset", [ 0 ] );
    g_oPresetHelper.setNumericProperty( "Lighting Model", [ 3 ] );
    g_oPresetHelper.setNumericProperty( "UV Set", [ 0 ] );
    g_oPresetHelper.setNumericProperty( "Smooth On", [ 1 ] );
    g_oPresetHelper.setNumericPropertyWithAttributes( "Smooth Angle", true, 0, 180, [ 89.9 ] );
    break;
    default:
    break;
    }
    }

    /*********************************************************************/
    DsActions.prototype.setProperties = function( oSkeleton, oNode, bRecurse ){
    var sSkeleton = "";
    if( oSkeleton ){
    this.m_oSkeleton = oSkeleton;
    sSkeleton = this.m_oSkeleton.name;
    }
    this.m_oElement = oNode;
    this.m_oObject = ( this.m_oElement ? this.m_oElement.getObject() : undefined );
    g_oPresetHelper.setTargetElement( this.m_oElement );
    switch( this.m_oElement.name ){
    case "door":
    g_oPresetHelper.setTransformProperty( "ZTranslate", [ -3.5 ] );
    g_oPresetHelper.setTransformProperty( "YRotate", [ 0 ] );
    this.m_oElement.getOriginXControl().setValue( 47.25 );
    this.m_oElement.getOriginYControl().setValue( 0 );
    this.m_oElement.getOriginZControl().setValue( -2.26 );
    break;
    default:
    break;
    }
    if( bRecurse ){
    var aStack = [ oNode ];
    while(aStack.length>0){
    var oParent = aStack.pop();
    var nNodes = oParent.getNumNodeChildren();
    var oChild;
    for( var n = 0; n < nNodes; n++ ){
    oChild = oParent.getNodeChild( n );
    if( oChild.inherits( "DzBone" ) ){
    if(oChild.getNumNodeChildren()>0){
    aStack.push( oChild );
    }
    this.setProperties( oSkeleton, oChild, false );
    }
    }
    }
    }
    }

    g_bCONTROL_PRESSED ? g_oGui.doDialog() : g_oGui.doNoDialog();

    Post edited by maclean on
  • cridgitcridgit Posts: 1,757
    edited May 2022

    Redacted

    Post edited by cridgit on
  • macleanmaclean Posts: 2,438
    edited December 1969

    Hey, no problem. I'm just happy you're trying to help.

    cheers

    mac

  • cridgitcridgit Posts: 1,757
    edited May 2022

    Redacted

    Post edited by cridgit on
  • cridgitcridgit Posts: 1,757
    edited May 2022

    Redacted

    Post edited by cridgit on
  • cridgitcridgit Posts: 1,757
    edited May 2022

    Redacted

    Post edited by cridgit on
  • Richard HaseltineRichard Haseltine Posts: 96,655
    edited December 1969

    Edited the comment lines so that the page wasn't running into the black border, rendering text unreadable.

    Yes, parented items can behave oddly with rotation - I can't recall when, or what the fix/work around is but I ssupect that's the problem here, rather than anything in the script itself.

  • macleanmaclean Posts: 2,438
    edited December 1969

    Ok. Hold everything, guys!! I've solved the issue. And in the dumbest way imaginable.

    I was continuing updating the other scripts I have (there are hundreds of them!) and I came across one which changes switching geometry - ie - sets it to one of the alternatives. Of course, I hadn't a clue how this would be written in DS 3, so I spent an hour going through the SDK docs and found nothing relating to alt geom (I never can find anything useful in those docs).

    Anyway, to cut to the chase, on an impulse, I opened the old script in the IDE window, which of course, automatically updated it to DS 3 format. I then resaved and tested that script and it worked fine. I checked it in an editor and it all looked good, so I went back to the set origin script and did the same. Again, it updated, and again, it worked fine. (I haven't tried these in DS 4.5 yet).

    So, damn it all.... after all this dorking around, the solution was right there in DS 3. And as far as I can tell, the scripts work perfectly, with no issues whatsoever., and the parented parts on the door stay exactly where they're supposed to.

    Here's what I have now. (From the begin function again).

    DsActions.prototype.begin = function()
    {
    var bSelected = false;
    var bRecurse = false;
    var bRoot = false;
    if( g_oGui.getNodes() == g_sSELECTED )
    {
    bSelected = true;
    }
    if( g_oGui.getPropagation() == g_sRECURSIVE )
    {
    bRecurse = true;
    }
    if( g_oGui.getNodes() == g_sROOT )
    {
    bRoot = true;
    bSelected = true;
    }
    this.m_bMorphs = g_oGui.morphsChecked();
    this.m_bLimits = g_oGui.limitsChecked();
    this.m_bTransforms = g_oGui.transformsChecked();
    this.m_bXRot = g_oGui.xRotChecked();
    this.m_bYRot = g_oGui.yRotChecked();
    this.m_bZRot = g_oGui.zRotChecked();
    this.m_bXPos = g_oGui.xTranChecked();
    this.m_bYPos = g_oGui.yTranChecked();
    this.m_bZPos = g_oGui.zTranChecked();
    this.m_bGScl = g_oGui.gScaleChecked();
    this.m_bXScl = g_oGui.xScaleChecked();
    this.m_bYScl = g_oGui.yScaleChecked();
    this.m_bZScl = g_oGui.zScaleChecked();
    setBusyCursor();
    this.m_aNodes = this.collectNodes( bSelected, bRecurse, bRoot );
    beginUndo();
    for( var i = 0; i < this.m_aNodes.length; i++ )
    {
    this.setProperties( this.m_aNodes[ i ].getSkeleton(), this.m_aNodes[ i ], bRecurse );
    }
    acceptUndo( String( "\"%1\"" ).arg( g_sSCRIPT_NAME ) );
    clearBusyCursor();
    }

    /*********************************************************************/
    DsActions.prototype.setNodeOrigin = function( xChange, yChange, zChange )
    {
    var movement = new DzVec3( xChange, yChange, zChange );
    var curOrigin = this.m_oElement.getOrigin();
    var bb = this.m_oElement.getLocalBoundingBox();
    bb.translate( curOrigin );
    newOrigin = bb.getCenter().add( movement );
    if( curOrigin == newOrigin )
    return;
    this.m_oElement.setOrigin( newOrigin );
    movement = newOrigin.subtract( curOrigin );
    var wsrot = this.m_oElement.getWSRot();
    var wsscale = this.m_oElement.getWSScale();
    var wspos = this.m_oElement.getWSPos();
    wspos = wspos.subtract( movement );
    movement = wsscale.multiply( wsrot.multVec( movement ) );
    this.m_oElement.setWSPos( wspos.add( movement ) );
    this.m_oElement.update();
    }

    /*********************************************************************/
    DsActions.prototype.setProperties = function( oSkeleton, oNode, bRecurse )
    {
    var sSkeleton = "";
    if( oSkeleton )
    {
    this.m_oSkeleton = oSkeleton;
    sSkeleton = this.m_oSkeleton.name;
    }
    this.m_oElement = oNode;
    this.m_oObject = ( this.m_oElement ? this.m_oElement.getObject() : undefined );
    switch( this.m_oElement.name )
    {
    case "door":
    this.setTransformProperty( "YRotate", [ 0 ] );
    this.setNodeOrigin( 47.25, 0, -2.26 );
    this.setTransformProperty( "ZTranslate", [ -3.5 ] );
    break;
    default:
    break;
    }
    if( bRecurse )
    {
    var nNodes = oNode.getNumNodeChildren();
    var oChild;
    for( var n = 0; n < nNodes; n++ )
    {
    oChild = oNode.getNodeChild( n );
    if( oChild.inherits( "DzBone" ) )
    this.setProperties( oSkeleton, oChild, bRecurse );
    }
    }
    }
    g_bCONTROL_PRESSED ? g_oGui.doDialog() : g_oGui.doNoDialog();

    I really appreciate all the help, and I'm sorry for any wasted time.

    cheers

    mac

    PS Cridgit - Check your PMs

  • cridgitcridgit Posts: 1,757
    edited May 2022

    Redacted

    Post edited by cridgit on
  • cridgitcridgit Posts: 1,757
    edited May 2022

    Redacted

    Post edited by cridgit on
  • macleanmaclean Posts: 2,438
    edited October 2012

    It also seems to be doing other weird things. This post is listed in New Posts as having 22 pages. I clicked on page 22 and arrived here, which is actually the top of page 3. But when I previously came to the thread from the Developer Forum page, cridgit's post (above this one) was at the bottom of page 2.

    Edit - After posting this, I arrived back at the bottom of page 2. LOL.

    mac

    Post edited by maclean on
  • Richard HaseltineRichard Haseltine Posts: 96,655
    edited December 1969

    Yes, this forum is till displaying posts instead of pages, and if you click on the last post link it puts it at the top of a page even if it would naturally fall part way down a page. Oh well, coders should be more robust than the average user or something.

  • macleanmaclean Posts: 2,438
    edited December 1969

    Argh!

    A quick question. Does anyone know if DS 4.5 saves switching geometry code in presets? I've tried the .duf types - Pose, Char - and they both seem to ignore it.

    The resaved presets for switching geom don't work in DS 4.5 (Surprise!), and neither do the original ones. I'm now trying to figure out what the code could possibly be. Or is it just broken? I know DS 4.5 has had issues with alt geom from the beginning.

    mac

  • Richard HaseltineRichard Haseltine Posts: 96,655
    edited December 1969

    Is the geometry switching working on the figures? We found the other day that some very old items (Anton's Victoria Changing Ponytail for example) was showing a drop-down list instead of a slider, and wasn't applying materials or morphs to the alternative forms. A more recent item I made, on the other hand, is working tvia slider and is applying materials correctly. So it looks as if there may be subtle differences in how different items are handled.

  • macleanmaclean Posts: 2,438
    edited December 1969

    Yes, everything works fine, but by dropdown menu - not a slider.

    Bear in mind that all these figures are being opened from the Poser directory. One of the reasons for this Room Creator upgrade is to remove all .daz scenes and data so the user will only have a Poser install with .DSAs, plus the folders of DS presets (Materials & Poses, plus Toolbar). That's why I'm opening everything from the Poser dirs.

    So these are normal .cr2s and they all use menus for alt geom. What difference that makes, I don't know, but it doesn't seem like that's the issue.

    mac

  • Richard HaseltineRichard Haseltine Posts: 96,655
    edited December 1969

    Both of the items I was using were CR2s - there just seems to be a slight difference. However, when I checked I had the morphs from the base shape showing on all shapes which isn't how it should work so even the one that was showing and responding to a slider wasn't fully functional.

  • macleanmaclean Posts: 2,438
    edited December 1969

    But is there any savable 4.5 preset which includes alt geom settings? I can't find one.

    I want to see what code it uses in the hope I can use it to update the ones I have.

    mac

  • Richard HaseltineRichard Haseltine Posts: 96,655
    edited October 2012

    I can't see a way to save the setting in a .duf file, but it worked in a .dsa preset. with both the Victoria Changing Ponytail (no slider) and my item (with slider).

    g_oPresetHelper.setNumericProperty( "Geometry",  [ "bangs_2" ] );
    Post edited by Richard Haseltine on
Sign In or Register to comment.