Make a unique addition to the LW instancing system


Active member
Lightwave Devs,

I just thought of something that would be awesome to add for the better functionality of Instancing!

I had posted this elsewhere on the forum, but thought it might be good here.

Suppose you needed an animation that required hundreds or thousands of virtual clones of an animated object.

It would be similar to flocking, but different in a number of ways. For one, you would be able to offset the animated character you create for the first one by a number of frames. Right now, this can be done, sort of, but requires manually offsetting each normal cloned polygonal character item one at a time.

What would be good is, if you could place Instances in Modeler and have those instances be able to be tracked somehow in Layout [using remembered ID's?] and that they then can be used to drive the [instanced] animated character you created. It would be sort of like having an instance which currently [normally] right now having to be a time-locked physical clone of the current animated character with bones, etc., but allowing time-shifting the animation forward or backward in time by X number of frames or seconds.

This would make a large body of characters [think armies or hordes of characters etc.] able to be seen in a sort of random motion. It would all be driven by the placement of the point instances and where they are placed. If driven by Point ID's, could conceivably work, at least in theory. You could also use the random size parameters in instances to control difference factors of basic shape.

I would like to make this a formal feature request for Lightwave 3D.

Comments are welcome.


Active member
This is a good request. You should submit this through their ticketing system for them to properly consider this request.

yep, rait here, just below bugs.


Active member
I just submitted the feature request. I didn't attach any examples, but I think my explanation gives enough information to understand what is being proposed.


New member
I take it this is the way you are meaning that can be done atm?

you can do it with dpont instancer too.



Electron wrangler
So if I understand the request correctly, you'd like the ability to place the instances (is placing them in Modeler a requirement?), and then be able to adjust the time-offset for each individually (or, presumably, via multi-select, etc.) using gizmo or field available when that instance is "placed"/"selected"?

I believe most of what you're asking should be fairly doable in Layout already, though there are some "underdocumented" aspects of the LWSDK instancer APIs currently which make working with instance motion offsets a bit difficult. Once those are (better) addressed, it should be quite doable.

As for the placing in Modeler, that's (theoretically) doable as well. Easiest likely would be to have it work similar to powergons, but converting to instances in Layout. I've actually been experimenting a bit with something vaguely similar, though I was creating instances for an entirely different purpose.

As for the placing in Modeler, that's (theoretically) doable as well.
Easiest likely would be to have it work similar to powergons, but converting to instances in Layout.
yes, kinda. replace the objects with instances. but each object has a flat polygon underneath it defining the objects size.
Delete objects before sending to layout, but keep the flat-poly size objects.
Sort of like a proxy.



Active member
Let me chime in again here,

I'm talking about the idea that each Point ID would be an instance which would then serve as placement for an animated character. We can do it sort of now with instances of an object, but we can't [as far as I know] change the actual timing [start point or duration length] relationship of the instanced "animated" [boned or morphed] character. I'd like to be able to take a character and time shift its animation [think, variations on walk cycles, runs, battle motions, etc.

The current instancing system is a start, but it doesn't go far enough, from what I can see. When you place a point in Modeler for instancing, it is treated as a whole and all copies perform in the same exact manner, with the exception of varying size and rotation values. I'd like it to also treat time factors as well.

I'm hoping I've explained it okay.

BTW, it wouldn't necessarily have to be done in Modeler, but how could you do hundreds or thousands [potentially] of instances in Layout by having to use arrays.
Last edited:

I'd like it to also treat time factors as well.
yes, the plugin HDinstance used to be able to do this.

today, use DP instancer, shown by gar26lw in post #5

agree, would be good to do this with native LightWave + flocking.


Active member
Played around with DP_Instancer in LW 2015.3 and what I want it to be able to do is actually have the cycle point of an animation to be changed so that all footfalls will happen at different points. In other words, if you have twenty people walking, their stride distance might be the same, but their stepping of the feet would each be different so there would be an offset to each persons movements. As far as I can tell, there is no way in that plugin to do what I'm envisioning, unless, of course, I'm missing something somewhere in the plugin's settings.

DP_Instancer Example.jpg

The image above should explain some. Also, if you needed something to happen in a wave-like manner, one right after another, is what I want to be able to do as well. Not random, unless I want it to be. That's the reason for wanting instances to be ID aware.
Last edited:


New member
i was trying to use taycast node but on a number of instances it’s super slow.
i’m it at computer atm but i don’t think there is a way to cast against a single object, is there?
might have been and even then slow.
in unity i’ve used physics to act in a similar way. ill have to watch ivan’s stuff.
need to start archiving this stuff so it’s not gone forever.


Active member
I've never used MDD or BDD(?) before. This may do part of what I need, but it doesn't seem like it can do the original part of my request, which is how do this in an order that I require. I need this to do the motions in a specific manner.

An example is, say, you have one hundred characters standing side by side. Okay, now you want them to step in place. But you want them to do a motion slightly out of phase to each other. Imagine a wave motion, and each one is progressively different from each other, but doing the same general motion. This is what I need the characters to do.

I don't know if it's appropriate here, but how do I go about setting up MDD? I've never had a need till now, it seems.


If you reference one mesh object for a large number of instances,
offsetting position/rotation animation is a real economy of RAM memory,
the renderer needs to pre-calculate and store only one mesh (and hierarchy),
instancing is nothing else than matrix calculation.

With a group of animated deformed characters (bone and/or displacement),
if the characters have separate/offset animations and if you have a reasonable number of items,
even with instancing, the renderer needs to pre-calculate and store each item,
so no real benefit compared to cloned objects.

You may use DP Kit MDD Cache node for each clone,
it uses one unique MDD file in memory for all items and you can map time for each item,

You can use DP Kit Item Info node to get the "Type ID"
in your scene the first added object has a "Type ID" of 1,
If you clone the base character, they get an incremented "Type ID" (+1),
you may consider this as an frame offset to start animation,
divide it by your "Frames Per Second" number to get a "Start" input in seconds.

Of course if at a time you get a repeating animation,
you could instance a group as a hierarchy, multiple times with various positions?



Electron wrangler
unless, of course, I'm missing something somewhere in the plugin's settings.

I suspect you may be, both w.r.t. DP Instancer, and native LW instances. Per-instance anim offset is managed nodally. See...

Last edited:


Active member
Personally I'm not very practiced with nodes. I seem to have a very hard time getting my head wrapped around using them, [I truly suck at them] but I guess I'm going to need to try and do so.

Right now, a shot I've been working on has reached over 8 million poylgons so far [and I only have 32 gigs of ram], mostly polygons, but is using some instancing as well, but not for animated stuff so far, because I couldn't figure out how to get them to walk without them being in nison with exact duplicated timings. That project is using the centaurs seen in the pic I had showed above. Maybe I'll be able to rework it a bit to utilize instances for animation as well.

Yet another project for a paying client needs to be able to have characters doing a specific motion. It is this one the characters need to do the motion in a wave-like motion, one after the other in a row. I'm on an NDA for this one, so I can't reveal much more than that.

Help has been appreciated, and hopefully, ideas from you guys will continue to flow.
Top Bottom