DzIKNode Ignores Translations Done From C++/Scripting

Daz would appear to have IK solvers as both the Translate tool and Active Pose tool allow the user to perform IK transformations to their characters.

 

Daz has DzIKNodes (Edit->Create->New IK Chain..), which can be manipulalted within the viewport and are used to define the goal of an IK chain.

 

But I've noticed a few odd behaviours when interacting with DzIKNodes (Edit->Create->New IK Chain..)

1. Expected - Manipulating the node handles within the viewport does properly invoke the solvers and update the bone transforms.

2. Expected - Grabbing the translation sliders within the Parameters Panel and adjusting them does properly invoke the solvers and update the bone transforms.

3. Not Expected - Setting the translation values, ("X Translate, Y Translate, etc" from scripts/c++) on a DzIKNode do not invoke the solvers and no bones are transformed.

4. Not Expected - Manually entering values within the Parameters Panel is also ignored and does not invoke an update.

 

There seems to be some sort of event that is pushed out when the nodes handles within the viewport are interacted with or when the slider is interacted with, but I can't seem to find it. (I've looked through property dumps trying to find a magic function with no luck)

 

(function () {	// A DzIKNode is selected not a DzBone (setting pos on DzBone will do nothing as expected) 	var oNode = Scene.getPrimarySelection()		// update the property but no bone transforms are performed	oNode.getXPosControl().setValue(10)		// update the property but no bone transforms are performed	var xTranslate = oNode.findPropertyByLabel("X Translate")	xTranslate.setValue(10)	xTranslate.emitCurrentValueChanged() // :(})()

 

I am primarly working with your c++ sdk

To give a little background, I am currently working on a product for 3d pose estimation using torch and like to intergrate it into Daz. Most of the heavy work is done, building the model, recreating the necessary c++ components, reaching parity with the predictions from python based implementaiton to the new c++ implementation. I'd just rather not have to write my own IK solvers, but if there is no way at this point in time it's fine.

Comments

  • Hello

    glad to see i'm not alone with this problem. I've just submited a ticket with a video showing this.

     

  • @darkdesire

    I know this was a long time ago, but has there been any update? Did you manage any workarounds?

Sign In or Register to comment.