Animated Boolean 2.00

Easy (sic) animated Boolean operations for Lightwave 6.5.

  • Download Here!

    This version supports Animated Booleans between objects with displacements, morphs, parenting, deformations, bones, etc, and is faster and easier to use than the old version.

    Note: This is reported to NOT work on Macs for some reason. I don't own a Mac copy of Lightwave, so I can't troubleshoot it. If you're a Mac user and you know a little about LScript, please drop me a line and maybe we can get this thing working.

    What it does:
    Animated Boolean 2 takes two objects, saves out their position over time, then batch Booleans them in modeler and saves out an object sequence.

    This is freeware. Use it at your own risk, I am not responsible for anything good or bad that happens while you use it.

    I provide the uncompiled script to offer you the chance to learn from it (my kludgy code? ha!) and modify it to better suit your needs. All I ask in return is that you don’t distribute it without asking me. If you want to distribute it or distribute a modified version, let me know.

    Use: (Look here to see some really simple examples of what the old plugin could do.
  • In layout, animate the two objects you want to Boolean.
  • In Layout, run the animbool2_layout LScript. (Scene -> LScript -> LW_LScript and navigate to where you saved animbool2_layout.ls) This will open the Animated Boolean2 interface:
  • Fill in the information…
  • Start Frame: Frame to start recording the motion.
  • End Frame: Frame to end recording.
  • Object 1: If you were in Modeler, this would be the object in the foreground layer.
  • Output file name: The location and filename stub to save the object. This should be the path and initial part of the file name, not the full file name with .lwo on the end. For example:
    Correct: D:\ProjectA\Objects\Booleans\objectA
    Wrong: D:\ProjectA\Objects\Booleans\objectA.lwo
  • Object 2: This is the same as the background layer if doing Booleans in Modeler.
  • Output File. The same as above, but provide a different name so Animated Boolean can keep them apart.
  • Destination Object Name: This is the name of the objects that the Boolean operation will create. For example if you put “D:\ProjectA\Objects\Booleans\finalObject” it will create “D:\ProjectA\Objects\Booleans\finalObject000.lwo”, “D:\ProjectA\Objects\Booleans\finalObject001.lwo”, and so on…
  • Settings file: This is just a file that saves all the info you entered above, so you don’t have to do it all over again in Modeler.
  • Click “OK” and Layout should take a few seconds (minutes?) to write to disk all of the objects it needs.
  • Open Modeler. It’s recommended you save and clear all meshes in Modeler before you start this, as Animated Boolean 2 kind of takes over.
  • Run the animbool2_modeler LScript. (Construct -> LScript -> LW_LScript and navigate to where you saved animbool2_modeler.ls)
  • The first thing it will do is open a file requester. It’s looking for the settings file you entered on the last line of the Layout plugin (boolean.abs by default). Point it to the proper file.
  • After selecting the correct file, you should get the main interface:
  • Below the Big Nasty Warning it should tell you the names of the appropriate files, and the range of frames they cover.
  • Next select the type of Boolean operation you wish to perform (Subtraction, Intersection, Union. Yeah, I left off “Add”. Didn’t seem much point to it really.)
  • Next select whether you’d like the points to be automatically merged after performing the Boolean. Turn this on if you want surface smoothing between the base object and the Boolean cuts.
  • Click OK and the little status bar in the lower left hand corner should start to climb. After it’s done, you should have a bunch of sequentially numbered object files.
  • Back in layout, load the first of these newly created files (boolean000.lwo or whatever) and apply the object sequence replacement to it. (Handy Note: get the wonderful Scrub Replace Lscript from d|ver’s web site at http://www.interialabs.de/lw/lscript/index.html to see your object replacements while scrubbing in layout! (Thanks d|ver!).
  • Render away!
  • If everything looks right then you should be able to safely delete the initial set of source object sequences as well as the *.abs file.

  • That’s about it. If you have a good (or bad…) experience with it, or can think of a way to improve the documentation, let me know!

    Limitations, and other things that might keep you from having problems:
    The primary limitations are all the problems associated with Boolean operations and object sequences.
  • UV maps (and all other types of maps as well) will be destroyed by the Boolean operation.
  • Booleans can’t be done on subpatch objects. Freeze them before starting any of this madness.
  • Because is uses an object sequence, transitions between Booleans will not be blurred. (There is no “in between frames” state for the objects to blur between.)
  • Textures will become detached from the objects. This can be a big problem if your target object moves (ie: the foreground object if doing a subtract). One solution is to keep the Boolean target stationary while animating the Boolean operation, and animate the image sequence later. You might also be able to save the object motion out and load it into the motion of the texture after performing the Boolean, or use a front projection image sequence rendered from the initial object(s).
  • Make sure you are happy with your textures before you start this, or you’ll have to change the textures in every one of the objects in the sequence…
  • I’m not sure how compatible this is with Macs. If someone would try it and let me know…

    Lazy Programmer Caveats:
    (Things I’ll fix if I get around to it, but that you should look out for until I do)
  • Currently I only support through frames 999. If you want to do a Boolean past frame 1000, you’re out of luck.
  • This version will ruthlessly overwrite files. Make sure your file names are correct before running it.
  • It doesn’t check for things like disk full, etc, so make sure you have enough disk space to save all those files before you do.
  • Related to the above, there’s not a whole lot of robust error detection for things like checking file names and so forth, so you might get cryptic LScript errors. Please report to me if you do...

    Copyright © 2001 Steve Hoefer steve@balo.com http://www.balo.com