Copy the plugin and its key file wherever you need (for instance into LightWave plugins directory).
Important for Mac users: copy your key file into the Current
Project directory, as defined by the Content Directory.
If you do not have your key file (license file) you will need to register the plugin on-line. Please go to www.polas.net to register section. Type your e-mail address (the one you used to order) and LightWave dongle ID number displayed by the plugin when run without license. Your personal license file will be sent immediately.
To add plugin to LightWave use Layout->Plugins->Add Plugins or Edit
Plugins (Alt+F11) and select smorph.p file. You will be told
that 1 plug-in have been successfully added. You will find it in displacement section.
Keep your key file in a save place. Updates will not work without
it. Free future updates will be available in download section at
download.polas.net
|
The plugin interface is divided into three main sections (all described precisely later in this manual). |
This is highly extended version of LW built-in mixer. There are many brand new features including: texture masks, driven keys, grouping and more. |
Here you can easily setup sequence of morphs. The biggest advantage is that morphs are interpolated non-linearly. You can also use weightmap to animate morph effect in time. |
Effectors can affect both mixer and sequencer. Effectors are spherical objects with fall-off that can limit area affected by morphs. You can use any object (usually a null) as an effector. |
|
1. Load an object with morph maps into Layout and add smartMorph displacement plugin to it.
2. Create a Null object that will be used as a driver.
3. Open smartMorph interface and go to Mixer tab.
4. Click Add morph and select a morph target you want to use from the pull-down menu. The morph will appear in the list beneath.
5. If it is not automatically selected click it to select.
6. Turn off auto-key by unchecking small tick near set key button.
7. Select the null in driver pull-down menu and a channel that you want to use.
8. Set your null position or rotation (depends what channel you want to drive from), set appropriate morph intensity (by dragging a slider) and hit set key button. It makes SM remember what position (or rotation) of driver corresponds to what intensity value. Remember that you have to change the same channel that you have selected in SM. A driver item can use IK or point at target and you still can use its rotation channels to control a morph.
9. Repeat step 8 as many times as you need to let SM know how to convert item channel curve to morph intensity one.
10. You can freely move (or rotate) driver and see morph changes. If morph doesn't react to driver changes you may need to move time slider to force LW update connections.
IF your driver object (usually a bone) is in IK chain or has a target you need one more extra step. Unfortunately LW returns IK angles properly only during time update (when user moves time slider) and SM remembers values from the recent time change. That means that if you changed driver rotation and want to set a new key for driven-key you have to move time slider first.
Easiest method to set driven-key for IK chain is to set driver item to keyframes, set SM driven-key keyframes and then put driver back to IK chain.
|
1. Load an object with morph maps into Layout and add smartMorph displacement plugin to it.
2. Go to sequence tab.
3. You may need to add <base> morph at the beginning if you want to start morphing from the original shape.
4. Move time slider to time where you want morph to change and add morph from the pull-down menu.
5. Change time again and add another morph and so on. In selected time positions object will be morphed to appropriate morphs and it will be interpolated in between non-linearly.
|
1. Load an object with morph maps into Layout and add smartMorph displacement plugin to it.
2. Create a Null object that will be used as an effector.
3. You can apply Item Shape plugin (custom shape) and set it to ball with size 2m. This will allow you to see size of the effector easily.
4. Open smartMorph interface and go to either Mixer or Sequence tab.
5. Add some morphs (at least one) in either (or both) tabs.
6. Go to effectors tab.
7. Add an effector using appropriate pull-down menu.
8. By default effector(s) affects both mixer and sequencer. You can select what should be affected at the bottom of that tab.
9. Move and/or scale effector to intersect it with morphed object.
10. You can see that inside the effestor morphs are applied. You can change ease in/out options to change effector falloff.
|
This part of smartMorph is replacement for LW built-in morph mixer. It allows you to work in more convenient way and has a lot more features.
You can use driven-key to drive morph values from object channels that allows you very easily use corrective morphs, muscles, build easy-to-use rigs etc. You do not have to use expressions or type anything, everything can be achieved with a few mouse clicks.
You can also use any texture map as a mask for a morph. It allows you for instance to separate two sides of a face with soft edge in between or get unique results animating a mask. It works exactly like 2D masks in composing software or Photoshop but it is not restricted to only two dimensions - you may use 3D procedural textures as well. Wherever texture is white morph will be applied with its intensity value, where is black there will be no morph applied at all. Gray scale in between will set appropriate morph intensity values.
Add Morph - adds morph targets that will be used to the list. It allows you to select morphs that you want use and hide others to keep interface clean and not clogged with to many morph targets.
Replace Morph - replaces selected morph with another one keeping its animation envelopes and all other features.
u (up)/d (down) - move selected item up or down in the list allowing you to custom sort listed morphs.
Morphs list - displays all used morphs and basic information about them. First is a morph name followed by an intensity value. In next field there is an indication of animation envelope (E) or driven key envelope (D). The last one indicates existence of a texture mask. You can use multiselection in this list.
All following options work with selected item(s).
Intensity - value of the intensity of selected morph. This slider can be set to custom range (in the common tab) and works with shift and ctrl clicks to easily set 100% and 0% values.
Keyframes/Driven-key - select how selected morph should be controlled. You can set up both keyframed animation and driven key switching between and than blend those two using blend keys option. Depending what is selected here set key affects appropriate envelope.
Set key - makes a keyframe for morph intensity. If the small check box on the right side is on keys are created automatically whenever intensity value is changed and there is no need to use that button.
Show envelope - opens graph editor and selects appropriate envelope for currently edited morph.
Make group - makes a group from selected morphs and remove them from the list. Each group is treated by smartMorph as another morph without any differences. The only limitation is that a group cannot contain another group.
texture mask - this allows you to apply a texture that will work as a mask for a morph. Wherever texture is white morph is applied at intensity value, where is black morph is not applied at all. Gray values in between apply morph intensity only partially. You can use any LightWave texture including gradients and procedural textures. Textures can be animated as well. When there is texture applied to a morph the button remain pushed in and there is letter M on the right side of morph name in the morphs list.
Blend keys - allows to blend smoothly between key-frame and driven-key animation.
Driver - this option is available when morph is driven by an item and allows to select one that will drive morph intensity value. It can be any object, light, bone or camera.
Channel - this as a driver channel that will drive a morph. It can be position channel - X, Y, Z or rotation one - H, P, B.
|
This part of smartMorph allows to setup a sequence of morphs. Morphs are interpolated non-linearly between each other and you can choose interpolation method. You can use keyboard shortcuts: c and v to copy and paste parts of the sequence. Using multiselection you can copy a bunch of morphs and paste them in other place in time (morphs are inserted after currently selected). To delete morph just use del key. LightWave viewports will not be updated after deleting a morph - to see changes just move time slider to force LW to update. Unfortunately if I update viewports from plugin the del key will be passed to LW as well and delete key dialog will pop-up.
Add morph - adds morph target to the sequence in the current time.
Replace morph - replaces selected morph with another one keeping all morph settings.
Morphs list - this list is sorted by frame numbers so all morph are always sorted chronologically as they change in time.
Intensity - selected morph intensity value.
Frame - in which selected morph will start. A morph will finish when another one starts. When you change this value morph list will be resorted accordingly.
TCB - when interpolation is set to TCB it allows you to set those values for selected morph.
Interpolation - how morphs in between should be calculated.
Shift frames - moves selected morphs in time.
Time weightmap - when there is a weightmap selected different morph points are offset in time so shape change is animated.

Time offset - offset (in frames) between points that weightmap value is 100% from those that have value -100%
Inverse map - by default weightmap value 100% (red) has the biggest delay and -100% (blue) has no delay. Turning this on will invert weightmap
|
Effectors affect both sequence and mixer morphs and they are applied on top of all morphs together. You cannot select which morphs should be affected. However you can have a few instances of smartMorph with different morphs and different effectors affecting the same object. Effectors are calculated on top of all other SM effects and are additive to each other. It means that if you have two effectors of intensity 100% in the same or similar position morphs value may reach 200%. Use clipping to limit morph intensity.
If you want to affect only one morph you can use texture map with a Null reference instead.
Add effector - creates an effector from any LW objects.
Intensity - morph value in the center of an effector. Outside effector range morph value is 0%. To change effector range just scale it. Default range is 1 meter. It is useful to apply ItemShape plugin with size set to 2m and of a ball shape to an effector to have visual display of it.
Ease in/Ease out/Falloff allow to change effector influence.
Clipping - this is maximum overall value of morph intensity. Because effectors are additive and can have influence more than 100% it is useful to have a limit of maximum morph value.
Affect mixer/sequence - those two allows you to choose what part of SM should be affected by effectors.
|
|
This tiny window displays morph intensity on a timeline. It is similar to envelope view in graph editor but allows to track moprh changes easier and because it is very small you can keep it open all the time. Also it allows to quickly select morphs (left mouse click) and change their intensity (right mouse horizontal drag). It always changes intensity in current frame only (you can use it instead of intensity slider in the interface). Morphs are displayed in different colors:
blue - keyframed morphs
green - morphs driven by driven-key
brown - groups
orange - all morphs where intensity is over 100% or below 0%
White vertical line shows actual frame. All key-frames are marked red. Selected morph became brighter with white underline.
|
You can combine any number of morphs into a group. Morphs in a group can use any SM features (driven-keys, masks etc). A group is treated by SM as another morph and is displayed in brown color in smartSheet. There is only one limitation - a group cannot contain another group. You can edit a group content by double clicking on its name.
|
For user convenience LightWave sliders were redesigned. Main change is that you can change sliders range. Unfortunately LW SDK doesn't allow dynamic changes in panels so you have to close and open smartMorph panel to use new values. You can set slider range in 'common' tab. Also there are two shortcuts prepared for you: shift+click slider to quickly set it to 100% or ctrl+click it to set it to 0%. It is especially useful when you work in custom sliders range (for instance from -30% to 150%).
|
SmartMorph allows to use both relative (the one you can use in MorphMixer) and absolute morph maps. Absolute morphs maps can be very useful during modelling process. They hold points positions (like you have another copy of object) instead of offsets only (relative). So if you change base object shape your absolute map will not be affected but if you change topology morph will be changed accordingly.
There are, however no differences in usage both types of maps in smartMorph - all of them behaves in the same way. It gives you great flexibility in creation your morph targets.
|
When you set some keyframes an envelope is created. LightWave require it have an unique name. It may look like this object_name.SM1.K.morph_name:0
SM1: it is a name of the smartMorph instance, next instance will have SM2: and so on.
K indicates that it is envelope for Keyframes. The other possible value is D for Driven-key.
then there is morph name.
The number at the very end basically means nothing. It has to be added to make envelope names unique (because you may have the same morph used a few time in one instance so distinquishing envelopes by morph name is not enough).This number may change after reloading a scene.
|
If you have any questions, comments, suggestions, problems, etc.
feel free to contact me:
e-mail: info@polas.net
ICQ: 81081247
|