XRef's

XRef icon  With the R10.5 release, MAXON has made a whole lot of customers very happy with the inclusion of External References usually referred to in 3D and CAD programs as XRef's. These had been asked for, for quite some time and are seen as an essential item for professionals working in collaboration with others. They are also pretty handy for individual users as well.

XRef's - What are they?

An XRef can be seen as a kind of instances function that will work over multiple scenes. You make a master scene and in this scene you can use the XRef object to load in objects from a saved scene e.g. you have made a chair object and that file is stored on your hard disk. You then begin a new project and you want to add the chair you had made earlier. With earlier versions of CINEMA 4D there was no other option than to merge the chair into your current working scene. Now with the XRef object that will change things. You just add a XRef Object and tell the XRef object where to find the Chair scene on your hard disk.

XRef object

XRef object in Object Manager

XRef Reference scene

XRef parameters - Path to chair scene file

The position, scale and rotation of objects from the reference scenes will be assumed exactly when placed into the master scene. Once an object has been placed into the master scene it can be animated just like any other object. The referenced objects will behave as if they were an actual child object of the XRef object. Thus, Xref objects behave like a normal object, XRef objects can be deformed by deformers and can be affected by generators (for example by MoGraph e.g. cloner and effectors). So the idea is that individual objects and scenes can all be brought together into one master scene for rendering, animating etc. If someone else is working on the project and save their scene any other scene with an XREf referencing this other scene will be updated accordingly. The referenced scene is not aware of the master scene. So keep in mind that if ,for example,you have an Look at camera expression in the reference scene and you create an XRef in the master scene, the Look at camera expression will not work.

Directory / Folder Structure

The best way of working with XRef files is to keep the master file and the reference files in the same directory. This to avoid problems (e.g with textures) in the linked fields. This can be a network drive.

XRef folder structure

XRef folder structure

Editing the reference scene

If you need to edit your reference object / scene then you can click on the Edit Scene button and the XRef controls will open the correct scene. (In our example the scene with the Chair.) Now you can edit the chair scene file and save and close it. Once back in the master scene, just click the Reload Scene button and the chair will be updated. Or just turn the XRef object off and on in the Object Manager and the XRef object will be updated.

Editing reference scene

Editing reference scene / object

You can tell whether the reference scene is open on your computer or someone else's computer by the status window as shown in the image.

Reference scene open

Reference scene is open

When you are working with more designers on a project using XRef's is a must. You can concentrate on the master scene and an other designer can change a part of a model and/or add objects. After they have saved their file, the master scene file will be updated accordingly. Up until now some people had said that they couldn't use CINEMA in their production pipeline because of the absence of XRef's. So having XRef's now in Release 10.5 ticks yet another box in the "Reasons to take C4D seriously" debate.

In the object tab of the Attributes Manager you will find a list of all the objects that are in the reference file. You can disable one or more objects by clicking on the check mark. It will change into a red cross and it will disappear from the viewport and will not render. If the object or objects in the reference file has its visibility dots set to red so that it is invisible in the viewport and when rendering, you can override this in the master scene file. When the check marks are bold this indicates that the setting will override whatever the setting is in the reference scene for that object. Your colleague could be working on the object and making it invisible. You don't want the object to suddenly become invisible while you work on it.

Controlling object visibility from reference scene

Controlling object visibility from reference scene

The image above shows objects to include. You can also change the mode to objects to exclude.

XRef's are pretty flexible and can be used as target objects, instances for example and then naturally XPresso. You can even control the parameters of the objects even though are in another scene. See in the image below that I'm controlling the radius of the sphere via XPresso. Very slick!!

XRef's can be used freely

XRef's can be used freely in scenes

About the only thing you won't really want to use XRef's for is Character Animation. You can't successfully use a rigged character from another scene file in your master scene file. This is a case of merging the scenes.

Take Animation from reference scene

If the reference scene has animation you have the option to use the animation. It is just a matter of clicking on the Take Animation button. When you do this the XRef object or objects will be animated. You have the option to alter the start time of the animation by adjusting the Scene Time parameter. If you don't click this then the object will not be animated. You then of course can animate the XRef object itself in the master scene. Note that when you take the animation from the reference scene you only get one master XREf time track in the timeline not position, scale, rotation etc and the track on has a first keyframe and last keyframe. There is very little that you can do in timeline with the time track apart from altering the frame numbers of these 2 keyframes and changing their interpolation from the default linear to step. XRef time tracks don't have F-Curves.

XRef Take animation

Using animation from reference scene

Materials on reference objects

Materials will be imported if you put materials on the Reference object. They will show up in the XRef M tab.

XRef materials

XRef materials

Reference scene materials are reusable in the master scene. You can drag the materials from here to a new/other object in the master scene. This functionality lets materials be detached from the master scene and be edited by other designers/artists via a material reference scene. You also can drag the material from this field to the material manager to make an independent copy of the material and will no longer be affected by changes in the reference scene.

        XRef Materials can be copied to regular objects

XRef Materials can be copied to regular objects

XRef Info Tab

On the Xref Info tab you will find some non editable information about the reference scene.

XRef info tab

XRef Info tab

Convert Object Selection To XRef

Convert Xref to selection icon  When you have a big scene and you want to extract some objects from this scene to a separate file or reference file, you will use the Convert Object Selection To XRef command. It is accessible from the Object Manager right click menu or from the Object / Scene menu.

Convert materials selections to XRef.

XRef Convert to material icon  The documentation describes the Convert Materials Selections to XRef command "is to divide selected materials in the Material Manager into XRef objects with separate reference files. If these materials were assigned to objects the texture tag will subsequently be linked to the XRef objects' materials. This command is accessible from the Object / Scene menu.. This lets you establish a clear separation between objects and materials. This is useful when one artist is editing textures while others are modeling and animating and prevents one's work from interfering with the work of another." What all this means is that a material or materials can saved to their own c4d scene file and can be used like an XRef reference object except of course that they are a material. When you create an XRef object and load in the c4d file all you get is the material. This can be dragged and dropped on to objects and or into the Material Manager. Like objects you can click on the Edit Scene button to open the scene containing the reference material and you can edit it.

XRef's and MoGraph

As I mentioned above you can use the XRef object with MoGraph. Just put the XRef object as child of a cloner object and you get instant clones of the XRef object just like using any other object as a child object of a cloner object. And to prove it works, here is the Object Manager and the result in the viewport.

XRef with a MoGraph cloner

XRef object duplicated with a MoGraph cloner object

XRef with MoGraph cloner viewport

XRef with MoGraph cloner in viewport

Conclusion

XRef's are great. We should have had XRef's years ago. This will be a huge time saver and it will make working on large scenes or with a lot of designers at the same project much more comfortable and quicker. Forget the Merge option and welcome to the XRef object.

One thing that I would love to have seen is that the XRef object would be accessible via the Scene Object quick access menu on the main toolbar. Currently the XRef object is only accessible via Objects->Scene->Xref. You can of course modify the menus and toolbars but such an important object should be easier to select and use by default. Here is what I mean where I have added the XRef object to the Scene Object main toolbar palette. This is easy for experienced CINEMA 4D users to do but modifying these folding palettes is probably a bit tricky for beginners.

XRef object added to scene object toolbar

XRef Object manually added to scene object palette

If you would like to see how to add the XRef object as a toolbar button and to the scene object palette, 3DKiwi has put together a short video tutorial on how to do it. Click here to go C4D Cafe's download section and the download page for this mini tutorial. 4.7mb zip file.