ICE Mograph Workshop: Cloners

User avatar
gustavoeb
Moderator
Posts: 587
Joined: 21 Jul 2010, 00:33
Skype: gustavoboehs

ICE Mograph Workshop: Cloners

Post by gustavoeb » 08 Nov 2011, 02:52

This thread intends to promote attempts at replicating the functionality found in Cinema 4d moGraph Cloners inside ICE. I suggest we also tackle the Effectors in moGraph as they are really tied to the cloner funcionality.

Here ares some videos that show what this features do:
http://www.youtube.com/watch?v=wP3ouqqf8Nw (cloner object)
http://www.youtube.com/watch?v=tSZ4XpFR ... re=related

Some important things to keep in mind:
  • It would be nice to make this useful to as many people as possible, so it would be nice if the user needs not to tuch the ICE tree for most basic functionality
    Parts of the cloner functionality might be separated in different cloners for future usability in other tools.
    It would be nice to consider that the user may want to further simulate/modify/go crazy with the cloned objects afterwards :D
If you can/want to contribute not with ICE stuff but with your view as a Motion Graphics artist. Even with stuff you feel about Cinema 4d's clonner and effectors, please feel free to do so, it will surely be helpful.

===================================================

Also, Chris_TC has provided an attempt of his own to this challenge, and it might be a good reference for those completaly clueless of how to make this work in ICE. Here is the link to the compound:
download/file.php?id=1419

He has also listed stuff he thinks can be improved in his compound:
-> Detach the Set Particle Data into its own compound
-> Specify a "Particle Type ID" attribute for every cloner compound
-> Together with the detached Set Particle Data, one could then control particle data per cloner without having to use separate ICE trees*
-> If the red compound problem can't be fixed, also detach the Geometry Array into its own cloner compound
-> Having a few more, but ultimately smaller compounds is probably preferrable anyway

More details can be found here:
viewtopic.php?p=13859#p13859
viewtopic.php?p=13894#p13894
Gustavo Eggert Boehs
Blog: http://www.gustavoeb.com.br/

User avatar
Hirazi Blue
Administrator
Posts: 4918
Joined: 04 Jun 2009, 12:15

Re: ICE Mograph Workshop: Cloners

Post by Hirazi Blue » 08 Nov 2011, 14:31

And for those of us clueless how to get the MOG_Cloner to work?
A little more description of its ports and functionality might come in handy... ;)
...

User avatar
gustavoeb
Moderator
Posts: 587
Joined: 21 Jul 2010, 00:33
Skype: gustavoboehs

Re: ICE Mograph Workshop: Cloners

Post by gustavoeb » 08 Nov 2011, 16:25

Hi Hirazi, I've posted the link were Chris_TC briefly describes his compound...

Anyways, I'll copy/paste it here:
Everybody feel free to pick the compound apart if you think that it may serve as a starting block. I've called it MOG Cloner and put it into a Task category called MoGraphics. These are all merely suggestions, as is the whole compound itself.
I think the compound controls are straightforward if you play with it for a bit. "Obj control A" and "Obj control B" allow you to use nulls to interactively control the placement of the cloned objects. When something is plugged into these ports, they override "Position A" and "Position B".
Image

The thing is pretty strait forward, just create a new PointCloud, create an Ice Tree, import Chris' compound, plug-it in, and that is that.
As we see in Chris' explanation one can plug in Nulls to control the two input positions needed for the array. As we can see in the image one can also plug in a geometry, for the cloning to happen along its surface, and also plug in a instance group, well... for instancing.

Hope this helps. Sorry have no time to make a little video on this, but little experimentation will get you a long way :)


Anyways this is just an example, one can really start his/hers compound from scratch.
It would be nice if people had the compounds really organized and with comments...
Gustavo Eggert Boehs
Blog: http://www.gustavoeb.com.br/

Chris_TC
Posts: 411
Joined: 22 Mar 2010, 17:43

Re: ICE Mograph Workshop: Cloners

Post by Chris_TC » 08 Nov 2011, 18:42

I've split up the compounds and fixed quite a bit of broken logic. This should be less scary to use and provide a better workflow.
You can now use several array compounds in one ICE tree and set particle attributes per array.
Image

MOG Array Primitive
(Generates particles using two input positions)

Position A = First input position
Position B = Second input position
Obj Control A = If an object name is connected, its position overrides Position A
Obj Control B = If an object name is connected, its position overrides Position B
Array ID = An identifier that's applied to every particle generated with the compound
Clone Type = Defines the type of array (linear, radial or box)
Count X = Number of particles
Count Y = Number of particles (ignored if array is set to linear)
Count Z = Number of particles (ignored if array is set to linear or radial)

Start Angle = Rotates the radial array
End Angle = Defines how far the circle shape revolves
Helix Height = Turns the circle into a spiral if set to a value other than 0
Inner Radius = If Count Y is greater than 1, this controls the innermost radius

MOG Array on Geo
(Generates particles on an input geometry)

Geometry Name = Input geometry to use
Array ID = An identifier that's applied to every particle generated with the compound
Count = Number of particles
Distribution type = Defines where particles are placed (vertex, edge, polygon or random)
Every nth = Places particles only on every n-th vertex, edge or polygon
Random Seed = If the distribution is set to random, this controls the seed

MOG Set Particle Data
(Sets particle data)

Affect Array IDs = Particle data is only set for these array IDs. List can be comma-separated (0,3,5,8) and/or dashed for a range (2-4)
Instance Group = If something is plugged in here, it overrides the particle shape. The reference on the compound itself must match
Instance Type = If a group is used to instance, this controls the member distribution (iterate, random or blend)
Iterate Offset = Offsets the iterations
Rand Seed = If random instancing is used, this controls the seed
You do not have the required permissions to view the files attached to this post.
Last edited by Chris_TC on 08 Nov 2011, 19:12, edited 1 time in total.

Ramon
Posts: 111
Joined: 19 Aug 2010, 22:47

Re: ICE Mograph Workshop: Cloners

Post by Ramon » 08 Nov 2011, 19:01

gr8 work!!!

User avatar
gustavoeb
Moderator
Posts: 587
Joined: 21 Jul 2010, 00:33
Skype: gustavoboehs

Re: ICE Mograph Workshop: Cloners

Post by gustavoeb » 08 Nov 2011, 19:31

Chris you are fast man. Nice reworking of the nodes, splitting regular array versus geometry thingy was the way I was trying to brake down also. I think volume (not only surface) emission would be very interesting also, what do you think? Something similar to this.

http://sculptwork.com/rr/bak/streaker/Generate%20objects%20by%20Volume.1.2.xsicompound

At any rate, I hope I can post something pratical soon, instead of only be talking about stuff...
Gustavo Eggert Boehs
Blog: http://www.gustavoeb.com.br/

jamination
Posts: 159
Joined: 10 Jul 2009, 21:58

Re: ICE Mograph Workshop: Cloners

Post by jamination » 08 Nov 2011, 19:58

is the z count broken?
Phil Harbath
Jamination Productions

Chris_TC
Posts: 411
Joined: 22 Mar 2010, 17:43

Re: ICE Mograph Workshop: Cloners

Post by Chris_TC » 08 Nov 2011, 20:02

gustavoeb wrote:I think volume (not only surface) emission would be very interesting also, what do you think?
Yes, adding volume emission is a great idea. We should just make sure that we end up with proper Point IDs.
The example compound you posted generates a 3D point grid, then deletes all points that aren't within the geometry volume. Because of this, the point IDs end up with gaps, e.g. 105, 120, 141, 153 instead of 0, 1, 2, 3

For the motion graphics type stuff we will often want to affect points according to their ID, and we should make sure to end up with gapless IDs whenever possible. Unfortunately, the ID attribute cannot be set manually, so when spawning particles we should not generate them, then delete them. Instead, we should only generate the ones we need (this is actually one of the fixes I applied to the geometry array compound).

Without having looked into it, I'd say that it shouldn't be too difficult. The 3D point grid feeds position values into an Add Point node. We just have to make sure that these position values don't contain any points that lie outside of the desired volume, so that they don't get generated in the first place.
jamination wrote:is the z count broken?
It only works with the box array. I thought about using the Z count for the 2nd dimension of the radial array but used Y count instead. Maybe that's too confusing?

Chris_TC
Posts: 411
Joined: 22 Mar 2010, 17:43

Re: ICE Mograph Workshop: Cloners

Post by Chris_TC » 08 Nov 2011, 20:42

Chris_TC wrote:Without having looked into it, I'd say that it shouldn't be too difficult.
Not true at all. I just noticed that the 3D point grid factory compound is weird. It first generates a bunch of points at the scene orgin, then moves them based on their point ID. Instead of spawning them at their correct locations right away.
It doesn't come as a surprise then that using the 3d point grid compound twice in one ICE tree completely destroys the logic. So naturally, using two MOG Array Primitive set to Box Array also doesn't work.

Thus, the 3D point grid factory compound must be replaced by a better version. Daniel has already shown how to do this here I think:
viewtopic.php?p=13538#p13538

User avatar
gustavoeb
Moderator
Posts: 587
Joined: 21 Jul 2010, 00:33
Skype: gustavoboehs

Re: ICE Mograph Workshop: Cloners

Post by gustavoeb » 09 Nov 2011, 02:58

Hey guys this is my first attempt at it.

compounds: http://gustavoeb.com.br/blog/wp-content ... pounds.zip
video: http://vimeo.com/31823048


I tried splitting the compounds as Chris suggested, and made it able to support different cloners in one tree. I tried to follow the design of the Simulation Tree when splitting this compounds. I like how you can apply many of the existing nods in ICE to modify the look of your clones, but I intend to have better default color/shape/size values also.
I also added the Step mode found in Cinema's cloner, as it seems handy for doing some cool animations.

Very basic for now, only working in one dimension... will takle that later on

Moderator edit: embedded the Vimeo-video using our vim-tags - HB
Gustavo Eggert Boehs
Blog: http://www.gustavoeb.com.br/

User avatar
gustavoeb
Moderator
Posts: 587
Joined: 21 Jul 2010, 00:33
Skype: gustavoboehs

Re: ICE Mograph Workshop: Cloners

Post by gustavoeb » 11 Nov 2011, 02:42

Updated the "Create Point Array Compound" with Grid Array. Diferently then Cinema 4d I kept the step mode for both Linear and Grid, I think it is better this way since both modes have very similar control. Other changes include:
*PPG Logic will change values to keep the look when switching Step Mode on/off;
*Starting Point and End Point are color coded.

Here are the compounds:
http://gustavoeb.com.br/blog/wp-content ... unds_2.zip

Cheers!
Gustavo Eggert Boehs
Blog: http://www.gustavoeb.com.br/

Ramon
Posts: 111
Joined: 19 Aug 2010, 22:47

Re: ICE Mograph Workshop: Cloners

Post by Ramon » 11 Nov 2011, 08:44

Thanks!!! Very usefull work

Ramon
Posts: 111
Joined: 19 Aug 2010, 22:47

Re: ICE Mograph Workshop: Cloners

Post by Ramon » 11 Nov 2011, 16:23

will be nice to create this effects for create copies from polygon mesh for clone geometry mesh.

SreckoM
Posts: 187
Joined: 25 Jul 2010, 00:18
Skype: srecko.micic

Re: ICE Mograph Workshop: Cloners

Post by SreckoM » 13 Nov 2011, 14:43

Here is my attempt. It is still WIP. At the moment there are 3 compounds: Linear, Radial and Grid Cloner.
This short video will explain usage.
Link to video

PS Thanks Chris_TC for helpful tip about creating point cloud grid.
You do not have the required permissions to view the files attached to this post.
- H -

User avatar
gustavoeb
Moderator
Posts: 587
Joined: 21 Jul 2010, 00:33
Skype: gustavoboehs

Re: ICE Mograph Workshop: Cloners

Post by gustavoeb » 16 Nov 2011, 16:03

Ramon: Thanks for testing and posting your ideas :) Do you mean instancing geometry only or making it a real mesh trough ICE Modeling. I think both suggestions are really valid, Cris' compound already does the first one, and the seccond should not be hard to do with the default ICE Modeling compounds.

SreckoM: Cool take on it! Controls look really straight forward. I also like the flower thingy, it is a polar coordinates thing right? Will download your compound and check it out!
Gustavo Eggert Boehs
Blog: http://www.gustavoeb.com.br/

User avatar
gustavoeb
Moderator
Posts: 587
Joined: 21 Jul 2010, 00:33
Skype: gustavoboehs

Re: ICE Mograph Workshop: Cloners

Post by gustavoeb » 17 Nov 2011, 14:09

Geez the radial cloner looks, to me, a lot more complex then the other ones. Could just copy parts of other compounds, but it feels really bad not understanding them... gonna have a lot of wikipedia reading and kahn academy classes this week + ICE experimentations =p
Gustavo Eggert Boehs
Blog: http://www.gustavoeb.com.br/