Xpresso Part II: Building a Picture Frame

November 22, 2011

A follow up to Intro To Xpresso. Here we create an Xpresso driven picture and frame. We get to do a little more math, explore the Range Mapper node, create more User Data, plus lot’s of little tips and tricks I use including making the content browser extra user full!

Watch Intro To Xpresso

Tutorial Focus:  , ,
Software:  ,

  • Really great one.
    Now using xpresso makes sense to me.
    Just a request: how can you import objects from content browser to your scene by double clicking them as Nick always do with his light kit pro stuff?
    Thanks a lot.

  • Thank you Chris! I hope the next tutorial will be Xpresso too. 🙂

  • Thanks for this awesome explanation of Expresso Chris. This is going to make my workflow so much easier. I especially liked the object browser piece at the end, that’s going to be so much help to me in future!

  • the whole tutorial is perfect. I wish it was longer, i mean it.
    I liked the expresso interface and content browser tips very much.
    and a question; can we make an imagepicker user data for the material?
    keep up the good work. thanks Chris..

  • just out of curiosity bc i think it would be cool to do, is there any way to set up in xpresso the ability to call in outside data. lets say from a spreadsheet for example.

  • Today again…
    I sit here – for over an hour – and painlessly learn – eagerly wanting more – of when “nothing”
    magically becomes something – beautiful.
    Almost sounds like a “Zen” saying for the tutorials on this site : ).

    So, Thank You to Nick and Chris … and others who have contributed their time & skills
    with tips and tricks – including comments!

  • Nice try, Chris, but I think I recognize the 3DBB, aka three-dimensional blackboard of Tennessee Tuxedo fame, when I see one. Expect a nasty letter from Phineas J. Whoopee in the near future.
    Other than that, thanks for de-fanging one of the most secretive aspects of C4D. Can’t wait for more.

  • Thanks Chris !
    It’s really great that GSG now includes some Xpresso dedicated tuts!
    For anyone that’s interested in more Xpresso, you should definitely check Robert Leger’s blog
    It is mostly dedicated in Xpresso…

  • Awesome !!!
    Milluon Thanks Dear Chris,very useful tutorial,thanks for share my friend 😉

  • Off topic but, since black Friday is coming up, are you gonna have a sale on the kits?

  • Hey Chris, or anyone else, I’m doing an animation of a tank track and I was wondering how i would make it so that when I move the tank around in the viewport, forwards and backwards, that the tracks will move. Basically what I’m saying is that is there a way in Xpresso to make it so that when i push the tank backwards the tank track rolls backwards and when I move it forward the tank track goes forward? (I’m using a spline wrap so it would have to link to the “Offset”)

  • I also think that it is great you are doing these tutorials. Keep it up…

  • Hi Chris,
    A little base knowledge of math is a great benefit when using C4D. It is not a witchcraft and it can be put to great use. So the weird number you get 57.296 in degrees translates to the 100% of 1radial because a full circle equals to 2 x pi radials =2×3.14…=6.283radials and this equals 360 degrees. 360/6.283 equals 57.296 No mystery there!
    Very clear and pleasant style.

  • Wow you’re on Tute 11 already? where did the time go? great example with Xpresso.. this was over an hour.. and that time flew by as well.. Thank you Chris.. Keep them coming!

  • Thanks Chris, another superb tutorial. It’s all the practical little tricks and tips that allow you to see the logic behind some of the Cinema functions. Thanks to Nick too for pulling so many great resources together!

  • Thanks for another really useful tutorial.

  • Hey Chris!
    Awesome tut! 😀 looking forward to the next one!
    Just one question: Is it possible to connect a Custom-User-Interface-shader (Data-typ: Link / Interface: Shader) to an input of a material-channel via expresso? or does coding start here?
    …hope you get what I mean! ^^

    Cheers Fabian

    • Fabian,

      I just built one where you could specify the image with a user data field. Create a material and place an image in the color channel. Click and drag the small preview of the image from the Material Manager into your Xpresso editor. Connect your filename user data field to the “File” input of the material bitmap. You can also use the Bitmap Node linked to the same user data field to drive the height and width of the picture frame.
      Hope that helps!


      • Great! But what happens if you duplicate your frame to have another one in the scene ? How can you get different frames with different images ?

  • Great tutorial! Altough i’ve started to learn xpresso a little while back now (so I knew the basics covered here), but it’s still great to see the workflow and manurisms of a pro.

    A little tip for everyone; Try to open up the C4D presets. They contain a lot of xpresso to learn from, especially the character stuff. And maybe a suggestion for a future tutorial to include the userdata in the viewport! That helped me a lot when I’ve got to do a lot of keyframes on a single object.

  • hi, i wonder if C4D xpresso nodes can show value ? i used spy node , but it can not update value or show wrong value..

  • Excellent Tutorial Chris.
    I think the reason you get half of the texture on the size parameters it’s because the calculating from the center where the axis is.
    Thanks for another great tut!

  • Great Tut Chris! I took it a step further and made the image texture drive the size of the frame instead of having manual sliders 🙂 Definitely saving this! Thanks again and keep up the good work!

  • Thank’s for the Xpresso tuts! This second one was actually easier to follow than the intro I think!

  • Thanks for this great tutorial,

    really nice and easy to follow

  • I really interested in the use of zpresso to enhance my knoledge of cinema4d,
    there is something that it seems pretty complicated: how can I transform degrees into position data?
    I think the range mapper is the right guy to do that, but again, how?


  • Great tutorial, thanks! I’ve got a question:

    If I set up a default value for a property and I click to the little arrows of input field with the right mouse button, the actual value doesn’t change into the default value. Is it possible to set it up?


  • A great Tutorial. Thank you Chris

  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.