MoGraph Tutorial – Xpresso Data Node

This example scene shows you how you can use the MoGraph Data Node to access specific Clones.

In this example I use the data node to attach a null to a clone and then cycle through them.

MoGraph Tutorial - Xpresso Data Node

MoGraph Data Node Xpresso

I’m sure you can find some more interesting uses for this handy node.

To download the C4D file relating to this then please click here

MoGraph Tutorial - Xpresso Data Node

Editor view of result

MoGraph Tutorial – Xpresso Data Node

Author: Tim


  1. Miles Christensen
    Miles Christensen On March 30, 2009 at 6:49 PM

    Cheers Tim!

    I needed to do this a while back so that I could attach particles in AE to each clone and now I can identify them!
    The only thing now is working out how to turn off cycling and add nulls to each clone.

    any ideas? my xpresso knowledge is somewhat limited.

    muchas gracias,

  2. Tim
    Tim On March 31, 2009 at 5:17 AM

    Hi Miles

    If you check my Xpresso then you’ll see that I animated the Math:Subtract node. So just delete those keys on the second input, and you can switch to whichever clone you wish to attach too.

    You could always add in enough nulls for the cloner and add this Xpresso tag to each null and then adjust the number so each null is linked to the corresponding clone. Might be a bit of a tedious method, but it will work.

    A more efficient way of doing this would be to use the count parameter to iterate through a hierarchy of nulls and then attach each one to the relevant clone. This would be more complex to setup, but should work on any number of clones just by creating the correct number of nulls.

    Maybe I’ll have a go at wiring up the Xpresso myself. . . .

  3. Miles Christensen
    Miles Christensen On March 31, 2009 at 9:47 AM

    Thanks Tim!
    Yeah that setup works just fine. Like you say its a little tedious, but it works. Using the count parameter sounds like the one.
    I have this setup up which I learnt from you on FXPHD where I use Thinking Particles to to follow a spline, these then collide with an object and follow the contour of the shape. The setup is way to heavy to sweep the traced splines so I thought if I could attach nulls to each TP particle then I could trace it with particular in AE.
    Do you think this cloning setup could work with TP too?


  4. Tim
    Tim On March 31, 2009 at 11:47 AM

    I’m pretty sure it won’t work with TP. The only way I can think that it might work is if you generate the Thinking Particles using the Matrix object. Haven’t tried that.

    With TP, you’ll need to use PGetData to get the position of the particles and then you can wire that into your nulls position. With only one particle this will be relatively simple, but with many particles it is a lot trickier. I think you’ll need to use TP Data Channels to number your particles, then you can get the position of specific particles and assign them to specific nulls.

    good luck!

  5. Emilio
    Emilio On August 25, 2009 at 6:52 PM

    Hi Tim,

    I’m a long time fan…, thank you for always sharing your knowledge and tips with us! First, I recently used this setup to bring the nulls into After Effects, but the nulls came in without any animation. Any ideas? I’m sure there’s some baking involved, but I’m just not sure on how to set that up. Second, I tried using a Cloner object that uses a Matrix object in the “Object” field. but I don’t get access to the “Count” parameter inside Xpresso. Any help is much appreciated

    Thanks again,


  6. digitalove
    digitalove On January 15, 2010 at 12:29 AM

    Hey Tim, I’m trying to use this method to attach a null to a clone, and have done the steps you have said to do for Miles in the first post although the null attaches to basic shapes it will not for others. The “Count” parameter in the first node in the expresso turns to “undefined”, if that is any help.

    Thanks 🙂

  7. Tim
    Tim On January 15, 2010 at 12:42 AM


    If the count port becomes undefined then you are using a different type of cloner, maybe grid array or object. Well that would be my guess. So you need to find out which clone you want to attach to and then feed that into the data node. Perhaps just try adding the data index value manually (i.e. unwire the input to index and type the number in the AM).

    Good luck.

  8. digitalove
    digitalove On January 15, 2010 at 3:30 PM

    yep im using grid array i will try what you said, thanks for the reply.

  9. alex
    alex On January 24, 2014 at 4:21 AM

    Is there a way to link this to a selection tag, so you only get nulls for the clones you’re interested in?

    It’d be great for when you have way too many.

    • admin
      admin On January 24, 2014 at 10:00 AM

      I’m pretty sure you can. Use the MoGraph Selection tag and then iterate through the clone index (use the count from your cloner to determine the number of iterations). The tag will output a positive bool value for selected clones. You’ll need to iterate through a list of objects and then link them to the appropriate clone. I’ve never set it up so I’m not sure how easy it will be, but theoretically sounds feasible.

  10. asghar
    asghar On May 12, 2014 at 3:39 AM

    Thanks Tim

  11. Kris Cook
    Kris Cook On January 23, 2015 at 9:49 PM

    Once again you’ve made my day. Get Dauwd to do a course! Or have look at my latest reel #skipintro 🙂 and recommend your best course for me.

    I’m way more into motion/mograph/streamlining workflow and i prefer vector-esque output.

    I wouldn’t mind learning V-Ray, but I the R16 Physical & it seems to be killing it? Often faster that Standard I’m finding…

    • Kris Cook
      Kris Cook On January 23, 2015 at 9:50 PM

      Changed my folio link to direct reel on Vimeo to save you le hassle.

  12. Westbam
    Westbam On February 7, 2016 at 12:05 PM

    7 years later… you saved my evening, thnx soo much!!

  13. xrossfader
    xrossfader On March 30, 2016 at 10:53 AM

    Can you use this to create a perfect grid system with a cloner? So when you add more counts of clones it calculates the distance from the previous clone and adds a specific distance to it?

Leave a Reply