This tutorial takes you through the steps to set up and use The ThrusterMAIN and ThrusterJET scripts in a scene of your own.
It covers;
laying out of objects and models
application of scripts
tweaking the settings
animating the scene
Firstly, a quick recap of what the plugin is going to do. It is going to scale an object additively between a value of 0 and 1 in all axis. So for best results the humble thruster cone needs to have its base on or about zero with the cone extending along an axis. Now when the object is scaled in layout it travels nicely along all axis.
In layout create a null (ship parent) object load and parent your ship to it. Next load up and position your thruster cones parenting them to the null object (ship parent). Set their size to be 0,0,0. unless the thruster is to be permanently on.
Once all the jet cones are in place save the scene and then you can start loading the scripts. The first one to apply should be ThrusterMAIN. This is applied to the null object (ship parent).
To do this open the objects motion graph editor (keyboard m) and select the motion plug-ins:. from the Motion plug-ins window Select the plugin list and scroll down to LS/IA-RT (compiled Lscript) If LS/IA-RT is not there Lscript will need to be installed (see section: Installed components).
Once LS/IA-RT has been selected click the options button and navigate to where ThrusterMAIN has been stored (e.g. "plugins/layout/LSCRIPT-IA/thunderbolt/ThrusterMAIN2-0.lsc") and open it up. The name and state of the plugin is displayed in the plugin selection button. Select the options button to reconfigure the plugin settings (see: tweaking the settings).
After ThrusterMAIN is loaded you can begin loading the ThrusterJET scripts. Select a thruster cone object and following the same steps as for ThrusterMAIN.lsc select ThrusterJET.lsc and open the options panel. Decide which jet most accurately describes the location and orientation of the thruster cone, These have been placed in two categories. a Main thruster; one that contributes to the forward or reverse motion, or a Lateral thruster; one that contributes to vertical or horizontal motion. The left, right, upper and lower positions affect how the jets contribute to rotational acceleration. Once a jet has been selected clicking OK will preview the selected jet. Click OK again to set the jet.
![]()
ThrusterJET has choice settings for the type of thruster it is to be. The only other control is the disable jet button which will disable this one script. Changing its title in the plugin selection button.
ThrusterMAIN has several input parameters Positional and rotational sensitivity, both perform a similar function, they act as sensitivity limiters of the jet. The larger the number the faster the object needs to be accelerating to get the thruster to fire.
Reaction speed, is the amount of frames the thrusters will pre-empt or follow the motion.
Proactive, when unselected causes the system to run in a reactive way ( reactive: the thrusters will fire after the event by [Reaction speed] frames).
Disable all jets, will disable all ThrusterJET scripts in the scene.
![]()
Simplicity itself, disable the thrusters in ThrusterMAIN if update speed becomes a problem, move your ship around with the null object (ship parent). use tension on the keyframes to get the best results from the plugins. Once you are happy with your ships motion reactivate the jets by unchecking the button in ThrusterMAIN. Check to see if the jets are opening and closing at the right speed. If they are not opening enough try decreasing the sensitivity. If they seem to be full on all the time increase the sensitivity. Because the information is split into a position channel and a rotation channel you will need to decide which sensitivity to change. For best results they are guaranteed to be different (default: Positional 0.15, Rotational 0.3).
Reaction speed affects when the accelerations happen. If proactive: reaction speed is how many frames ahead the system uses for calculation. If reactive: Reaction speed is how many frames behind the system uses (default: 2).
Once you are happy with the system set up you need to animate the point lights and lens flares that you parent to the jet cones. Using the jet cone as a template note the keyrames when the jet changes. Then switch on, off or hold the lights and/or flares as and when the cone scales between 0 and 1, animation is very quick if some what tedious. That's it, all done.
Certain components need to be installed in order for these scripts to work. The following plugins need to be installed in Layout. LS/IA-RT.p, Lwpanel.p and LS-IA.p They form part of LScript. The latest versions of the Lscript plugins (v1.4.7 as of June 1999). They can be downloaded from http://www.lightwave-outpost.com/employees/bobh/
Because calculation requires previous frames or the next frame. The plug-in will not be able to provide any calculation for frame 0 (proactive) or frame 0 and 1 (reactive). So you should allow a lead in/out. The lead in should be as many frames as reaction speed +1frame (reactive). Additionally, If you are using the proactive setting the plugin needs to look ahead by n frames so ensure that there is a keyframe (reaction speed +1frame) beyond your end frame or your last frame will not work properly.
Due to the nature of the information broadcasting used in this system it will only work correctly with one instance of the main plugin. As multiple instances will over write each others information.
The object the main plugin is attached to must appear before the objects any sub-scripts are attached to in the "selected item list" because LW goes through this list one item at a time the main script will not activate until its turn. If a sub-script is looking for broadcast information before it is posted (first frame) an error will occur and the scripts may not function.
Ensure you are using the latest versions of the Lscript plugins (v1.4.7 as of June 1999). They can be downloaded from http://www.lightwave-outpost.com/employees/bobh/
These scripts are provided for amusement purposes and as such, support (if any) will be limited to my spare time input only. I will do what I can but cannot be held accountable.
These scripts have been written with LScript v1.4.2 to run in LW 5.6. They will not function with an earlier version of LScript. However they will work with LW 5.5 if version 1.4.2 (or newer) of the LScript plugins have been installed these include lwpanel.p and lsrt-ia.p.
If you discover any other problems with the operation of these scripts e-mail me at the following address nick@ap3d.com with details including version of LW, any error generated and the settings used in the options panel. I will attempt to fix the problem, time permitting.
lens flare and lighting automation. At present this is unsupported within LScript and a work around would involve creating a new scene file. I haven't figured that one out yet, and it doesn't seem very elegant so we will have to wait and see what the next version of LScript can do.
A multiple instance version.
A more generic version that can be applied to more general scenes and doesn't require slave scripts.
Suggestions welcome.
Time for the legal part....
Whilst every effort has been made to ensure this compiled LScript functions properly. I or anyone or connected with me personally or otherwise cannot be held liable, responsible or accountable in any way for any loss or damage caused be use of this compiled LScript. It has been provided free for recreational purposes only.