Hi there, i recently took part in the Underwater lighting challenge and used Lightwave 11’s instancing in it quite extensively.One of the artists who took part asked me if i could explain how the algae on the rocks were created, so i’ve put this step-by-step tutorial together.
Hope you guys find it useful This tutorial was also created for people who are new to Lightwave, s some of the basic concepts explained might be boring to advanced users.
Here is the image i created for the lighting challenge, rendered with the Lightwave native renderer.
Link to higher-res:
http://i1241.photobucket.com/albums/gg508/bencpr4/Under_boardwalk_Ben_Cooper.jpg
I work Lightwave 11 and it has some really awesome and user friendly instancing tools.It’s easy to see why Lightwave was also used in the making of James Cameron’s Avatar.
Here we have the lightwave interface, once it’s started up.
I am now ready to bring in a rock object that will be dressed in the algae.
http://i1241.photobucket.com/albums/gg508/bencpr4/1_Lightwave_interface.jpg
To do so i go to file > load > load object.Lightwave uses referencing for it’s objects, what this means is that each scene does not physically save the object within, but has a reference index that loads the objects into the scene at startup.This is great for when you are working on a complex scene with lots of objects in and if your director wants a tweak to some of the objects, those objects are then opened with Lightwave Modeler.Once the tweak is applied, we save the object, if Lightwave Layout was open while the tweak in Modeler was applied on the same PC, the Lightwave Hub, which acts as a connection agent between Layout and Modeler, will update all your clones of the object in the scene with the new model update automatically.Alternatively, if the model tweak was applied elsewhere by a co-worker, simply reload your scene and it will update all copies of the object in your scene with the change.
http://i1241.photobucket.com/albums/gg508/bencpr4/2_Load_object.jpg
So here we have the rock object.I select the rock and then hit “p” for properties, this brings up the properties of the rock object.
http://i1241.photobucket.com/albums/gg508/bencpr4/3_Rock.jpg
Now we click on the instancer tab.This is where we will tell the object that it will have instances growing on it.
http://i1241.photobucket.com/albums/gg508/bencpr4/4_Object_properties.jpg
Click on the “Add Instancer” drop down and select “Instance Generator”.
http://i1241.photobucket.com/albums/gg508/bencpr4/5_instancer_window.jpg
Here we see the instancer has now been added and we are ready to jump in and make some algae grow on the rock
http://i1241.photobucket.com/albums/gg508/bencpr4/7_instancer_added.jpg
Double clicking on the instance generator that has been added brings up the instance generator properties.There is an empty field at the top left corner into which i typed in “Algae” this gives the instance generator a name.
http://i1241.photobucket.com/albums/gg508/bencpr4/8_instancer_named.jpg
The first thing i’m going to do is change the IG type from “item” to “surface”.This will tell the algae to grow on the surface of our rock, covering it.
http://i1241.photobucket.com/albums/gg508/bencpr4/9_changedtosurface.jpg
Now i load in the algae model that i used.Upon loading i can see that the algae scale is way too big for the rock, so i manually scale it down to a more suitable size.
http://i1241.photobucket.com/albums/gg508/bencpr4/10_algaetoobig.jpg
http://i1241.photobucket.com/albums/gg508/bencpr4/11_algaeresized.jpg
Back in the instancer properties i add the algae to the instancer by clicking the add object dropdown and selecting the object from the list.
http://i1241.photobucket.com/albums/gg508/bencpr4/12_add_algaeininstancer.jpg
Once selected we see a bounding box appear on the rock.There is only one because currently the instancer is told to only create one instance.
http://i1241.photobucket.com/albums/gg508/bencpr4/13_rock_boundingbox.jpg
For now i increase the count of the algae to 1000 so i can see how it runs over the surface and that so we obviously have more to craft with.We can see that all the instances are growing upward right through the rock.This is obviously incorrect and we want the instances to take it’s growth direction from the direction that the rock’s normals are facing in.
http://i1241.photobucket.com/albums/gg508/bencpr4/14_instancealignmentfix.jpg
To do this we click on the IG’s rotation tab and change Alignment to normals.Now our instances are starting to behave more like they should.
The problem now is that all the instances are the same size, which doesn’t appear natural.Now for some styling.I click on the scale tab and change the min and max settings from 100% to something that i like.Lightwave will randomly work out size differences for the instances based on the value difference between the min and max settings.
http://i1241.photobucket.com/albums/gg508/bencpr4/15_instancescalerandom.jpg
To better see what’s going with the look of our algae, i change Lightwave’s viewport to Shaded Solid and in the IG properties window, you click on the “eye” icon and select Shaded Solid.This will make the algae appear as a solid form and not wireframe.
http://i1241.photobucket.com/albums/gg508/bencpr4/16_instancedisplaymode.jpg
For the purpose of the tutorial i’m just going to play with some settings to illustrate the level of control you have.First thing we’re going to do is boosting the amount of instances.
Just for kicks, i will boost the amount from 1000 to 20000 and this is what we’ve got.
http://i1241.photobucket.com/albums/gg508/bencpr4/17_20000_Algaecount.jpg
For a more natural look, we will add some randomness in the rotation.
http://i1241.photobucket.com/albums/gg508/bencpr4/18_randomnessadded.jpg
And the fun doesnt stop there, we can also tell the instances where not to grow, by adding in a weight map.The weight map i created for this tut will limit the growth area to the top of the rock,click the “T” icon next to the Weight slider, this will allow you to add a texture that was based on your rock’s UV’s.And here we have it, a bit crude, but it illustrates the point.Imagine the possibilities!
http://i1241.photobucket.com/albums/gg508/bencpr4/19_grow_control.jpg
It’s so sweet that the instances have full support for GI and will use any shaders that is supported by Lightwave.This tutorial can get anyone started with instancing, but it really just scratches the surfaces of LW’s instancing is capable of.I would encourage those interested to check out the LW 11 new features manual which should be somewhere on Newtek’s website for a more in-depth look at these powerful tools.
Thanks for your time Until next time!