Node input.....?

Where is the public outcry that parking lots almost never look like this? ;)

Addentum to Input Node Example 12:

In fact, you can easily create the usually double rows.
If we take a closer look at the instance ID, we see that all even and odd instances form a row. OD_Instance IDs from the OD_Tools shows the instance IDs:


We can use this to offset every second instance by 3.4 meters on the Z axis. A gradient with the value 0 for the first key (position 0 = first instance ID) and a value 340 for the second key (position 1 = second instance ID) is set to repeat. This alternates between moving one car and not moving another.


I also added a random offset so that it is not so regular.
This gradient uses the Fixed Random output as input, has two keys and is switched to Linear.

Cars_instance_07.jpg Cars_007.jpg

With this method, you can also easily arrange all the parking spaces at an angle.


Enough with cars....



p.s.: Mini Cooper is a free model from
Last edited:
For those of you who already know this example from this thread, jump right to my Note - maybe some don't know this yet. For the purpose of completeness, this example should not be missing.

Input Node Example 13

Output used: World Position and Geometric Normal

Description: Outputs the location of the intersection in world coordinates as a vector (World Position). And the un-interpolated geometric normal as a vector (Geometric Normal).
In this example, the World Position gives us the spot position and the Geometric Normal gives us the direction for the Ray Trace node.


After breakig a porcelain statue with bullet dynamics we are challenged with the following problem.
When rendering materials like porcelain, which absolutely need sub surface scattering you can see the fracture lines shining through before breaking.


You can easily replace the object with an unbroken one for rendering before breaking, but once the collapse has started, this won't work any more. Larger pieces that have not yet broken show the fracture lines too.
This setup is used for the surface of the fracture edges. We want to make it invisible while the object is still whole. For this we use the output of the gradient as a clip map.

The node setup and the result:

Node_setup_01.jpg Breaking_02.jpg

More information can be found in this thread as I said.

Note: As some may know Lightwave has its own solution for this problem: Dynamics Part Info provides an Internal Polygon output that can be plugged into the Clip input of the Surface Node Editor.


So what's the point of another homemade solution?
Unfortunately, Dynamics Part Info only works for dynamic parts (as the name implies), which means that if you bake the bullet simulation as an mdd, Dynamics Part Info understandably no longer works.

Have fun.
This example describes a technique for the instance generator node editor. Mark Warner shows this method in a new tutorial on Youtube: LightWave 3d: Join the Dots Part 1
This and his other tutorials should definitely be watched.

Input Node Example 14

Output used: Base Position

Description: Outputs the base position of the instance as an Vector. We use this to measure the distance to another object and scale the instanced object to have exactly the length of the distance. This allows you to create instanced connections between two objects that also scale properly in the animation. In this case springs.


Note: 0% stretch in instance generator means that the spring has its original size. For our purposes, I subtract its length from the calculated distance and connect it with the stretch input.


Finally, I set the rotation mode of the instances to Target and select the other object as Target Item.

Spring_003.jpg Spring_001.jpg

Some more notes: To be able to stretch the spring without also distorting the cross section of the wire, I used this technique: In Modeler I created a 2 point polygon spiral. This 2 point polygon spiral can now be stretched as you like.
For rendering, I set the Particle/Line Thickness to a negative value (Object Properties > Primitive tab > Edges tab). Using a negative value for the thickness of a line causes them to be rendered as tube. The negative thickness is used as a radius in meters. The surface is created like a normal surface in the Surface Editor.


I'm only describing part of Mark Warner's tutorial here, so be sure to check it out. It's really a pleasure to watch his videos.

Last edited:


Not so newbie member
Amazing Thomas! I never fail to watch Mark's brilliant videos either.
Thanks again for taking the time to do these tutorials
Input Node Example 15

Output used: Object Position

Description: Outputs the location of the intersection in local coordinates as a vector. In this example I use it to colorize the individual tiles (parts) of a mosaic in a single color using an image texture as source. Each tile should be one color.


If you use an image as a color map, the individual tiles of the mosaic will be multicolored. But most real mosaic consists of single colored tiles.

Part_Color_001.jpg Part_Color_002.jpg

A close up to see what is going on:

Part_Color_003.jpg Part_Color_004.jpg

Here is the node setup: We add the position of the part center to the position of each spot and use it to move the texture for each spot (think about it before you go to sleep...).


Furthermore, we can use this setup to create a custom roughness value for each tile. Again our node setup controls the position of a texture, this time of a turbulence texture.


Note: I use Part Move from DPKit here to rotate each tile a little bit. This is important for a real look, because in real life the tiles never lie completely flat. By the way, this also applies to windows of a house, especially skyscrapers. They should never be perfectly rotated in order to break up the reflection.


This setup could be great for motion graphics that use parts.

Have fun.

p.s.: The fresco from Pompeii (Italy) portrays Sappho, a Greek poetess.


TrueArt Support
@Thomas Leitner

Show how to quantize by hand
dst = ( (integer) ( src * value ) ) / value
dst = src - modulo( src, value )

You don't need to make tiles hundred/thousands polygons. Everything can be with one big single poly + nodal setup.


Not so newbie member
Beautiful stuff Thomas! Totally loving this thread, it's the best thing to have happened in this forum for a long while :)
Thank you
Top Bottom