Instancing an instance via Cloner

Maxon Cinema 4D (Export script developed by abstrax, Integrated Plugin developed by aoktar)

Moderators: ChrisHekman, aoktar

Post Reply
DayDreamer
Licensed Customer
Posts: 48
Joined: Fri Mar 07, 2014 10:00 pm

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
CPU: 5930K i7, GPU: 2x iChill Nvidia 780Ti, 980, RAM:32GB, Win 7, SSD.
User avatar
slepy8
Licensed Customer
Posts: 377
Joined: Sun Jul 14, 2013 10:53 am

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.
DayDreamer
Licensed Customer
Posts: 48
Joined: Fri Mar 07, 2014 10:00 pm

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.
CPU: 5930K i7, GPU: 2x iChill Nvidia 780Ti, 980, RAM:32GB, Win 7, SSD.
User avatar
slepy8
Licensed Customer
Posts: 377
Joined: Sun Jul 14, 2013 10:53 am

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.
User avatar
ralf_breninek
Licensed Customer
Posts: 88
Joined: Fri Mar 22, 2013 8:33 pm
Location: Germany Cologne / Köln
Contact:

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 :)
C4D R21.207 / Octane for C4D 2020.2.4 / Watercooled 4 x EVGA Geforce RTX 2080 ti
http://www.pixelasm.com
Interface and motion graphics design for interactive interfaces and animations on TV, web, mobile and automotive from Köln / Cologne Germany
Post Reply

Return to “Maxon Cinema 4D”