Skip to content

Mode - Spring (nParticle)

Screenshot

Point mode acts like a classic spring constraint, something you can find in 3ds max or Physx, if you're familiar with either. It only operates on translations and can simulate drag and springy motion.

It is the simplest mode in BroDynamics. And it is perfect when you need to add a follow-up\overlapping\secondary translation motion.

It can also be used in pair with AimConstraint, to add jiggly behaviour to aim target. For example you can use this on Camera Target to create some realistic aim-lag for camera motion.

It can work with any moving and animatable object in the scene, they can be either already animated by hand or parented\constrained to other object. BroDynamics will create a particle that follows your existing motion with a spring constraint, and then on second pass it transfers this animation to your object.

So you can either:

  1. Animate your object directly
  2. Select it and run simulation

Or:

  1. Animate one object
  2. Parent\Constraint second object to the first
  3. Select second object and simulate it

Screenshot

Simulation properties

Unless stated otherwise examples are recorded with values of 0, 0.5, 1, in most cases with all other values set at default, with a few exceptions.

Keep in mind, that examples may not always be the best repesentation of an effect an attributes gives, as simulation highly depends on your existing animation. A lot of attributes influence each other to produce the final effect.

Goal weight

Controls how much object is attracted to it's target position, basically - the force of the spring. Value of 0 means that object will not follow it's target position. Value of 1 means that it will always stick to target position (almost) immediately.

Goal Smoothness

This value is used to control the “smoothness” of the change in the goal forces as the weight changes from 0.0 to 1.0. This is purely an aesthetic effect, with no scientific basis. The higher the number, the smoother the change.

Examples recorded with values: 0, 1, 10

Drag

This simulates friction with the air, amount of lag, in addition to helping to stabilize the simulation. When the Drag value is 1 the object behaves as if it has no inertial motion or follow through and therefore moves as if it is in thick fluid. I find it useful for drag, lag and delay animation. Example recorded with values: 0, 1, 10

Damp

Dampens attraction force, acting like air viscosity. It has similar effect to Damp, but it's a bit different. I find this value perfect way to control how long it takes for simulation to settle.

If you want it to wiggle for a while after stopping - use low values (0). If you want your simulation to settle quickly or have no overlap wiggle at all - use high values (1). This value may require fine-tuning between 0.0-0.1 for best effect. Example recorded with values: 0, 0.1, 1 Goal weight lowered to 0.6 to better show the effect.

(I'm unsure if values higher than 1 give any significan effect yet, so the limit is set to 10.)

Collide

If on object will collide with other nCloth Passive Colliders in the scene. To create a collider for point mode you need to go to FX mode in Maya, select objects you want to turn into colliders and go - nCloth - Create Passive Collider.

All settings below only work with Collide turned ON.

Collide Width Scale

Collision radius originating from the pivot point of the simulated objects. The size of the simulation particle. Example recorded with values: 0, 5, 10.

You can see visual representation of this radius during simulation if you have Show - nParticles enabled.

Bounce

Controls how bouncy the object is - Amount of bounce on collision, the force that drives object back away from the collider at the moment of collision. Examples recorded with values: 0, 1, 2.

Friction

Controls how hard it is to slide along the surface of the collider. If it's set at a low value object will slide freely, like on ice. Higher values will slow that motion down, like friction against rubber.

Goal weight lowered in example to 0.6 to better show the effect. Example recorded with values: 0, 1, 10

Stickiness

How sticky the particle is when colliding with other objects. Goal wegiht and other values will influence how much force it is required to tear the object away from collider.

Example recorded with values: 0, 1, 10

Cycle iterations

Helps to seamlessly cycle your simulation.

0 - no cycling. 1+ - it will run simulation multiple times trying to smooth out the transition between first and last frame, cycling it.

The more iterations there are, the longer it takes, but the smoother the resulting simulation will be. Usually you would not need to go above 2-5 iterations.

Cycling is done by transferring last frame's simulation shape to the first frame and running running through the animaiton like that multiple times. Doing it multiple times lets the animation settle into a loop.