Page 1 of 1

Instancing an instance via Cloner

Posted: Tue Jul 01, 2014 8:39 pm
by DayDreamer
Hello folks, I've stumbled upon an elegant solution to: How do I efficiently put Cloner in another Cloner?

Now the problem is - you can't have Instance in an Instance where both of them have "render instance" checked, same applies for Cloners as they use the very same instancing principle.

Now imagine you have that 100 000 Polygon mesh, and you want to clone it in a very odd manner. Usually you'd use a cloner inside a cloner to suit your needs (a hundert of 100k meshes will eat much memory space though), BUT we have the option of loading a mesh only once and spread it however we like with Instancing.
Everything works fine, put anything in a cloner, check render instances and you have a row of ten things for cost of one. Profit you might say! But how would you clone that cloner? Remember, you want to have loaded that mesh only once! If you clone an instancing cloner ten times you end up loading 10 meshes with 10 Scatters to them... it's better than loading hundert meshes, yet not the best memory saving solution. The better way is:

You just
  • take a point (for Ex. make Cube -> Make editable -> Delete all vertices but one),
  • put it in a Cloner of a Cloner of a Cloner of a Cloner... you get the idea.
  • And it is advisable to put that Cloner tree inside of a Connect node (watch for Weld setting, it may eat some vertices ;))
  • Afterwards create a regular Cloner with your object inside, and instead of [Object properties] Mode = Linear set it to Mode = Object, and feed him your Connect node.
  • Check [x] Render instance also!
So basically we are creating a guidance for our main Cloner with help of other Cloners.
IMG_01072014_215651_01.jpg
IMG_01072014_215651_02.jpg
I've no idea if this is a common technique, if not I could make a brief tutorial. The idea is rather simple.

This is a quick post, without going in-depth. A c4d scene is attached. Now go and make me proud! :D
Clone_a_cloner.zip
Example scene
(90.65 KiB) Downloaded 213 times

Re: Instancing an instance via Cloner

Posted: Wed Jul 02, 2014 5:59 am
by slepy8
hmmm...

I'm trying to find magic here but no success..

Why don't you just use a plane and set is an object for cloner with vertex distribution?

You'll achieve exactly the same.

Re: Instancing an instance via Cloner

Posted: Wed Jul 02, 2014 6:10 am
by DayDreamer
Now imagine you have that 100 000 Polygon mesh, and you want to clone it in a very odd manner.
ZMgkAWUC5VA.jpg
If you look at this example, you can see how there are tons of identical windows. There are different distances between each column, what I firstly did was about twenty columns, so there were 20 cloners and there were about 50mb memory waste.

Another way to do would be Cloner in a Grid mode, but it won't work since there are different distances between points. And I can't put Cloner inside a Cloner because double instancing isn't implemented yet.

Using a plane with manual adjustment of each vertex is kind of like manually placing Instance node here and there.

Re: Instancing an instance via Cloner

Posted: Wed Jul 02, 2014 7:30 am
by slepy8
What you did is not finding a method to use "render instances" inside of "render instances" but just the method to control distribution of clones.

Just now your method is good and before it was bad - that's it ;)

However thanks for a tip. I think we'll never stop exploring methods to use Cinema even more efficiently - it's such a complex software.

Re: Instancing an instance via Cloner

Posted: Thu Jul 03, 2014 12:37 pm
by ralf_breninek
I find any workflow tip usefull and a great thing if someone shares it, essentially thats what the internet was build for in the first place.

So thanks DayDreamer for sharing :)