modo bubbble logo

Spline Effector


Home >> Rigging & Animation >> Deformer List >> Spline Effector

back next

The Spline Deformer is an excellent way to apply deformations in a continuously smooth manner. This can be extremely useful for long tube-like structures, such as tentacles, tails, whips and a multitude of other applications. The Spline Effector is functionally identical to the 'Bezier Effector', but uses hermite spline curves as the deformation base.

The Spline Deformer works as a Group of Locators that define a Spline style curve through their collective locations. Their initial positions (defined as the Setup Position) determine the undeformed state of the target mesh, and as each Locator is moved the difference between the unmodified curve is calculated and applied to the mesh as the deformation (this is why Curve Deformers will always appear to have two actual curves associated with them). As with many functions of MODO, there are several ways to go about assigning and applying a spline curve for deformations.

No Initial Curve

It is not a requirement that a user create a Spline curve prior to applying a Spline Deformer, as a 'Create Spline' dialogue box opens whenever the Spline Deformer is applied to a Mesh item layer. Users must keep in mind that the resulting curve generated aligns along one of the three axes in a perfectly straight line, centered on the chosen axis. Users will either need to model the target geometry to match this requirement, or enter Setup Mode after the fact, and reposition the generated curve to coincide with appropriate locations relative to the geometry its meant to deform.

To apply the Deformer itself, users must first select the target Mesh Item layer either in the 'Items' list or the 3D viewport. With the target item selected, users can then either press the interface button 'Spline' found in the toolbox within the 'Setup' interface layout under the 'Deformers' subtab or they can RMB+click on the target layer in the 'Items' list and select the "Add Deformer > Effectors > Spline Effector" from the contextual menu. This opens the following dialog-

Create Spline

The only values that need to be modified are the 'Number', 'Axis' and 'Length'. Number represents the number of Locator control positions generated along the length of the curve. More control points will provide finer control over the deformation, but also are more difficult to deal with. Since the deformation smoothly attenuates between each location, users should define the bare minimum number of point necessary to obtain the desired effect. The 'Axis' value determines along which axis the resulting spline will be generated, and 'Length' determines overall length of the resulting curve, centered at the world origin. The base of the generated curve will be on the negative side of the specified axis and increment towards the positive direction.

Clicking 'OK' or pressing 'Enter' will accept the values and generate the 'Spline Deformer'. If modifications are necessary, users can press the 'Setup' mode button found in the 'Setup' interface layout,to enter the 'Setup' action state, allowing users to modify the curve relative to the target geometry without generating any deformations (it will also temporarily disable any position changes applied to the curve outside of 'Setup)'. When properly positioned, users can exit the 'Setup' action state and then change the positions of any of the Locators to deform the target mesh. Simply select the associated Locator and move it with the transform tools, setting keyframes as necessary (if animation is desired).

User Created Curve

If it is desired to create a custom Spline Curve to use as a Deformation controller, users will need to generate this curve in the same Item layer as the target mesh its meant to deform (this can also be done by a cut-and-paste action prior to invoking the add 'Spline' deformer command). Users can draw the spline with the 'Spline' tool.

Once the Spline is created, adding it as a deformer to the mesh requires the user to be in the 'Polygons' component mode with the target Curve selected (and only the target curve). With the target Spline curve selected, users can then either press the interface button 'Spline' found in the toolbox within the 'Setup' interface layout under the 'Deformers' subtab or they can RMB+click on the target layer in the 'Items' list and select the "Add Deformer > Effectors > Spline Effector" from the contextual menu. This opens the following dialog-

Spline B

The only value that will need to be modified in the case of the user created curve is to enable the "Use Selected Mesh" option, instructing the tool to use the previously selected curve. The rest of the options are unnecessary, as everything else will key off the curve itself. Clicking 'OK' or pressing 'Enter' will accept the values and generate the 'Spline Deformer'. Once applied users only need to change the positions of any of the resulting Locators generated at each curve control location to deform the target mesh. Simply select the associated Locator and move it with any of the transform tools, setting keyframes as necessary (if animation is desired).

 

Spline Effector--
To access the options related to the Spline Effector, users can select the Spline Effector item itself within the 'Groups' viewport as the parent of the Locators, or in the 'Deformers' palette and view the associated attributes in the 'Properties' panel.

Spline DeformerEnable: Toggles the effect of the layer on or off. When unchecked (disabled), the layer has no influence on the scene. However, disabled layers are still saved with the scene and its values are persistent across MODO sessions.

Visible: Toggles the visibility of the curve representations in the 3D viewport.

Curve Axis: The 'Curve Axis' setting is critical for twisting and scaling as it decides how the Locator transform channels are used, so rotations along the axis add twist, the other rotation axes are ignored. Scaling perpendicular to the axis stretches the mesh perpendicular to the Curve Axis.

Y is Up: The 'Y is Up' toggle is used with the 'Curve Axis' option to set where the twist coordinates' zero-twist value is. Disabling this option may be helpful to avoid kinking in a deformed mesh when twisting (in certain cases).

Elastic: The 'Elastic' option determines to what degree the deformed item is stretched along the curve to match its overall length. A setting of 100% (default) stretches the deformed area to the same lengths as the target curve, this deformation attenuates toward 0% where the item will retain its original undeformed length along the curve. Deforming always originates from the start of the curve itself. For items that are shorter than the target deformation curve, apply the 'Slide' option to position the geometry along the curve.

Elastic 1
Elastic Value 100%
  Ealstic 2
Elastic Value 50%
  Ealstic 3
Elastic Value 0%

Slide: The 'Slide' option is meant to move the target along the length of the curve, especially when the target item is shorter than the deforming curve. One example of how this could be useful is to animate a snake along a predetermined path, by setting the 'Elastic' value to 0% and then using the 'Slide' option to deform the snake along the curve.

Elastic 1
Slide Value 0m
  Ealstic 2
Slide Value 1m
  Ealstic 3
Slide Value 2m

Source/Target Curve: The Source and Target Curve options allow an additional way for users to deform a target mesh using a custom created curve that is itself deformed by another Deformer (bypassing the need to create any handles to manipulate the curve). You'll first want to create the curve and then duplicate the curve to a new item (so there are two identical versions as separate item layers). Only the single curve should be in each item layer. Next, assign the deformation to the curve that will represent the 'Target Curve' (for example creating a Morph for the curve). Next, by adding a Spline Curve Deformer to an Item (see above) and not specifying a specific curve, just the Effector will be created. Users can then specify the deforming curve as the 'Target' and the undeformed version as the 'Source'.

Animated Source: This option toggle should be enabled when the Source Curve is animated, meaning it will be constantly evaluated, otherwise when disabled, its position will only be evaluated on the first frame.

Tip icon

TIP: When you find a curve is reversed from what is desired, the point order can be inverted simply by selecting the target curve in one of the component modes and pressing 'F', now what was the start will be the end and vice-versa (This is the same command and action as flipping a polygons face normal).

 

Top

back next