LightWave 3D Nested Instancing – Creating an Army of 800K Marching Robots

30+ Years of Award-winning Multimedia 1987-2017To celebrate DreamLight’s 30th anniversary as we enter 2017 I’m resuming production on a new director’s cut HD version of our 3D animated CGI short film – Fault Effect™. The preliminary low-resolution version of the short film was pushed to completion to meet the deadline of my companion book – Creating a 3D Animated CGI Short. I had always intended to continue the development of the short film to create a more advanced high-resolution HD version. So I’m updating all the scenes for LightWave 3D 2015 while also improving and finishing them to the level originally envisioned, beginning with the opening scene. The initial establishing shot in the short film has the camera zoom through the vast Instance Generator matrix structure during the film’s opening title sequence. In the preliminary low-resolution DV version of the short film I just used static models of the Autiton drone robots simply sliding down the corridors. This was sufficient for the relatively low-res DV version because they could barely be seen at that scale and resolution. For this new HD 1080p version however I want to use fully articulated marching Autiton robots throughout the myriad corridors. I could accomplish this using LightWave 3D nested instancing with the DP_Instancer plugin.

Low-polygon Autiton Model with IK-Booster & Motion Mixer for LightWave 3D Nested Instancing

I already had animation of the Autiton drone robots marching down the corridor from the interior shots of the short film that I could re-purpose. I wouldn’t need quite as much detail in the Autiton models for the opening shot however because they’d be viewed through the corridor windows from the outside at a fair distance. While the interior shots only show a couple dozen marching Autitons in one corridor, I’d need to create over 800K marching Autitons all throughout the massive Instance Generator structure as the camera zooms through it. So I started by simplifying a high-poly version of the Autiton model to create a low-poly version for the opening shot. I then used the same Autiton robot walk cycle animation created with IK-Booster and Motion Mixer that was used in the interior shots. I could then use DP_Instancer to create as many instances I’d need of this animated hierarchical robot model with LightWave 3D nested instancing.

Planning to fill the Instance Generator Matrix with 800K Marching Robots using LightWave 3D Nested Instancing

LightWave 3D Nested Instancing - The Autiton Archives - Fault Effect - Title Screen Mockup

Once I had the low-poly Autiton drone robot walk cycle complete I needed to work out how to replicate the animated hierarchy throughout the entire lattice structure, all walking in different directions. The Instance Generator matrix is built as a lattice of hexagonal rings, much like carbon atoms. Above is an image of a portion of the Instance Generator from the low-resolution DV version of the opening sequence. You can see some of the static Autitons through the corridor windows that were used in the DV version. These would be replaced with new fully articulated walking Autitons using LightWave 3D nested instances.

Creating and Animating the Walk Cycle Moving Anchor Points with an Exploding Particle FX Emitter

LightWave 3D Nested Instancing - Marching Robot Particle FX EmitterEach Instance Generator node is composed of a hexagon with six corridors radiating outward from the center. There would be a row of 24 Autiton drone robots walking in each corridor. I already had a single Autiton hierarchical robot walking with a stationary walk cycle animation. I now needed a way to place and move multiple instances of those animated robots throughout the corridors walking in a specific direction and at a specific speed so that their motion would coincide with the walk cycle motion and timing. To accomplish this I created a simple hexagon composed of six points. I then applied a Particle FX Emitter to this simple 6-point hexagon with the nozzle set to Object Vertices. This let each of the six points generate particles. I set the particles’ Velocity X, Y, Z to zero and the explosion to 0.25 m/s. This makes all the particles stream outward away from the center of the particle emitter and aligns each stream of particles with a corridor radiating out from the center. I then used an envelope on the particle Birth Rate to create six new particles (one for each hex point) every second. This created six streams of points radiating out along the six corridors to serve as anchors for the marching robots moving at the speed I needed so that their feet wouldn’t slip as they walked.

Attaching Animated Walk Cycle Autitons to the Moving Particles with Hierarchical Instances of DP_Instancer

LightWave 3D Nested Instances - Hierarchical Instances - DP InstancerI was then able to use these radiating points to drive the walking Autiton robot instances. I used DP_Instancer which allows instancing a hierarchy (Include Hierarchy setting) as well as instancing nested instances (Include Instances setting which will be used later). This way I could take a single walking Autiton robot hierarchy and instance it to create a set of six corridors full of instances of marching robots. I could then instance that set of six corridors full of walking Autiton robots to create the entire 3D Instance Generator lattice matrix.

I needed all the marching Autiton robots facing away from their central Instance Generator. So I modeled the Autiton robot backwards, facing down the negative Z axis. This way I could simply set the DP_Instancer alignment To Target and set the Target Item to the Instance Generator object itself. This way the Z-axis of all the Autitons would point toward the center of the Instance Generator object but because they were modeled backwards the actual Autiton models would be facing and walking away from the center of the Instance Generator in the same direction that the particles were moving to properly align them with each corridor.

Creating an Army of 800K Marching Robots with LightWave 3D Nested Instancing

LightWave 3D Nested Instancing - Instance Generator Cube Points + Instances

LightWave 3D Nested Instancing - Instance Generator Instances - DP InstancerThere are 24 marching Autiton robots in each corridor. Each hex cluster of corridors is comprised of six corridors for a total of 144 marching Autiton robots for each Instance Generator node. These hex cluster nodes are then instanced over the points of a cube that is 17 x 17 x 20 for more than 800K marching Autiton robots in the massive Instance Generator matrix. DP_Instancer allows creating nested instances of other objects that themselves have instances. The first use of DP_Instancer on the initial hex Instance Generator used the Include Hierarchy setting to instance the layered Autiton robot model in the hex cluster of six corridors. This second use of DP_Instancer uses the Include Instances setting to allow it to create nested instances of the instances already created. While not fully recursive instancing, this allows layered or LightWave 3D nested instancing which is very useful for situations like this one.

This army of 800K fully articulated marching Autiton robots may be seen in the following animation render test. These marching Autitons will be seen through the windows of the Instance Generator matrix as the camera flies through the vast matrix in the opening title shot of the director’s cut HD 1080p version of the 3D animated CGI short film.

This animation render test had motion blur turned off so that you could see the marching robots most clearly. The animation render test at the top of this post had motion blur turned on. When using photoreal motion blur with instances you need to use multiple Motion Blur Passes or the instances won’t blur. When using multiple motion blur passes you may lower the Maximum Samples used for Adaptive Sampling because each motion blur pass receives adaptive sampling.

NOTE: I ran into a problem rendering the LightWave 3D nested instancing with DP_Instancer in LWSN (LightWave ScreamerNet) on the Mac. Rendering directly in Lightwave Layout worked fine but rendering in LWSN failed to render the nested instances on the first frame rendered on each LWSN node. If rendered on multiple LWSN nodes the remote LWSN nodes rendered the nested instances with an erratic offset, causing them to jitter. This even occurred when using a pre-calculated particle FX motion file for the particle motions that all nodes could read. The workaround was to just render this shot all on one LWSN node with one extra frame at the beginning to account for the first frame failing to render the nested instances.

View the Starting Point, the Preliminary Low-resolution DV Version of the 3D Animated CGI Short Film – Fault Effect

Above is the preliminary low-resolution DV version of the CGI short film produced for the book: Creating a 3D Animated CGI Short, The Making of The Autiton Archives, Fault Effect – Pilot Webisode. You can see the static Autitons sliding along the corridors in the opening shot. They will be replaced by these newer fully articulated walking Autiton robots for the new HD version of the film. We’re resuming production on the director’s cut HD 10804 version of the CGI short film for release in 2017 to celebrate DreamLight’s 30th anniversary. Stay tuned!

For More Behind the Scenes Content Read The Whole Book: Creating a 3D Animated CGI Short

Creating a 3D Animated CGI Short - The Making of The Autiton Archives - Fault Effect - Pilot Webisode, Book on Amazon.comIf you found this brief behind the scenes blog post interesting you’ll love my whole book: Creating a 3D Animated CGI Short, The Making of The Autiton Archives, Fault Effect – Pilot Webisode. The book is over 500 pages chock full of detailed examples and insights from the production of my 3D animated CGI short film – Fault Effect. There’s a lot more information about this portion of the production in chapter 11: Designing the Instance Generator Lattice Exterior.

This comprehensive book also includes a companion CD-ROM with full color high resolution images from the book as well as many animated samples along with two of my full 3D animated CGI short films, Fault Effect™ and the award winning BlastOff!™ which screened at over 15 US and international film festivals.

This book is available on where you may browse it online.

If you enjoyed this tutorial please consider making a donation to fund more!

DreamLight Constellation Network Render Controller

DreamLight Constellation 3D Icon LogoDreamLight® Constellation is our cross-platform network render controller that combined with DLI_SNUB-Launcher™ makes configuring, launching and controlling LightWave 3D ScreamerNet LWSN for standalone, batch, network and internet rendering, drag-and-drop-dead-easy™.

Created by Michael Scaramozzino - LightWave 3D Artist Profile
Author of Creating a 3D Animated CGI Short & Mastering LightWave ScreamerNet

DreamLight wrote the book: Creating a 3D Animated CGI Short. See what we can do for you.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.