PDA

View Full Version : WHat do you want to see for Instancing 2.0



vonpietro
03-20-2015, 05:13 PM
I would like to see in instancing 2.0 the following...

First - I'd like layers to work with instancing in the following way.
Lets say i have a rock in my first layer, and a boulder in my second and a bunch of vegetation in my third.
I'd like instancing to randomize all three- with a feature that allows me to specify how much randomization.
say - 40% rock, 20 boulder, and 40% vegetation.
This way i can say use one object loaded with stuff to provide huge amounts of variation.

Second - i'd like a simple collision detection feature that keeps one instance from being in another. - even bounding box would be good enough for me. (I found that you can use a modeler function - place a bunch of points -conform to your ground- and use merge points at the desired size - and bingo no point will intersect another based on your dimensions - a poor mans collision detection for instancing.)

Third - Dedicated random color node for instances (just because it would be easier to find)

Fourth - instancing instances - =) So say i have a cactus - i want to instance a bunch of hairs on it. But then i want to instance the cactus - currently it would not let me.

Sensei
03-20-2015, 05:21 PM
I would like to see in instancing 2.0 the following...

First - I'd like layers to work with instancing in the following way.
Lets say i have a rock in my first layer, and a boulder in my second and a bunch of vegetation in my third.
I'd like instancing to randomize all three- with a feature that allows me to specify how much randomization.
say - 40% rock, 20 boulder, and 40% vegetation.
This way i can say use one object loaded with stuff to provide huge amounts of variation.

Quite like this
https://www.youtube.com/watch?v=P6p-Cm_PFyc



Second - i'd like a simple collision detection feature that keeps one instance from being in another. - even bounding box would be good enough for me. (I found that you can use a modeler function - place a bunch of points -conform to your ground- and use merge points at the desired size - and bingo no point will intersect another based on your dimensions - a poor mans collision detection for instancing.)

That's exactly what SprayBgPoints is doing straight away.
http://www2.trueart.pl/?URIType=Directory&URI=Products/Plug-Ins/SprayBgPoints

vonpietro
03-20-2015, 06:08 PM
Nice video - true art is doing a good job showing how to place instances - I think when they say avoid overlap they are referring to placing items where you want manually to avoid two groups from intersecting

What i'm talking about is actually keeping each individual instances from intersecting with another. For use with the surface function in instancing. =)
Oh wait - i see minimum spacing feature in the panel for spray points- That would work too!! perfect!!

Sensei
03-20-2015, 06:13 PM
Oh wait - i see minimum spacing feature in the panel - perfect!!

And you can rename each newly made points (1 point polygon needed) using Parts/Surface field name, then separate them using Parts To Layers or Parts To Surfaces.
http://www.youtube.com/watch?v=_-wXoQm5ZMA

Then set different source instance for each newly made layer in Layout.

And you're done.

These tools are part of TrueArt's Modeling Pack (http://modelingpack.trueart.eu).

03-20-2015, 07:16 PM
Advanced Placement.
And native tools we have.

https://www.youtube.com/watch?v=4yaBZVr-s80

jwiede
03-20-2015, 08:05 PM
Here's my top Instancing 2.0 wants (first is highest priority, rest are arbitrary order/priority):


Instancing of instances (incl. hierarchies). This is critical for truly detailed complex environment work. Yes, I'm aware DP's lets me now, but should be native (and IMO, "automatic" when applied to hierarchy).


Easier ability to convert/bake instances to objects/geometry, incl. support for recursive instancing and hierarchical instancing.


Ability to easily drive instancing PSR data programatically via lscript/python/plugin (with comprehensive docs & examples). Add ability to usefully export (and process, then reimport) data to(/from) instance PSR & property data to manipulable data file format(s) as related stretch goal -- should be simple/direct once implemented programatic driving.


Ability to drive instancing animation frame/sequence usage nodally _and_ via lscipt/python/plugin (incl. comprehensive docs & examples).

None seem horrifically complex or labor-intensive to do, and all are fairly obvious extensions of existing abilities, so keeping vague hope we might actually see them soon.

probiner
03-20-2015, 09:24 PM
Agreed with instances of instances (2 step instancing is not a rare routine) and the other suggestions.
Will add: Have stretch be a multiplicative offset with base 1.0 and not an addictive offset with base 0. Its confusing to deal with scaling features like this.
I know it will pose a challenge for the UI, for min and max stretch, but it just messes up the natural way to deal with scaling and any nodal control. Well if the way it is, is so important, just place a toggle.
instance scale + stretch
to
instance scale * streth

vonpietro
03-20-2015, 09:51 PM
Ya i like advanced placement - its like game engine level of placing things.
Just need dollars to get it =(

hrgiger
03-21-2015, 02:52 AM
Does instancing in Lightwave allow you to manipulate and move the individual instances around? I know this can be done with Modo replicators.

bobakabob
03-21-2015, 03:33 AM
Does instancing in Lightwave allow you to manipulate and move the individual instances around? I know this can be done with Modo replicators.

Advanced Placement does this and gives you much more control over the composition of a scene. I haven't been able to do this in native LW.

gerry_g
03-21-2015, 04:46 AM
Also Advanced Placement lets you flip between being in active placement mode and working in Lightwave, meaning you have full control of the interface without lag, Lightwave instancing on the other hand requires that you ramp down the values of your instance count or turn them off completely before you can actually go and do something as simple as move the camera. If LW instancing badly needs anything its a kill switch like this.

probiner
03-21-2015, 05:04 AM
Something that is a bit annoying is seeing LW coming out with native versions of 3d party plugins instead of coming out with new things that 3rd parties cant touch: the internals.
Even though its cool to have some of them integrated and supported natively, drawing so many comparisons with a comercial plugin is a bit like asking to take someone out of bussiness while offering a cop out to adress core issues tthat affect everyone, including 3rd party development, free or not.

Cheers

prometheus
03-21-2015, 05:29 AM
Advanced Placement does this and gives you much more control over the composition of a scene. I haven't been able to do this in native LW.

if you use particles as instance generators, and use editf fx, but it is quirky and will not move the actual instance until you update the particles..by moving time slider or deactivate/activate the particles.

Sensei
03-21-2015, 11:07 AM
Something that is a bit annoying is seeing LW coming out with native versions of 3d party plugins instead of coming out with new things that 3rd parties cant touch: the internals.
Even though its cool to have some of them integrated and supported natively, drawing so many comparisons with a comercial plugin is a bit like asking to take someone out of bussiness while offering a cop out to adress core issues tthat affect everyone, including 3rd party development, free or not.


Amen!

Where is vote up button?

bazsa73
03-21-2015, 12:20 PM
I used a point cloud for precise placement. Or nulls.

robertoortiz
03-22-2015, 09:00 PM
Ok here are some ideas based on a conversation with a bud of mine a modeler at Blur.
He uses instancing for detailing his models.
OPTION A
Instance object using a spline on a lathe
OPTION B
Instance an object over a low poly cage
OPTION C
Instance an object over a surface and the instance object can be influenced by a weight map

All three option should have the option to FREEZE the instancing.

johnliebler
03-23-2015, 07:15 AM
I don't usually like to get into these sorts of speculative threads, but it needs to be said as often as possible: The most important addition to instancing has to be the ability to offset animation randomly, without having to add multiple copies of the same geometry with different timings. If you add a few variants, you always seen to get noticeable twinning, and if you add enough variants to fix that, you lose the benefit of using instances in the first place.

Meshbuilder
03-23-2015, 10:43 AM
Photoreal Motion Blur

inkpen3d
03-23-2015, 11:02 AM
I don't usually like to get into these sorts of speculative threads, but it needs to be said as often as possible: The most important addition to instancing has to be the ability to offset animation randomly, without having to add multiple copies of the same geometry with different timings. If you add a few variants, you always seen to get noticeable twinning, and if you add enough variants to fix that, you lose the benefit of using instances in the first place.

Totally agree! This definitely should be a high priority for the LWDG. The lack of this feature really is a major deficiency in the current implementation of native instancing in LW. For goodness sake, we had this facility years ago in Graham Fyffe's HD Instance - and he was a one-man-band - so it shouldn't be too much of an onerous task for the LWDG's team of software engineers to get up and running ready for the next release!

CaptainMarlowe
03-23-2015, 11:16 AM
+1, I used this feature a lot in HD Instance.

sandman300
03-23-2015, 11:29 AM
Does instancing work with bullet yet?
Instancing particle generators?
Boolean instances?

Greenlaw
03-23-2015, 11:30 AM
I agree. I love using Lightwave instancer and found it incredibly useful for many jobs in the past years, but randomizing motion is definitely a major weakness.

A year or so ago, I used Instancer for a lot of creatures in film and, even with manually setting timing offsets in MDDs for duplicated sources, it was really difficult to get to get natural looking random offsets in the overall animation. From what I recall, the random offsets HD Instance did internally using its own baking system seemed to be much more, well, random to me.

Hopefully random animation timing and better randomness in general is coming in a future release.

G.

Greenlaw
03-23-2015, 11:40 AM
Not really. You can make Bullet work with Instancer, it just doesn't respect actual instanced volume shapes for collision yet so you'll have to cheat that with hidden proxies. This approach is useful and 'close enough' for many situation but there are obvious limitations. Hopefully real communication between Bullet and Instancer is coming in the future so we can run more accurate sims when using both of these tools together.

In the meantime, check out Advanced Placement. It can do accurately use Lightwave Instances in its own dynamics system.

G.

MonroePoteet
03-23-2015, 01:27 PM
I don't usually like to get into these sorts of speculative threads, but it needs to be said as often as possible: The most important addition to instancing has to be the ability to offset animation randomly, without having to add multiple copies of the same geometry with different timings. If you add a few variants, you always seen to get noticeable twinning, and if you add enough variants to fix that, you lose the benefit of using instances in the first place.

Yes, this is especially frustrating since the mechanism(s) for randomizing instances are there in LW 11.6.3, but broken for rigs. You can offset keyframed motion of the base object using the Time Offset and Time Scale using a random texture, but it doesn't offset the rig motions accordingly.

As well, even though the Instance Generator has a Node Editor available, as far as I can tell the Time Offset and Time Scale inputs are broken and crash Layout when ANY input (like a random scalar) is tied to them. It'd be much easier to randomize the motion using a random scalar input to the Time Offset and Time Scale rather than trying to fit a Texture to the size of the Instancer parent.

My flocks of birds look really poor when they all flap together!

mTp

MonroePoteet
03-23-2015, 02:16 PM
Here's a quick sample scene that demonstrates the ability to randomize the instances in time using a small gray-scale image map. It shows that a child object's motion is offset in time appropriately to its instanced parent, but the bone motion (rig) is not.

To see the effect, load the scene, press FX Tools=>Calculate Flocking, then select the Small Blue Ball. Note that the blue balls are orbiting the green balls offset by the Time Offset image map, but the deformation of the bones is not.

And, as I said previously, it'd be a whole lot easier to be able to plug a Random Scalar into the Time Offset input for the Instance Generator node rather than using the sized image map or procedural texture, but that crashes Layout.

mTp

P.S. I used a gray-scale image map, but using a Turbulence (or other) procedural with an output value of 3.0 or more works great, too.

bazsa73
03-23-2015, 02:26 PM
Agreed. Animation offset and recursivity.

jwiede
03-23-2015, 03:59 PM
Agreed. Animation offset and recursivity.

My third and fourth asks are really both part of the same thing: Open up programmatic/scripted access to per-instance properties (PSR, anim offset, so forth). Once that's done, third party devs will be all over providing customers with all sorts of different nice editing/control options (with complexity-scaling UX, think akin to CarbonScatter). Instead of LW3DG providing more hard-coded but inalterable choices for how to do things, I'd much rather they open up the SDKs (which only they can do), and leave the finesse work to third parties (who will offer richer & broader options, and also do a more responsive job of addressing customer needs and niches, based on history).

Sensei
03-23-2015, 08:55 PM
My third and fourth asks are really both part of the same thing: Open up programmatic/scripted access to per-instance properties (PSR, anim offset, so forth). Once that's done, third party devs will be all over providing customers with all sorts of different nice editing/control options (with complexity-scaling UX, think akin to CarbonScatter). Instead of LW3DG providing more hard-coded but inalterable choices for how to do things, I'd much rather they open up the SDKs (which only they can do), and leave the finesse work to third parties (who will offer richer & broader options, and also do a more responsive job of addressing customer needs and niches, based on history).

But it's done, what can be done - through custom Node Editor for instances.

jwiede
03-24-2015, 09:10 AM
But it's done, what can be done - through custom Node Editor for instances.

Hence "Feature Request". Or are you suggesting those things simply cannot be exposed to programmatic/scripted access?

There are many uses where cyclical and/or complex branching interaction is desired from instances, yet nodal is quite poor at expressing either type of pattern in efficient manner. Just offering nodal control alone isn't adequate w.r.t. instances.

Sensei
03-24-2015, 02:31 PM
You didn't understand. Write node and plug it in instance Node Editor. And you have programmed location or other parameter of instance..

Scripts are too slow.

silviotoledo
04-01-2015, 11:06 AM
RANDOM MORPH besides Random Scale
INSTANCE OVER INSTANCE

sadkkf
04-01-2015, 11:20 AM
I don't usually like to get into these sorts of speculative threads, but it needs to be said as often as possible: The most important addition to instancing has to be the ability to offset animation randomly, without having to add multiple copies of the same geometry with different timings. If you add a few variants, you always seen to get noticeable twinning, and if you add enough variants to fix that, you lose the benefit of using instances in the first place.

+1

I'd also like the ability to save instances as objects.

vonpietro
04-01-2015, 03:18 PM
save instanced objects - Already can be done.
someone mentioned there is a python script that saves instanced objects somewhere.. i thought it would be useful as well.

say you have a cactus and you instance the heck out of it with needles

but you want to edit it in modeler - the python script is supposed to save it all into one object file.
at least thats what someone said - i have no idea where it is.

johnliebler
04-01-2015, 04:42 PM
There is one in plugins/scripts/python/generic bake_instance.py. There is also one from Mike Green (I think, it might be mentalfish. MG, MF...) I have used both with some success, but it was a bit tricky to get what I wanted. I recommend testing it in a simple scene before wading into anything complex. I just checked, and the native one is in the items menu, under add/clone/. It seems to only work properly in Local mode. If you have transforms on your instances they don't get transferred to your clones. :/

vipvip242
04-02-2015, 12:31 AM
I use Advanced placement since some monthes and it is really a great plugin:

- ability to paint instances or groups of instances
- convert instances droups in polygon meshes
- you can adjust each painted instance position manualy in a second time
- realtime painting with VPR preview ( or more impressive octane IPR )
- the original mesh can be set every where in layout ( just the origin is set in modeler ) and it doesn't affect coords of painted instances...
- there is some animation feature to record instances phycics animations...

It is really a really cool creative tool, i was waiting for a long time since Painteffects of my 10years-old ( but still good ;) ) Maya 6.0 licence

probiner
04-02-2015, 02:17 AM
There is one in plugins/scripts/python/generic bake_instance.py. There is also one from Mike Green (I think, it might be mentalfish. MG, MF...) I have used both with some success, but it was a bit tricky to get what I wanted. I recommend testing it in a simple scene before wading into anything complex. I just checked, and the native one is in the items menu, under add/clone/. It seems to only work properly in Local mode. If you have transforms on your instances they don't get transferred to your clones. :/

One serious problem that I remembered now and haven't seen to be addressed here is that sometimes instancers with weight don't get baked right. It's better at times to use Scale to make the ones you don't want "vanish".

Cheers

Every4thPixel
04-02-2015, 02:19 AM
I would like to see a nodal animation feature where you can use multiple mdd files do drive the animation of the instances.

ianr
04-02-2015, 06:42 AM
Yeah, Every4th Pixel,


Sounds like the beginnings of a Crowd generator.

Houdini's doing this in rev 14 with theirs.

It seems that again LW is getting all the parts

instancing/ flockings/ bullet dynamics/nevron.

but not summoning them together.


We need a Nodal brain solver( fuzzy logic)in there as well.

(Massive is still King, why can't Mr.LW instancer dev

pull one together for liddle old LightWave?)

Dan Ritchie
04-04-2015, 11:42 AM
Absolutely need to see the ability to save a instancing solution once it is calculated, because millions (or even hundreds of thousands) of instances can take a very long time to recalculate every time a scene is re-loaded. I've had it take 20 minutes to load a scene while instances re-calculate.
That's my main request for instances.

Sensei
04-04-2015, 12:23 PM
Absolutely need to see the ability to save a instancing solution once it is calculated, because millions (or even hundreds of thousands) of instances can take a very long time to recalculate every time a scene is re-loaded. I've had it take 20 minutes to load a scene while instances re-calculate.
That's my main request for instances.

Doable as 3rd party plugin though.

Oldcode
04-05-2015, 07:26 AM
I use Advanced placement since some monthes and it is really a great plugin:

- ability to paint instances or groups of instances
- convert instances droups in polygon meshes
- you can adjust each painted instance position manualy in a second time
- realtime painting with VPR preview ( or more impressive octane IPR )
- the original mesh can be set every where in layout ( just the origin is set in modeler ) and it doesn't affect coords of painted instances...
- there is some animation feature to record instances phycics animations...

It is really a really cool creative tool, i was waiting for a long time since Painteffects of my 10years-old ( but still good ;) ) Maya 6.0 licence

Totally agree with you here Vip,

The ability to paint where you want the instances to go would be very helpful. Currently, I use weight maps to control where my instances go, that's what works best for me, but it's still very cumbersome trying to place where you want the instances to go, and where they don't go.

The thing I'd like done is just make sure what we have works. I've got a large scene with about 3500 instances, which I have saved and have been rendering shots from various angel. Even though the scene is saved, every time I open the scene in layout, most of the instances don't show up at first. I have to go back into the instancer control panel and manually select all the objects, uncheck them so they are removed from the instancer, then check them again to put them back. Only them are they all fully visible and go back the the way I had it the last time I opened the scene.

Fixing that would be a good place to start.