mcjMakeTarget

DS 1,2,3,4

Usually, i use this script in conjunction with mcjAutoLimb and mcjParent

This script will create a null node at the location of the currently selected node(s)

The node(s) will be named with the suffix '_target'.

Installation

The zip package is found at the bottom of this page

unzip it in your daz content folder, typically

C:\Program Files\DAZ\Studio\content\

or

C:\Program Files (x86)\DAZ\Studio\content\

once installed, it will appear in your content library, under Studio / Scripts / mcasual

or

C:\Users\Public\Documents\My DAZ 3D Library\

once installed, it will appear in your content library, under My DAZ 3D Library / Scripts / mcasual

Use

Make Target Node will create a null node at the location of the currently selected node(s)

The node(s) will be named like the selected node but with the suffix '_target'.\n"

Make Target Node And Follow' will copy the world space movement of the selected node.

Make Target Node And Parent' will parent the target node to the selected node.

Example ; create a target node for mcjAutoLimb

You have a dance animation, the hips are in constant motion

You want your dancer to rest a hand on a hip

Select the figure hip

run mcjMakeTarget

Press the 'Make Target And Parent' button

Move the new target node to the position where the hand needs to be posted

Select the target node followed by the hand

Use mcjAutoLimb and the hand will follow the target node

Note that it's important to set Limits-Off on the Shldr nodes when using mcjAutoLimb for that type of pose

Example: Using mcjMakeTarget, mcjCycleFilter and mcjParent soften the movement of a dancer's head

We have a dance animation loop, 24 frames

We started building this motion by animating the hips then the abdomen, chest, neck and head

The movement of the neck joint is now quite complex due to this chain of dependencies

The movement of the head is already what we were aiming for, but we want to increase the smoothness

If we softened the animation curves of the head joint, but the neck animation was the real cause of the erratic movements of the head, we would not solve the issue.

The timeline is set so the Play-Range is frames 0 to 24

select the head node

run mcjMakeTarget

press the "Make Target And Follow" button

We now have target node which follows the position and orientation of the head in space

Note that the node is not parented to the head, this is important because it means the Rotation

and Position sliders in the parameter tab match the World-Space rotations and positions of the head.

Select the head_target node

run mcjCycleCilter

select the XRotate property in the right column

check-mark the Filter's Enable checkbox

set the Harmonic Cutoff of the filter at 1 ( or 2 or 3 )

click the Apply button

select the YRotate property in the right column

click the Apply button

select the ZRotate property in the right column

click the Apply button

We now have a target node that swings in space much like the head node presently swings, but much more smoothly

Exit mcjCycleFilter

Select the head_target node followed by the Head node

Run mcjParent

since we want the head node to 'follow-the-lead' of the head_target

we specify the parent node to be 'head_target'

we want to process the whole Play Range

we want to do this for each frame so we set the 'Step' at 1

We really really do not want to parent the head to head_target

We really really do not want to move the head to the head_target position

we do want to have the head orientations to be guided by the head_target orientations

press the OK button

we're done !

License

// by mCasual/Jacques

//

// You can use this script freely for personal or commercial use.

//

// You may not sell, resell, sub-license or rent this script in any way./

//

// you may credit this script to mCasual/Jacques

//

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,

// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR

// PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE

// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,

// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.