Rendertime Object Swap and the Variation Map in R17

January 12, 2016


Each skull in the render you see above has about 750,000 polygons in it. That’s a whole lotta triangles! Using the tips we explain in the video, simulating all that geometry didn’t slow us down a bit. In this two part series, we’ll show you how to swap high polygon objects with low resolution meshes at rendertime using the Alembic file format in Cinema 4D. This workflow will save you some of the headaches associated with dealing with a heavy scene. In part two, we dive into the lighting and shading of this image. We will be breaking down some clever uses of the new Variation map in R17. Oh, and some Physical renderer as well! Enjoy!


Part One: Setting up your High and Low Poly Objects with Alembic for Object Swapping


Part Two: Using the Variation Map to Achieve Randomization on Many Attributes

Have your own unique object swap workflow? Share it with us in the comments below!


Tutorial Focus:  , , , , , ,
Software:  ,

  • Really really really good tutorials. Thank you Mr. Ashley 🙂

  • Hello!
    Thanks for your ideas!

    Personally I’m not a fan of exporting my .c4d files to alembic, because I’ll lose my shaders, animations and all my parametric objects.

    If I have to use proxies, I prefer to use the wonderful xRef.
    The xRef will give you the opportunity to load a proxy reference, offset the animation and most importantly it’ll give you the ability to see just the layers you want: think about animating a character, in this way you could see just the model with its controller, that’s it!
    Also, if you edit the original reference, it’ll be automatically reloaded and you will not lose anything, ever.

    Have you tried this method?

  • Stefannost10, thanks! Glad to be here!

  • Gasta, XRef’s are also a personal favorite of mine! They also work great for this as well, thanks for the suggestion!

  • Phill Leggett-Jones January 12, 2016 at 11:38 am

    Thanks for the great tip! It would be cool to see a tut on xRef too if anyone knows of one?


  • This is awesome! Thanks for this great tips/tutorial!
    Have to save it in the bookmarks 😉

    Good work guys

  • Great tutorial, thanks!
    Could this work for character animation as well?
    Or would that cause problems with the weights?

    The characters I animatie are often pretty high-poly. This makes the animation process overly complicated and I tend to lose control after a while.
    Animating on a low-poly proxy would be so much easier! I just haven’t figured out how to do it yet.

    • Maarten,

      This exact workflow would not be ideal for character work as they are so dependent on skinning weights and deformers and stuff. I think the workflow you’ve described is not unlike most character rig workflows. You would rig your high poly character. Get all the weights set. Then create a very low poly version of your character, maybe without any skinning to make it go even faster. That would be the mesh you’d have up while your animating. Your high resolution mesh would be hidden until rendertime. Hope this helps!

  • meh, too much work… just use the low poly as the cage for the simulation instead of all this work, and you still get high poly visuals in your viewport unless u have a potato for a computer.

  • An excellent tutorial, you add a lot to an already fantastic team of instructors. Thank you!

  • Thank you for the great tutorial.

  • Awesome tuts buddy!

    I am however getting some odd results with the skulls. Everything is fine until I put them in a cloner and it will only render the lowpoly skulls.

    Any idea what this might be?


    • Difficult to say without seeing your file. Guessing you may have run into the same issue I did with syntax or text casing. Double check what you named both your high res and low res alembic files and make sure you typed everything correctly. Hope it works for you! Thanks for the comment!

      • Thank you for your reply Chad. I’m pretty sure everything was typed correctly as it works before I put the skull in a cloner.
        I have just baked the simulation, then made the cloner editable which seems to have worked! Obviously my skull doesn’t like something in the cloner! Strange.

  • Great material Chad. Plus a nice, relaxed, & concise presentation.
    Regarding the Alembic format, I think where people may get even more use out of that is with a baked animation. For instance if the skulls jaws were animated to be chattering. I’ve seen people getting excellent performance boost by pre-animating simulations, exporting that to an animated alembic, then bringing the pre-animated asset into a master scene to add it to the composition. It’s pretty awesome when you build a library of animated assets.

    Maxon should make that alembic file swap at render time a little more intuitive. Who wants to mess with case sensitive characters, just put in a browser button… though I’m not even sure why there are two fields in each spot?

    The variation shader is truly under rated, especially when combined with the takes an material override system. We got spoiled with r17 and people are just catching on now.

    Can’t wait to see more of what you bring to the table. Peace!

    • Thanks for the great comment Ryan! I agree with you on using baked animation via Alembic. Very useful! When in doubt, bake it out! 😉

    • Thanks Ryan! I fully agree about the baking of the Alembic file! I should add an addendum to this vid to explain it.

  • Great turorial ! Many thanks !

    Maybe next you can give some tips how to use xref?

  • Thanks for doing this! I wish I watched this a long, looooong time ago.

  • THANK YOU SO MUCH ON THIS!!! You’v just saved future me!

  • Thanks Chad, you are awesome, keep doing more of these please

  • what should i do to make a chair full of skull?

  • David González Osuna January 19, 2016 at 6:49 pm

    awesome tutorials, very useful, thanks a lot!

  • Hey, I am not able to access my ‘take colour from image’ button, or anything else in that line for that matter. What might be wrong?

  • Maybe a stupid question, but as a noob in 4d… where can I get such a skull render to use?

  • hey Chad!

    Could any one help me? when I put the rigged body tag on and press play the skulls seem to bounce apart super fast and fall because of gravity? In your demonstration its seems to be smooth and the whole thing doesn’t fall. what did I do wrong how do I fix this?

    also when are you going to make another tut showing us how you lit the image? thanks again!


    • The reason your skulls are exploding (which sounds awesome btw) is that you most likely have not turned up the Follow Position and Follow Rotation values. Those two values will affect how much each skull will try to retain their position and rotation.

      In your dynamics tag: Follow Position & Follow Rotation – these values will mix between using keyframe animation and dynamics to drive your objects.

  • hey thanks for the great tut 😉

  • nice tutorial! Super usefull!
    But when i use softbody tags on the lowres file it explodes into some pretty crazy shapes. Instead of being soft 😉
    Why is that?

  • Hey Chad!

    When I use the coloner on my model the render of the high resolution stops working why is this happening? Also when I turn the cloner off it comes back to working normally.



  • Amazing!! how did i miss this!

  • 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.