Cinema 4D Tutorial – Creating Proxies using Instances

Cinema 4D Tutorial – Creating Proxies using Instances

If you ever wanted to work with high and low resolution models in Cinema4D then this tip should come in handy.

Using the Instance Object combined with a simple Xpresso setup, this shows you how to create an object that allows you to work with a low polygon model and then swap this out for a high polygon version whenever you need to render or preview the final result.

This technique will keep your workflow streamlined, and allow you to perform tasks such as dynamics simulation and caching without the overhead of polygon heavy scenes. Once the caching is complete, you can switch out the object for the detailed version and render away.

Once created, this simple object will become a vital part of your Cinema4D library. You’ll never know how you worked without it!

Kudos to Kai Pederson who originally showed me this trick.

For more in depth and detailed tutorials, check out the Learn Dynamics for Cinema4D training collection. Over 10 hours of intensive training for working with Cinema4D and Dynamics. Available to purchase online here


Cinema 4D Tutorial – Creating Proxies using Instances

Author: Tim

20 Comments

  1. SCHOKOMILX
    SCHOKOMILX On May 10, 2011 at 6:09 AM

    what a perfect, simple and powerfull solution: very cool

  2. […] LINK Comments RSS Feed   Both comments and trackbacks are currently closed   Share on Twitter   Share on Facebook […]

  3. Terry
    Terry On May 10, 2011 at 5:45 PM

    Hello Tim sorry if this is not the right place to ask, but i wonder what is the name of the font you use for the intro titles in your Dynamics training course, it looks freaking amazing.

    • Tim
      Tim On May 10, 2011 at 8:59 PM

      No problem at all to ask. The font is called Morgan Sans. Available from Village. I love this font too.

  4. originideas
    originideas On May 19, 2011 at 8:09 PM

    sweet! it’s the right timing that i’m facing such project, thanks!!

  5. nickyc
    nickyc On June 8, 2011 at 1:35 AM

    Nice one, love the workaround, keep them quicktips coming:D

  6. rich
    rich On June 14, 2011 at 1:01 PM

    Great tip. Gonna be using that all the time.

    Just finished watching your nab presentation on cineversity. Very cool stuff. The bits where you belted the lens’s and the tank body to the cloth was awesome. Never knew you could do that

  7. Zeyd
    Zeyd On August 27, 2011 at 11:59 PM

    Thanks for this! All time savers welcome with my weak setup 🙂

  8. joshj
    joshj On October 17, 2011 at 11:40 PM

    Amazing. I’ve got one problem i’m running into with it : /

    I’m using 6 different objects duplicated 2-300 times and placed manually to spell out a word. Each time i duplicate one of my main 6 Instance Objects the Xpresso/Switch obviously breaks.

    How could i build this so that the Instances are easily duplicatable and maintain the switch properties? Ideally I’d be able to resize/scale the instances as well but thats not a big deal.

    R12 Project File: http://dl.dropbox.com/u/5983499/Projects/forums/InstanceObject-Proxy.zip

    Thanks Tim. (and for great FXPHD lessons!)

    • Tim
      Tim On October 18, 2011 at 10:02 AM

      Josh, the Xpresso shouldn’t break. I’m not sure how it breaks for you, but I guess you mean it loses the link to the instance object? Make sure the Object Node is using an Absolute Reference (it should also say this object), you can then duplicate it as many times as you like. This is going to be a bit of a long winded method when you have hundreds.. I’d create 6 setups(probably on a null with 12 link fields, one for high and one for low), for each of your instances, and then use an Object List iteration node in the Xpresso, then you can drop each object into the list and iterate through them. This means one switch for each instance type, so 6 switches in all, or you could easily link them to one switch. It depends on whether you want to switch them all at once or not though?

      By the way you can easily scale an instance, just use the Object tool, not the Model tool, or type it into the attribute manager coordinates tab.

  9. joshj
    joshj On October 18, 2011 at 10:13 AM

    Appreciate teh help. I’ll certainly look into Object List iteration node as an option.

    I found out that it maintained the connections if click the instance object and then make an instance of that instance by clicking “instance” again (versus option-dragging it in the object viewer). When i did the latter (option-drag) the Xpresso broke.

    Thanks again, always a pleasure learning from your site & fxphd. keep at it.

  10. Tim
    Tim On October 18, 2011 at 10:22 AM

    But then you’re creating an instance of the instance, and if you keep doing that it will lead to trouble! You’ll end up with lots of instances all linked to other instances rather than the original object..

    Control drag works for me and doesn’t break the Xpresso. When you say it breaks the Xpresso, what actually breaks?

  11. joshj
    joshj On October 18, 2011 at 10:55 AM

    Hmmm, good point. If i erase one then the link falls apart! Any other issues i should be considering?

    Checking again you’re right it does work. Where it breaks is if i CTRL-DRAG my original Instance that links to the desired object. Making sure that i only Duplicate an object that is referencing my first Instance works fine. I’ve stripped the project down and labelled examples in my project file (R12).

    http://dl.dropbox.com/u/5983499/Projects/forums/Instance-XpressoProblem.zip

    thanks Tim!

  12. jan
    jan On August 8, 2012 at 7:49 PM

    very cool!
    thanks

  13. MAF
    MAF On January 23, 2013 at 10:25 PM

    Hi Tim,
    I am new to DYNAMICS and EXPRESSO. This tip saves me a huge amount of time, it is brilliant! Thanks a lot! Next step is purchasing your tutorial package.
    I work with a lot of trussing and detailed lighting fixtures. With your explanation there is now no limit to the amount of fixtures and trussing i add to my concert designs. In an above post you mention having one switch to switch all of them at the same time. Is there any way you can elaborate on that or possibly post an example on how that would work. Much obliged and again, thank you so much!
    Michael

    • Tim
      Tim On January 24, 2013 at 9:09 AM

      Hey MAF

      You need to create a user data checkbox on one object and then link this to all the switches in the other Xpresso controlling your proxies. So this one checkbox switches all the proxies, rather than having a checkbox on each object.

      Hope that helps?

  14. Dave
    Dave On March 15, 2013 at 11:41 PM

    Fantastic tutorial. Can’t thank you enough! No more bogging down when trying to tweak the Dynamics settings. Hooray 🙂

  15. […] users have developed fantastic workflows for performing the geometry swap. Over at helloluxx.com, Tim Clapham details how the instance object can be used to easily substitute proxy geo for render […]

  16. Kevin
    Kevin On September 11, 2014 at 12:19 AM

    I too am having trouble navigating a scene with multiple instances. Let’s say I have a cloner containing 4 objects, filling a volume with a count of 1500. I want a low-res group of objects for MoDynamics simulation, and then I want to swap in a hi-res group at render time. My brain can’t handle where in the set up the Object List belongs. I get the essential idea, but can’t make it work.

    • admin
      admin On September 11, 2014 at 10:46 AM

      @Kevin One approach is to place the switch user data on a null and then use this null in the Xpresso. You can then copy the Xpresso to any instance object. What this means is ALL of the instances will reference one single switch, so when you check the box to switch the proxy it will affect all instances.

      Another approach is to use an Object List Node, you add all the instances to this list. Simply create the same setup, but add in the Object List, then output from the object list the Object port, and input this into the Instance Node Object input port. This means you only need one Xpresso setup to control all the objects in the list, you have to remember to populate the list each time you create a new instance.

Leave a Reply