top of page

PuppetSoul animator's Dynamic

Automatic Hairs, Cloth, CharFx, Dynamic for characters.

pupDyna_demo.gif

It's specially design for animators = easy to setup, easy to control, easy to tweak.

On the rigger side, it take place on joints, or other rig objects. It's use for Hairs, Cloths, tentacles, soft or all overlapping object and reduce drastically the animation time. It's easy to use for animators

It's fully controlable by animators, allow over animation if needed, and it's predictable. It's meant to replace CharacterFx by pure animation in many occasions. It's already use in production.

There is two types of PUPbuildDynamic:

- Expression (aka Muppic): Use only Maya standards nodes for maximum compatibility and cross version use.

- Node (aka PUPdynaNode): use plug-in, but allows collide, wind and custom fps animations. And it's faster.

It's totally integrated to PuppetSoul, but a standalone version exist and is in free download for 2025:

pupDyna_attributs.jpg

user's attributs : simple and effective!

See Attributs Effect on Animation Usage Part

Standalone Installation

Extract the zip, place the folder wherever you want.

Drap n drop the file _install/install_PuppetSoul.py in a maya viewport.

A shelf is created with the PUPdyn icon.

If you install PuppetSoul Dynamics AND PuppetSoul Library, install them in the same PuppetSoul folder.

Important Rules before using

be sure : 

* Use only on Oriented Joints, aiming X.

    Meaning : rotateX, Y, Z = 0. The only channel with value can ve translateX

* Be sure you disable Animation Cache before running.

* If you want to use the PUPdynaNode, be sure to be on Maya 2025.

   Request any other release of the plug-ins via email.

* If you keep the PUPdynaNode where it is (_plug folder) be sure to lower the security level in prefs, (prefs>security) or 'Allow' the load when asked. 

* You can also simply manually copy the PUPdynaNode.mll plug-in in any recognize Maya Plug-in Path.

Rig Usage

Select the object, fill 'On Joints' input, adjust options, and hit 'Apply'

pupdyn1.gif
pupDyn_tab1.jpg

Create Tab

- on Joint(s) :  joints to apply dynamic. You can use wildcard to enter multi-joints : hair*01

- User name (node only) : name used later for collide

- Type : Expression (no plugin needed, simplest features) or node (need loaded plug-in but allow collide, wind, and 12 or lower fps)

- Mode : Rotation or Translation

Main Options :

- All Chain : process all childs of the given joints

- ...only ... : All chain, but only joints with already a controller as a shape.

- Negative Side : use that on joints mirrored 

- Auto negSide : autodetect if we are in negative side

- Follow Translation : new controllers also allow translation (rotation Mode)

- ollow scale : new controllers also allow scale (rotation Mode)

Cosmetic:

- use Global attribut : group user attribut on given object, unlike attribut on each new controllers

- Controller type : shape type

- Controller Size : shape size

Settings :

- Enable : enable dynamic by default

- Weight : default weight (small value are better for small joints)

- Settings : predefined settings.

pupDyn_tab2.jpg

Advanced Tab

Features

- Gravity : add gravity

- wind : add wind (node type only)

- frame step : add frame step feature (node type only)

Set

Add object to a set if name is given

Color

Choose a color for the controller. Index or rgb

Goal offset (expression only)

In expression mode, dynamic is apply on a goal object. The goal offset allow you to offset this goal farest than the usual position.

Auto Goal Dist aplace the goal at the first child position, offseted by the goal offset value.

Unchecking the goal offste allows you to define an common offset.

pupDyn_tab3.jpg

Utils tab

Bake/unbake dynamic.

pupDyn_tab4.jpg

Collide Tab (node type only)

You need to create dynamic first, in node type.

Features

- Type: collide type (sphere, plane, capsule)

- Name: enter a name

- attach to : name given in 'user name' field in create tab.

Create : do the creation.

Mirror

Allows collider mirror. It need to contains the 'search' filed string in the name.

pupdyn2.gif

Collide use

Animation Usage
(Expression type)

dynExp_attributs.jpg

This is the standard attributs for expression dynamique type.

- Enable : put it on or off

- StartFrame : from where the dynamic is on. When you playback, you MUST start from this frame

- GoalDist : each dynamic object point to a goal. This offset the goal (see below)

- Weight : the weight of the effect. If the effect is too big, lower this value (see below)

- ShowGoal : Show the actuall goal (usefull for GoalDist)

- Stiffness : the stifness of the dynamic (Higher values are stiffer)

- Damping : resistance of the air (lower = bouncy dynamic, higher = keep dynamic from bouncing)

- Speed : speed of the dynamic

- Mass : Mass of the system.

Usual Default Settings as in the upper image

Stiffness to 0.8 (instead of 0.3)

Speed to 0.2 (instead of 0.5)

Goal Dist set to 2

Damping to 2 (instead of 0.6)

Mass to 4 (instead of 30)

Animation Usage
(Node type)

dynNode_attributs.jpg

This is the standard attributs for expression dynamique type.

- Enable : put it on or off

- StartFrame : from where the dynamic is on. When you playback, you MUST start from this frame

- Weight : the weight of the effect. If the effect is too big, lower this value (see below)

- Stiffness : the stifness of the dynamic (Higher values are stiffer)

- Damping : resistance of the air (lower = bouncy dynamic, higher = keep dynamic from bouncing)

- Speed : speed of the dynamic

- Mass : Mass of the system.

Optional :

- Gravity : Gravity force strength

- WindX, Y, Z : wind force, by axis

- Wind Complexity : More or less noisy wind

- Wind Speed  : Speed of the wind

- FrameStep : refresh every N frame

- FrameStep Offset : offset the N frame refresh

Usual Default Settings as in the upper image

Stiffness to 1 (instead of 0.4)

Speed to 0.5 (instead of 1)

Gravity Y set to -10

Damping to 0.8 (instead of 0.4)

Mass to 0.5 (instead of 1)

wind set the 1 on all axes

Collide for Animator

dynNode_collide.jpg

Settings when a collider was set.

- Collide : On or off the collide. Off will faster the playback

- Collide Iteration : iteration of the dynamic. Increase if you have some penetration

- Collide Visibility : See the collider objects for settings.

dynNode_OnEach.jpg

On each individual object, you have a specific collider attribut

Collide Radius is the individual radius of colliding effect

collide.gif

Colliders manipulation and individual collider attribut

FrameStep set to 2

CONTACT , ASK FOR PRICE or DEMO

or email to :

cedric{AT}puppetsoul.com

©2025 PuppetSoul© Is protected

bottom of page