Curve Conform
Curve Conform uses a curve object to deform an object’s mesh. In order to determine what part of the curve applies to what part of the mesh, you must define an axis and a range of distances along that axis. The axis is the direction in the mesh, which will be transformed to lie along the curve. The Range Start and Range End values define where the beginning and end of the curve match up with the selected Axis.
When Curve Conform is first added, it scans the mesh to compute a bounding box. The range and axis are set to match the longest side of this bounding box. The Auto-Range button can be used to rescan the mesh and set the range based on the bounds of the currently selected axis.
The curve object is set on the Curve pop-up. If there is more than one curve in the object, the first curve is used.
The Flip option reverses the influence direction of the curve. World Coordinates leaves the curve’s position fixed in 3D space, deforming only that part of the mesh that moves into its range.
Stretch alters the mapping of the range to the curve’s arc length (the length of the curve), so that the entire range exactly fits into the length of the curve. This can cause stretching or compression of the mesh along its axis.
When Align is enabled, the vertices are rotated, as well as translated, so the mesh’s “thickness” along the axis is preserved, like a bend operation. This mode maps the range directly to the curve, so the Flip option has the effect of flipping the mesh, but leaving the basic shape the same.The Curve Influence percentage blends the deformed shape with the original un-deformed shape
Show Curve (Custom Object) displays an object curve in Layout - normally curve objects are a modeling tool and cannot be seen in Layout. (If there is more than one curve in the object, the first curve is used.)
Deform Displacement Plugins
The Deform Displacement plugins let you deform objects much like Modeler’s Flex and Deform tools. Each needs two null objects to operate.
Deform: Bend
The Effect Base object defines the start of the bending point along the selected Axis. The Effect Handle object determines the direction of the bending.
Nulls used in image are using Item Shape instead of the standard Null Shape.
Deform: Pole
The Effect Center is the center of the effect and scaling it will distort the geometry. The Effect Corner defines the corner of the influenced area. Use the sliders to shape the influence area.
Nulls used in image are using Item Shape instead of the standard Null Shape.
Deform: Shear
The setup for Deform: Shear is nearly the same as Deform: Bend. You can also control how the effect is applied from the base to the handle by using the two tension sliders. The top slider controls the beginning and the bottom one controls the end. Use the Preset pop-up to select from some common settings.
Nulls used in image are using Item Shape instead of the standard Null Shape.
Deform: Taper
Deform: Taper works just like Deform: Shear, except that you size the handle instead of moving it.
Nulls used in image are using Item Shape instead of the standard Null Shape.
Deform: Twist
Deform: Twist works just like Deform: Shear, except that you rotate the handle instead of moving it. The center of the twisting is defined by the base object.
Nulls used in image are using Item Shape instead of the standard Null Shape.
Deform: Vortex
The Effect Center is the center of the effect and rotating it around the selected Axis will distort the geometry. As such, if you select the X axis, you rotate the object’s pitch; for Y, you rotate heading; and for Z, you rotate bank. The Effect Corner defines the corner of the influenced area. Use the sliders to shape the influence area.
Add Deform: Vortex three times using a different Axis setting on each to have full rotational influence.
Nulls used in image are using Item Shape instead of the standard Null Shape.
Effector
Effector causes effector objects to repel or attract the points of the affected object. The effector objects may be any objects you wish, but Null objects work best.
The Effector Object(s) Prefix is a name prefix with the default of Effector, and any object that begins with this name will be an effector. This lets you have more than one effector based simply on their name.Solid Core Radius defines a spherical area, within which all points are equally affected. There is a gradual falloff of the effect between the Solid Core Radius and Falloff Distance. Points outside the Falloff Distance are not affected at all.
You can also choose the Effector Shape: it can be a Point or Plane. If it is a Plane, you need to specify the Axis. Plane can make an impenetrable plane that begins at the negative side of the axis based on the effector position (like keeping feet squashed against the floor). Falloff Distance and Solid Core Radius will have no effect.
The impact of the effector object is set and animated by keyframing its XYZ Size channels. Positive values repel and negative values attract.
Expression
Expression is a sister plugin to the Expression channel modifier. You use it in the same way.
You can set independent expressions for the XYZ point displacements using the Channel pop-up menu.Some global options are available that are not on the channel modifier version. The After Bones option will cause the displacement to occur after bone displacement. With World Coordinates checked, the XYZ variables in the expression are in world space, not local space.
FX_Hardlink
FX_Hardlink is a very powerful tool that allows you to use the dynamic motion from one object and apply it to another. In most cases the dynamic object contains very few polygons (2-point polygons) while the “HardLink” object has a higher polygon count.
In the example below, Cloth Dynamics is applied to a 2-point polygon chain made up of (x4) 2-point polygons. It is the parent of a single layered object that is made up of four monkeys. When you use FX_Hardlink, the monkeys take on the motion of the 2-point polygon chain.
Hardlink keeps the geometry rigid and will displace it based on the Piece Mode setting.
The HardLink Object must be parented to the Dynamic object in order for FX_Hardlink to work.
FX_Hardlink Properties
Under the Basic Tab you can choose what Piece Mode you would like to use. Polygon treats each segment as its own object. 1 Piece will make the entire object a solid and considers it one piece. Point Set will read selection sets that you could create in Modeler.
The Edit FX Tab allows you to change what pieces are linked to what nodes. This is handy if the tool doesn’t quite link what you thought it would on complex objects.
FX_MetaLink
FX_Metalink is a very powerful tool that allows you to use the dynamic motion from one object and apply it to another. In most cases the dynamic object contains very few polygons (2-point polygons) while the “MetaLink” object has a higher polygon count.
You may run into problems if the Dynamic Object is too rough. Subdividing the Dynamic Object may help.
In the example below, a 2-point polygon chain with Cloth dynamics applied to it is the parent of the Worm (MetaLink Object). The Work takes on the dynamic motion of the 2‑point polygon chain with zero calculation time.
The MetaLink Object must be parented to the Dynamic object in order for FX_Metalink to work.
The Smoothing option attempts to smooth the reshaping of the Metalink object. If unchecked, the reshaping can pass through the vertex of the cage object (dynamic Object).
If you want to use other Displacement Maps and not have them be ignored by MetaLink also apply Metalink_Morph.
FX Metalink Morph
FX_Metalink_Morph is a displacement plugin that enhances the functions of FX_Metalink. By itself, FX_Metalink cannot use normal morphing information because it ignores bones, Morph Mapping, and Displacement Maps. However, if you use FX_Metalink with FX_Metalink _Morph, you can use normal morphing data.
The FX_Metalink _Morph plugin can be added before or after FX_Metalink.
FX_Metalink _Morph has one pop-up menu called Morph Mode. Set this to One time morph to execute morphing only one time. This mode is appropriate when the morphing is from Morph Mapping. Use Every time morph to execute morphing for each displacement process. This mode is appropriate when the morphing varies, like the Displacement Map of waves. The Non morph setting simply disables this plugin.
HyperVoxels Particles
The HyperVoxels Particles Displacement plugin lets you set the base color for a HyperVoxels particle to the color of the Vertex Color Map, if one exists. You can also set the particle weight using a Weight Vmap.
These options are only available when HyperVoxels have been applied to an object.
Inertia
Inertia creates lazy points. It will delay the point positions in an object, and cause them to catch up over a period of time.
Lag Rate (s/m) is the amount of delay (in seconds) for points that are one meter away from the pivot point of the object - points closer or farther will be adjusted accordingly. If you had the pivot point for the cow object at the tip of her nose and moved her forward, her nose would move with the pivot point; however, the rest of her would be delayed. If you set Lag Rate to 1, then the portion of the cow that is one meter from her nose would be one second behind.
Normally, the object’s movement triggers the effect; however, you can point at a different object instead by using Inertia Pivot Object. Then, the object doesn’t even need to move to get the effect. Inertia Pivot Object replaces the item’s pivot point, and becomes the center from which the inertia acts. Points farther away from this center have a larger delay in their animation - they are delayed by a time equal to the distance multiplied by the Lag Rate. Activating Local Pivot uses the pivot point’s local coordinates rather than world coordinates.
You can also specify a Weight Map. Zero weighting will result in no delay for those points. Using 100% is the same as not using a Weight Map on those points.
Joint Morph Plus
Joint Morph Plus drives an Endomorph based on the angle of a bone. This displacement function replaces the common, but cumbersome, use of Morph Mixer in combination with an expression or plugin to control the morph channel based on a bone angle. This would allow you to, say, bend an arm using bones, but also control a Morph Map that might bulge muscles.
The first three entries define the object you are using the bones from, the bone and its axis that control the morphing. Usually the object will be (self) i.e. the object you are attaching to this plugin, but sometimes it makes sense to have the Endomorph controlled by another object’ s bones (e.g. if you have a high resolution object and a low resolution proxy).
The next two entries define what kind of morph is used if the control bone is below (Angle < Min) or above (Angle > Max) the defined range. If these options are set to (base), the base model (i.e. no morphing) will be used, otherwise the lowest (Min Morph) value or the highest (Max Morph) value will be used.
The next (up to five) values define the range of the morphs. Every entry (make sure to activate the checkboxes at the left) defines a morph at a given angle. The values can be in any order, but make sure that you also define the angle for the base model (usually this angle will be at zero degrees). If you define multiple morphs for one angle, only the first entry will be considered.
The percentage entry scales the morph, usually this entry will be set to 100%.
Rotate the control bone now and you will see the effect of the morphing. If the angle of the control bone matches exactly a defined position, the corresponding morph will be used, otherwise the plugin will interpolate between two morphs.
Lazy Points
Lazy Points alters time for the points of an object it affects. When the Lazy Points Plugin is active for an object, the further an object’s points are from its center, the longer it takes them to move, rotate, size and stretch.
LScript and LScript/RT
These two items will allow you to apply an LScript.
MD Baker
MD Baker is a Displacement Map plugin that incorporates motion data from Layout into Motion Designer. MD Baker can handle motions, such as those of bones affected by Displacement Map plugins. The resulting data becomes an MDD or Geocache file to be used with the main Motion Designer plugin.
- MDD Filename - This is the name the file will be saved as.
- File Format - Determines the motion file type. You can choose from:
- MDD - LightWave’s native Motion Designer format
- GeoCache Single - creates a single GeoCache .mc file and its accompanying .xml file
- GeoCache Multi - creates a separate GeoCache file for each frame of the scene. This is mainly necessary when Single .mc files become too large to be comfortably managed.
- MC/MCX - When saving in a GeoCache format an option becomes available - to save in the new MC or MCX format.
- Bake Mode - Sets what the motion data will record. Some file types only recognize data from specific mesh types.
- Cage Only - The cage is the mesh before any subdivision is applied. Choosing this option will apply only motion data of the cage.
- Subdivision Only - Subdivision occurs after the cage. Choosing this option will record only the subdivided mesh data.
- Cage and Subdivision - This option will record both the cage and subdivided mesh data.
- First Frame - Sets the first frame to start recording on.
- Last Frame - Sets the last frame for recording.
- Frame Rate - Sets the number of steps for recording. A setting of 1 will record the next frame, while a setting of 2 will record every other frame.
- Save OBJs - Checked on will save an OBJ file with the same name as the object.
- Save LWOs - Checked on will save an LWO file with the motion file.
When using MD_Baker with other Displacement Map plugins, be sure to add it after other displacements.
To use MD Baker:
- Add MD Baker to the Deformations Tab of the Object Properties Panel for the object whose motion you wish to incorporate.
- Double-click the added plugin to open its Options Panel.
- Define the desired MDD filename and set the parameters. Click OK.
- Click OK for the next dialog that appears.
- Make a preview animation.
- Open the MD Baker Options Panel again. This time a different version of the panel will appear. Click OK to save the MDD file data.
- Remove MD Baker or deactivate it.
- Load the file into MD Reader.
You can also bake multiple objects and read multiple MDD or GeoCache files using the MD Multi-Baker and MDD Multi-Loader tools on Layout’s I/O Tab.
MD Reader
MD Reader is the Displacement Map plugin that applies motion data (MDD, vertcache or Alembic file) to an object in Layout. New to LightWave 2015 is support for MCX format vertex caches.
MD_Reader is automatically added to the Target when you click the Activate button on the MD Property, Objects Tab. It is removed if Deactivate is clicked. As such, you will normally not need to add or adjust this plugin manually.
Setting Options
- File Name - Use this to load the motion data file.
- Information Line - This display shows the number of points in the cache, the number of frames cached and the time in seconds at the scene's frame rate.
- Frame Offset - The default load time is at frame 0, you can use this setting to offset the load time.
- Replay Speed - If you want the motion data to replay at a different speed, adjust this setting. 100% would be the same, 50% would be replay at half speed.
- End Behavior - This setting determines what happens with the motion data once it has finished.
- Stop - The motion data will stop.
- Loop - The motion data start at the beginning again once it has finished.
- Comp - Composites the motion data, replacing the vertex positions between beginning and end, but leaving it untouched outside that.
- PingPong - The motion data will reverse once it has reached the end, then go forward once it has reached the beginning again.
- Apply Cache to - Choose between World or Object Space.
- Match-By - Matches the MDD by the specified setting.
- Point Order - Using this option, points must be in the same order on the object as the cache file. The advantage for using this Match-By option is lighter processing is necessary.
- Coordinates - Matches the cache data with the object in Layout by the coordinates of each point in the object. The number of points in the cache and the new object do not need to match with this option.
- Vertex Cache Units - Allows the MDD to scale the data brought in.
- Up Vector - Offers a choice between Y-Up and Z-Up. LightWave is Y-Up.
- Alembic Mesh - Used when you have loaded an Alembic file, this item shows the Alembic file name associated with the cache data.
When using MD with other displacement plugins (which should be loaded after MD) be sure Key-Move is ON. Motion Designer ignores any plugins loaded above MD_Reader.
MD_MetaPlug
MD_MetaPlug is a Displacement Map plugin for extending MD_Plug and applying a MDD file to the object in Layout without restricting the shape or the number of points. This lets you create the animation, and lets you completely separate the object for animation and the object for rendering. For example, you might use this to add buttons on a dress after the MD calculation.
Setting Options
Specify the target MDD file in the MDD Filename field. The details include the number of MDD frames, recorded time, and the number of points on the plugin button. Verify the information.Specify the object used for the calculation of the MDD file as Cage Object. This object should be made up of triangles and quads. The smooth reshaping is executed based on the lattice by polygons.
You may run into problems if the Cage Object is too rough. Subdividing the Cage Object may help.
In the ActionStart field, specify the time (in seconds) at which motions based on the MDD should start.
Use the EndBehavior pop-up menu to specify what happens at the end of the motion based on the MDD. Stop maintains the last state, Repeat repeats the motion, and Composite plays back the MDD file successively.
Key-Move is used to specify whether or not to displace the shape using the standard keyframe. Since the MDD already contains displacement information, setting Key-Move to ON can duplicate the displacement of shapes. As such, you will usually set this to OFF. However, this will also disable any movement in Layout.The Smoothing option attempts to smooth the reshaping. If unchecked, the reshaping will pass through the vertex of the Cage Object.
Activate Disable to turn the plugin off without losing your settings.
MD_MetaPlug_Morph
MD_MetaPlug_Morph is a displacement plugin that enhances the functions of MD_MetaPlug. By itself, MD_MetaPlug cannot use normal morphing information because it ignores bones, Morph Mapping, and Displacement Maps. However, if you use MD_Plug with MD_MetaPlug_Morph, you can use normal morphing data with Motion Designer.
The MD_MetaPlug_Morph plugin can be added before or after MD_Plug. Make sure MD_Plug’s Key-Move is set to OFF.
MD_MetaPlug_Morph has one pop-up menu called Morph Mode. Set this to One time morph to execute morphing only one time. This mode is appropriate when the morphing is from Morph Mapping. Use Every time morph to execute morphing for each displacement process. This mode is appropriate when the morphing varies, like the Displacement Map of waves. The Non morph setting simply disables this plugin.
Using MD_Metaplug_Morph is CPU intensive, so be sure to select the appropriate Morph Mode.
Morph Mixer
Use the Morph Mixer Displacement plugin to animate using Endomorphs. You don’t really need to use the plugin now as a button to access MorphMixer has been added to the top of the Deform tab.
See Morph Mixer Section, later in this chapter and starting on page , for more information.xxx
NormalDisplacement
NormalDisplacement can displace each vertex either along its normal or using Morph Maps. NormalDisplacement differs from regular displacement in that with regular displacement, the direction is fixed by you (or texture). With NormalDisplacement, the displacement is set by the geometry, an effect similar to using Smooth Shift in Modeler.
A vertex’s normal direction is the average of the polygon normals it is connected to.
An image of normal displacement would be very helpful in describing the tool’s use.The Displacement Amplitude sets the amount of displacement. Displacement Direction lets you choose whether the direction of the displacement is along the vertex Normals or using Morph Maps. The Texture button brings up the Texture Editor, where you can add a texture (like in a regular displacement texture).
If you are displacing along Morph Maps, set the MorphMap pop-up menu to the target Morph Map.The Detail Attenuation option reduces the displacement in highly detailed areas, preventing the geometry from intersecting itself. This is accomplished by weighting each displacement by the neighboring polygons area, so vertices in small polygon areas are displaced less than in large polygon areas. You can adjust this weighting with the Attenuation Bias parameter. A bias of 0 percent will attenuate most polygons and 100 percent will affect only very small polygons.
The Cache Normals option causes the normals to be calculated only once. These results are used for later evaluations, making the evaluations much faster. This option is recommended for solid objects, but not for objects that are being deformed (e.g., with bones).
If you are network rendering, “Cache Normals” will not work since the scene is unloaded and reloaded for each new frame. Instead of using “Cache Normals” for a solid object that does not change over time, freeze the deformed shape with the “Save Transformed” command, save it under a new name, and use the new object in place of the old.
Play your scene while tweaking the settings to get real-time feedback.
Remember that textures are three-dimensional and generally have different values for any point in 3D space (assuming your texture is something dynamic, like Turbulence). The value of the texture at each vertex acts as a multiplier against the Displacement Amplitude value. So if a texture was at 50 percent for a particular vertex and the Displacement Amplitude was 500mm, that vertex would be displaced 250mm (500mm x 50 percent). Each vertex would have its own evaluation.
Because each vertex gets its own texture value, when using Morph Maps, the amount of morphing is usually different for each vertex. If the texture is animated, you will see the amount of morphing change over time.
A cool trick would be to use a gradient texture with Distance to Camera or Distance to Object set as the Input Parameter. The gradient could just be a ramp from 100 percent to 0 percent. Then, you can cause a morph to occur based on the distance to the object or camera.
Python
Opens a file requester for a Python script to create displacement for your object.
Python Lazy Points
A Python version of the Lazy Point script, included for learning and reference.
Relativity Morph
A Relativity Morph Expression module for the Relativity scripting system.
Serpent
Serpent is a displacement plugin that deforms an object so that it hugs its path. The object is expected to travel along some axis of alignment.
Alignment Axis sets the axis along which the object will be aligned. The Start Frame and End Frame parameters turn the deformation on and off at those frames, respectively.
Object deformation is usually not pretty when the object slides past the Start Frame and End Frame. To get around this glitch, give the object a nice straight lead-in, possibly with a linear keyframe. The length of this segment should be about the length the object extends past its center (0,0,0 in Modeler). Also, let the motion path and end frame extend beyond the end of your intended animation, or end with a nice straight segment along the Alignment Axis. Don’t make the bends in the curve too sharp relative to the thickness and subdivision level of the object.
Serpent is computationally intensive. Using the following steps will maximise your efforts:
- Set up the motion path (i.e. keyframes) before applying the plugin to the object.
- Apply the plugin to a low-polygon-count stand-in object and refine your Scene.
- Use Items > Replace > Replace With Object File to replace the stand-in object with the finished version.
Serpent does not work well with Align To Path controllers (Motion Options Panel) activated for the object.
Sock Monkey
Sock Monkey is an animation plugin that uses scene items - typically null objects - to deform an object’s mesh. You can deform an object like it is a puppet.
Sock Monkey parallels bones in many respects. You may want to use it if it matches your animation style. One big difference, however, from using bones is that the control objects are external to the object.
Basic SockMonkey Setup:
- Create an object in Modeler using selection sets or Weight Maps. These will define the regions of the mesh to be deformed (e.g., chest, upper arm, lower arm, hand, etc.). Using Weight Maps lets you vary the influence based on the vertex weighting.
- Load the object into Layout and add the SockMonkey displacement plug
- Open the SockMonkey Options Panel. On the Relationship Setup Tab, set Vertex Group Types to the type you used in step 1
- Click the Auto Setup Object button. Control items (objects) will be added to the scene and a relationship with each vertex group will be set up
(If you are using Weight Maps, select each group and activate the Use Weight Values option (Control Item Tab).)
To manually add a control item, select the selection set or Weight Map from the Vertex Group pop-up menu. Then, click the Auto-Add Control Item button. If the item already exists in the scene, select it from the Control Item pop-up menu and click the Add Relationship button.
Instead of using Auto-Add Control Item, which c=reates the control items, Auto Assoc. w/Existing will add relationships to existing scene items. Just make sure the scene items have the same name as the groups before running. In other words, if you have a Weight Map called Shoulder, you must have, say, a null object called Shoulder. Note that this operation will not position the scene items like Auto-Add Control Item does.
Control items don’t have to be null objects, although this is usually the case. They can be lights or even cameras.
Control Item Tab
The settings on the Control Item Tab affect the selected group in the list. Use Rotation will cause the control item’s rotation to influence the group. When using Weight Maps, you’ll probably want to activate Use Weight Values so the weighting of vertices will affect influence.
Like bones, control items have rest positions that provide the starting point of their influence. To change a control item’s rest position, activate the Edit Rest Position option, move the item and then deactivate the option.
Display Options
Use the settings on the Display Options Tab to change how (or if) the group bounding box is displayed in viewports.
Use the Display Bounding Box option to toggle the bounding box on and off. Choose a Line Pattern for the bounding box.
Left to Right: Solid, Dotted
Left to Right: Dash, Dash-Dot
Choose a preset color from the Line Color drop down menu or pick a Custom Color for the bounding box.
Batch Operations
Use Enable All Relationships and Disable All Relationships to activate or deactivate all of the group/control item relationships.
The Edit All Rest Positions option allows you to edit the rest position for all control items.
The Remove Relationship button removes the group/control item relationship for the selected group. You can also remove all relationships in one step using the Remove All Relationships.
MD Multi Baker
MD Multi Baker is similar to MD_Baker and can export multiple objects MDDs at once, see the File_Menu > Export section on page PDF_LINK for more details.
Spline Displacement
The Spline Displacement tool (Modify > Spline Displacement) is a simple way to animate hoses, tentacles, etc. using a spline with control handles. It is fully documented here.