Object Replacement

 Click here to expand Table of Contents...


You can use plugins to replace objects during an animation.

LScript and LScript/RT

Loads a custom LScript to replace objects.

Level-of-Detail Object Replacement

Adding Level-Of-Detail Object Replacement lets you replace the object with another object based on its distance from the camera. This can be a great time-saver for objects that are sometimes close to the camera and sometimes far, during your animation. There is no reason to waste rendering power on a gazillion-polygon battle cruiser that is too small to make out any of its details. If it’s far enough away, you might be able to get away with a simple box or sphere!

From top to bottom, the entries must be in near-to-far order, so the furthest , as well as the shape of the geometry, is last. When the distance from the camera to the object is within each range, the corresponding object is loaded. The Base Object setting defaults to the object the plugin is added to; however, you can define a different one if you like.

Python Frame Timer

Python Frame Timer will successively replace objects in your scene to make a timer coinciding with the scene Frames per Second setting.

To use this tool, first you need to set up one or more Nulls with the names:

  • hours_tens
  • hours_ones
  • minutes_tens
  • minutes_ones
  • seconds_tens
  • seconds_ones

These nulls will be replaced by objects that are named 0.lwo - 9.lwo as time passes in the scene. If you make those objects in the form of numeric digits you will have a seconds counter inside LightWave.

Python Random Number

An example script included with LightWave. Like Frame Timer, it uses a null object (name doesn't matter) to which you add this Object Replacement script. In the options set how often it changes and point the script to a directory containing objects named 0-9 and the number will change at every interval you set.

Python

Load your Python object replacement script.

Object List

Object List replaces the current object with those listed in a text file. The file is defined using a file requester that appears when you click the Options button. Object List works much like Object Sequence, discussed later, but the object replacement list lets you use objects in different directories or even across a network. The file must be formatted as follows:

#LW Object Replacement List
<replacement frame number>
<replacement object file>
<replacement frame number>
<replacement object file>
<replacement frame number>
<replacement object file>
<replacement frame number>

The replacement object information is defined in pairs of lines. The first line of the pair is the frame number at which the object is to be replaced. The second line of the pair is the filename of the replacement object, using a full path.

For example, to sequence through a series of box objects, this list would be used:

#LW Object Replacement List
0
c:\Newtek\Objects\terrihendrix.lwo
10
c:\Newtek\Objects\lloydmaines.lwo
20
c:\Newtek\Objects\willoryfarm.lwo
 

The sequence of objects does not need to be similar copies of the same thing. You can replace the cow with a chrome teapot if you want to.

The first paired lines must be the object you want at frame 0. LightWave will assume this even if you enter a different frame number. As such, if you used:

#LW Object Replacement List
35
c:\Newtek\Objects\box2.lwo
 

The Box2 object would still be loaded at frame 0.

You must finish the object replacement list with a blank line otherwise the last object in the list will not load


Object Sequencer

Object Sequencer replaces an object with another one at a certain frame of the animation. This replacement is like choosing Items > Replace With Object File except that it happens during the animation. Object Sequence is to objects, what an image sequence is to images.

To perform an object replacement, you must have multiple objects with names that differ only by a three-digit number. For example, if you want to change between a series of box objects, you would name the first object box000.lwo. If you want that object replaced by a second object at frame 10, name the second object box010.lwo. This would be replaced by box027.lwo at frame 27, and so on. These objects don’t need to have anything in common except their names.

To use Object Sequencer, load the first object normally. Then, select Object Sequence as the Object Replacement plugin. All of the object files must be in the same subdirectory.

Object geometry is normally created in Modeler and object animation is accomplished in Layout. However, you can also animate object geometry, that is, change the relative positioning of points in an object and thus change its shape. A simple example of this is sending a ripple through a flag, which might be a simple segmented flat box. LightWave’s bones feature lets you bend and distort object geometry using an object skeleton. Often the bones are set up in a hierarchy using Inverse Kinematics (IK) to help animate a complex structure, but IK can just as easily be applied to a hierarchy of objects. Geometry can also be influenced by morphing.

To create such object sequences, you can use the Save Transformed Object command (File > Save > Save Trans Object) to save the stages of transformation for an animated object.

A sequence of objects created using Save Transformed Object to save the object in various stages of animation. Note that the location as well as the shape of the geometry is recorded.

OpenVDB Evaluator

This replaces the polygonal mesh of an object with an SDF - Signed Distance Field - or volumetric shape. This is a great way to remesh objects, dissolve them or create shaped fog volumes. OpenGL will show an iso-surface object, but a fog volume is best seen in VPR.

Iso-Surface VDB of a LightWave logo changing Voxel Scale. The object goes from six polygons to 277,372.