| LightWave Platforms
A new platform has been added, Windows 32-bit with SSE2 enhancements.
Modeler
Modeler in the Windows version now does drag and drop for files.
Layout
- Added drag-and-drop to the UI or the program icon for Layout Windows
version, supports audio, lwo, lws, obj, images.
- Added drag-and-drop of image files to the Image Editor.
- Drag-and-drop extended to support .srf and image files dropped into the
surface and texture image panes.
- Dynamic Range Limit enhanced to provide a range, with Minimum and Maximum
values in the Image Processing window. Negative values also supported.
- Implemented "Exclude From Volume Stack" for surfaces.
- Added the new raytrace functions (see SDK section) into volumetrics and
pixel filters.
- Added control script for setting the Radiosity Sample Diagnostics Flags.
- The Radiosity Flags (Render tab/Utilities/Radiosity Flags) are now stored
in the scene file.
- Added ability to lock down Z buffer minimum and maximum range for export,
for improved compositing compatibility:
- Minimum sets the 0 point in the buffer.
- Maximum sets the 1 point in the buffer.
- Added snapping to item position (specifically to pivot point) when
dragging items in Layout.
- During Layout's bone re-parenting process, it now notifies plugins of the
new bone item being added as well as the old bone item being removed.
- Package Scene has undergone a significant rewrite:
- New option "Preserve Existing Structure," will attempt to preserve all
directories and subdirectories that are under the current Content directory
when copying assets to the new content directory.
- New option "Reload Old Scene," reloads the original scene after
exporting.
- Changed handling of Radiosity cache files,to work with the new Radiosity
path behavior. Will also respect file structure if Preserve File Structure
option is selected.
- Added an option for Radiosity cache files to be included in the package
or not.
- Added an option to draw wireframe handles and gizmos using antialiased
lines. This improves the look of bones quite a bit. The "Handle Wire
Smoothing" setting is in the Handles&Icons tab of the Display preferences
panel. 0 (default) is off, larger values make the lines thicker (7 seems to
work well). If set, this value also controls the line thickness of the grid,
if grid antialiasing is enabled.
- Made Parent In Place more aware of scaling sign.
- Two new Lscripts for working creating or assigning handles have been
added: Create Handle, Assign Handle.
- Enhanced Viper performance for all modes and all platforms.
- Added new Mirror Hierarchy generic LScript.
- Added Foot Printer LScript for automatically adding footprints to a
character scene.
FiberFX
Highlights:
Polygonal fiber modeler suitable for creating hair, fur and feathers, and
consists of five plugins:
- Fiber Modeler - Creates Polygonal Fiber models, fat hair, feathers,
triangle strips
- Strand Tool - Modeler tool to adjust guide chains using Inverse Kinematics
- Strand Maker - Modeler plug-in to create fiber strands with standard
tools.
- Fiber Filter - Pixel filter renders two point polygon strands.
- Fiber Node Handler - Nodal interface for control.
- Added occlusion culling of fibers. Speedup depends on how many fibers are
behind in the z buffer.
- Added support for multiple FiberFX instances on a single mesh. Cloned
FiberFX instances have a "(#)" appended to the object name in list.
Deactivating a cloned instance removes the entry from the list.
- Added right mouse button menu popup with clone command.
- Implemented Feature Request Case 15884: Added stereo rendering ability to
FiberFX.
- Reworked mouse deltas for better combing. Comb direction is now
independent of starting point.
- Changed clamping of color values to support HDRI. Added dynamic range
limits and clamping to LW interface values from the image processing panel.
- Added FFx object list popup menu item (Save To Default) to save the
current ffsurface as the default to be used the next time a new instance is
created. This will allow the user to customize their default settings. Added
support functions to save default to user setting folder.
- Multi-threaded depth buffer raycast is now enabled. This allows the pixel
filter to operate with the raytraced cameras, including features such as Depth
of Field and Photoreal Motion Blur. Motion Blur must be on for this to engage,
though the blur level can be set to 0. The quality is controlled using the
Motion Blur passes setting.
- Work has been done in FiberFX on disallowing subd changes after editing
guides. This was a major source of guide edit crashes in bug reports. This
will enforce the same subd level for preview and rendering. A warning message
will be displayed when they are different, informing user that these settings
need to be matched when using FiberFX.
- Some optimizations have been made to the FiberFX IK solver.
- Revised the way modeled strand fibers are built. Previously they were
clones, now they are shortened on the inside of the curve and lengthened on
the outside of the curve, following the modeled strand in a more natural way.
See image attached below.
- Guide edit panel now resets its control state when switching between
editing objects.
- Added "Random" toggle button for Swirl to make a random starting rotation
offset, plus load and save code.
Enhanced IK and Animation Systems
New IK
Calculation Options for Improved Performance
LightWave now has several options that allow the user to control the basis
for IK calculation. These options provide improved performance for tuning the
desired solution for each animation movement. Options are:
- Base on First Keyframe - Calculate from the first keyframe to the current
frame
- Base on Most Recent Keyframe - Calculate from most recent keyframe to the
current frame
- Base on Current Time - Calculate based on the channel values for the
current time.
- Base on Frame - Select an initial frame to calculate from. Value can be
enveloped
New
Bone Type - Joints
Bones can now be either LightWave's traditional z-axis bones or they can be
joints, which operate in a manner similar to the joint-based metaphor found in
many other programs, while still preserving the strengths of the traditional
LightWave bones. This allows animators familiar with other systems easy entry
into animating with LightWave, and will improve animation I/O capabilities in
the future.
Joint-based animation and deformation control allows for a "stretchy bones"
effect with considerable control for the user. A more organic and natural motion
effect for shoulder and neck movements can be achieved, for example, or a more
exaggerated effect for cartoon-type characters. Even zero-length bones (e.g.
isolated joints) can cause deformation (activate them and turn off Multiply
Strength by Rest Length).
Support
for Nulls in IK Chains
Nulls are now allowed in the bone hierarchy. This contributes to better
inter-application integration and data exchange, as well as improving the
rigging possibilities within LightWave.
New
Objective Options for IK
Alternative objectives can now be set for IK; this control is right below the
Goal Object control on the Motion Options Panel/ IK and Modifiers Tab.
Go To Goal
The default is to go to
the goal (which is the classic behavior of LightWave IK).
Point at Goal
The second option is
to solve so that the item points at the goal. The item's Z axis is used as the
pointer.
Pole Vector
Pole Vector is the third
IK objective, listed as "YZ Plane through Goal" in the options. LWItemInfo,
commands, and LScript have been updated to include the setting. IK GUI
formerly only allowed objects to be used as goals; the selection has now been
expanded to include all items, but operation with anything other than an
object will produce unpredictable results at this time.
Pole
Item
A Pole item selector has been added to the item Motion Options panel, just
below Target Item Selector. The Pole item complements the target item to define
the orientation of an item. For use in conjunction with the Pole item, an "Align
to Pole" option has been added as a controller setting for heading, pitch, and
bank, on the Controllers and Limits Tab of the Motion Options panel.
IK/FK
Blending
Controls are available to apply IK/FK blending per bone and to chains.
Blending can be enveloped over the course of the animation.
Soft IK
Soft IK has been added to the standard bone chain setup, with support added
to the SDK/LScript as well. Essentially, Soft IK dampens the IK near the maximum
extension of the joint, to help prevent the infamous "IK pop". LightWave is the
only 3D application to offer this out-of-the-box. Other applications require the
user to code or script this function for IK.
IK
Control of Position and Scale
In Layout, position and scale can now be controlled by IK, and have limits
applied. Controls have been added to the motion panel for position and scale
controllers.
Animation of IK Goal Strength
Goal Strength for an IK goal can be animated, with multiple goals allowed for
an IK chain; this means the user can vary the importance of a particular goal
during the course of the shot.
IK
System GUI/Workflow Enhancements
- Bone Gizmo size is now independent of length
- Preference controls for sizing icons and handles are now present as a tab
in the Display Options tab on the Preference panel. Size in pixels, a control
to adjust bone icons to a percentage of this base setting is available per
bone, on the Bone Properties Panel
- Fulltime IK is now on by default
- Compensation and flexing for joint bones now takes into account any
bending, not just pitch angle.
- Added bone bulging, which causes a radial distortion based on bone
stretching and bending (for parent bulging only bending).
- Made bone bulging textureable.
- Added a general bone deformation displacement texture. The input
parameters for texture gradients include:
- Bend: angle between bone and parent bone.
- Bulge Falloff: bulging falloff along bone (0 at ends, 1 in the middle).
- Bulge: radial bulging factor away from bone.
- Distance
- Angle from Inside: angle of point along bone radial, with 0 being the
direction facing the parent bone.
- Work on allowing bones to be reparented to different objects. This should
make it easier to insert nulls in a bone hierarchy.
- The default name for joints is now "Joint" instead of "Bone".
- Tweaked the picking of joints to make it easier to pick them instead of
the bones between them.
- When the bone part of a joint bone is selected, the axes are now
effectively locked.
- Added option to use double-clicking to enter and exit bone selection mode.
The option is in the General Preferences tab ("Dbl. Click Bone Mode"). When
on, a double-click is needed to select a bone when not in bone mode. And when
in bone mode, a double-click is needed to select a non-bone. The default is
off.
- The IK solver has undergone another major rewrite. In internal testing
this seems to have produced much greater stability. Maestro-generated rigs now
appear to work properly again.
- Made some significant changes to IK, particularly with Go To Goal, to make
it less jittery.
- The deformation settings for a bone are now hidden if the joint part of a
joint bone is selected, with the exception of zero-length joints.
- More IK solver changes:
- Better behaviour near full extension
- Added a check for very slow error reduction, which allows the solver to
stop sooner
- Changed the way controller stiffness, goal strength, and controller
limits influence the solver.
- Changed "Go To Goal" IK to a hybrid second order method, which solves an
issue with the chain going nuts when the goal is moved far away.
- Some optimization if the second order derivative of the motion matrix is
known to be zero.
- Slightly changed the way stiffness is applied. This helps a bit to get
closer to the goal near full extension.
Multi-threaded Mesh Deformation Evaluation
Multithreading for some of the mesh deformation evaluations has been added in
Layout to provide an increase in speed. The control toggle is located in the
General tab of the Preferences to enable/disable the feature. The multithreading
will use however many cores you have.
The multithreading only happens in Layout for interactive work, not when
rendering. Currently the following parts of the mesh evaluation have been
multithreaded:
- Morphing
- Bone deformation
- Motion (application of item move/rotate/scale to mesh)
Improved Morph Data Handling
In v9.5 MorphTarget values have been converted to use object identifiers
instead of indexes. This change requires incrementing the revision of the scene
file format to version 5.
All New Lighting System
- Improved the sampling for the photometric, spherical and dome lights.
- Implemented Feature Request Case 13690: Layout's Spherical light should
have a default size of 100mm rather than 0.
New
Light API
The lighting system is now a plugin API, the new Light Plugin Class header
has been moved to the public SDK and is now available. Custom light plug-in user
interfaces now appear in the Basic tab of the Light Properties panel.
IES
Lights
The Light Properties panel now has a button to load IES light files and
displays a thumbnail preview of the luminaire with other information and
controls. In addition, there is an IES Info panel. The "IES Info" button below
the thumbnail luminaire preview opens the panel. The panel shows the description
from the IES file, a gonio photometric graph, and detailed text info on IES
file.
New
Dome Light
User selectable sized dome lights are now available in the Light Properties
Panel.
Enhanced Area and Linear Lights
Area lights are now aware of being called for sampled rays. The area and
linear light quality have been improved by generating one new random number for
each light sample. The maximum area/linear light quality limit of five has been
lifted.
Renderer Improvements
- The Oversample option for the new camera modes has been improved. Set
Oversample to about 0.7 to mimic the Enhanced AA modes of the Classic camera.
The Oversample feature may cause small discontinuities in the image if the
scene uses more than one segment to render the image. This is the same
limitation of the Classic camera's Enhanced AA. If the Oversample is set to a
large value, it will blur the image but can slow down the rendering. A
post-process blur filter would be a more efficient way to blur the rendered
image.
- The oversample can now be animated via its envelope.
- Implemented changes to raytracer to improve detection and early
termination of rays that will not affect shading, which should provide speed
improvements in some situations. The control is on the Render Tab of the
Render Globals panel, "Ray Cutoff." The default is the recommended setting of
.01, which provides much faster rendering with little to no impact on quality.
Setting this to 0 will make the renderer perform as it used to; setting it
higher can gain further speed, with a tradeoff in rendering quality.
- Implemented the Ray Cutoff feature for the hard-coded shading model.
- Limit dynamic range is now applied to the shaded buffers. Examples are the
reflection, diffuse, specular and backdrop buffers. Buffers that are not
shaded and just output the shading parameters, such as ks, kd and raw color,
will not be limited.
- Limit Dynamic Range render buffer changes - attempt #2. The reflection,
specular and diffuse buffers are subtracted from the RGB buffer, clamped and
then added back to RGB buffer. The RGB buffer is also clamped after the other
buffers are subtracted. This should allow these buffers to be used for post
processing when Limit Dynamic Range is enabled. No other render buffers are
clamped.
- Added new functionality to the access structures to read and write to
render buffers from shaders, nodes and volumetric plugins.
- The Z buffer value for the camera ray is now available to pixel filters
that are rendered multi-threaded.
- Multi-threaded pixel filters are now called as if they were
single-threaded from the Classic Camera.
- Changed the Z Buffer maximum sent to the multi-threaded pixel filters to
2.0E14f, which matches the Classic Camera.
- Added the multi-threaded flag to Skytracer for raytraced camera support.
- Added cloning of non-multithreaded pixel filters per render thread when
pixel filter multi-threading is forced on. This allows multi-threaded
rendering when using such pixel filters.
- The render buffers are now averaged when requested by a pixel filter
plug-in in the ray traced camera modes. This is consistent with the way the
buffers are treated for image filter plug-ins.
- Pixel filters can now set the z buffer depth and alpha when the primary
ray does not hit any polygons.
- Implemented the smarter sampling for soft reflections and refractions.
Global Illumination
- Optimizations to improve the speed and quality of radiosity rendering.
- Speeded up rendering of animations when animated radiosity cache is
enabled.
- Optimization to speed up the radiosity sample searches.
- Optimization to speed up radiosity preprocessing when the Multiplier is
more than 100%.
- Reduced the noise for area lights and non-interpolated radiosity when used
in conjunction with anti-aliasing.
- Added manual control for the radiosity gradients.
- Added manual control for the behind test.
Faster
Sampling System
The Sampling system has been completely revised, providing for up to two
times speed improvements in some GI operations, plus some additional
improvements and optimizations.
Improved GI Quality
Changes to the interpolated radiosity modes improve the render quality,
including extending interpolation to the first recursion level. Shadowed areas
of radiosity are slightly darker and better defined, and corner noise is
significantly controlled.
Improved GI Speed
A variety of optimizations have been implemented to make all radiosity
rendering modes faster in v9.5. Many scenes will render up to or better than
three times faster over previous versions of LightWave 3D.
Enhanced Support for Transparency in Final Gather
In the Final Gather radiosity mode, light can now pass through a transparent
surface even if Directional Rays is disabled.
New GI
Controls to Customize the Render
Secondary Bounce Samples
Secondary Bounce Samples allow
control over how many samples are used to interpolate secondary bounce
radiosity, which has proven effective in image quality improvement,
particularly for reducing corner noise.
Maximum Pixel Spacing
This value controls the maximum
distance in pixels between interpolated radiosity samples. The value should be
fairly large (100 pixels or more) to speed up rendering. Large values can also
cut down on visible noise in large flat areas of the scene.
Ray
Precision
A new text entry field has been added to the Render tab
of the Render Globals panel named Ray Precision. This floating point value
provides for the adjustment of the intersection precision of the ray tracer.
The higher the numbers mean greater precision.
- The default of 6 represents 1.0E-6.
- A value of 0 disables ray trace precision entirely. This setting works
fine in most scenes
|