renderStacks stores all its setups as xml in your scene file. If you want to reuse this setup or need to have same setup for other files, you can save the data and load in other scenes.
But, here is a challenge. As we have learned in GUID vs NAME section. When your renderStacks data is based on guid, it is highly likely the guid or node handle would not be same between scenes.
Therefore, when you save renderStacks data, you have an option to choose which data type you want to use for save. The default would be “Name”.
If you plan to load this data in other max file. Please use this option. Saving as certain type doesn’t affect your scene renderStacks data. It is safe to choose to save as name while your scene data is guid. renderStacks will temporarily auto convert data only for save.
When you rely on name for anything, you need to pay attention to duplicated name entities. When you have 2 same name objects or render elements, renderStacks can not magically figures out which one is what u want.
Only save as guid data when you need to rebuild renderStacks data for same scene.
Pass to Save
When you open Save dialog, all passes are pre-selected. If you want to save only some passes, choose the passes you want to save.
If you want to save the currently selected passes in the treeview, you can click “Get Treeview Sel” button.
This dialog shows pass name as a full name like “Bty/Front”.
If you press this button, “Save selected passes as xml file” dialog will pop up.
The default file name is renderStacks_[maxfilename].xml.
Loading renderStacks xml file is easy. Jost load it. If your Preference setting and file data ty[e is different. renderStacks will auto convert the type.
Therefore, if you want to load renderStacks as certain type, set Preference before loading the file.
- Any material and maps which used in renderStacks settings will be saved as the same name as xml file with “.mat” extension. If renderStacks finds same name(or guid) material and maps from the current scene, it will use that first. If not, it will bring from the companion .mat file. If you want to send renderStacks data to someone, make sure to send this .mat file, too.
- It will try to rebuild layer and restore layer selection in pmodifier. It will also rebuild selection set. But, it would not change layer assignment of objects. If you have used layer set or layer for object selection method, you need to make sure the layer has same set of objects.
- It would NOT restore nested layer hierarchy. Therefore, if you have used nested layer or nested layer set as object selection, you need to make sure the nested layer structure is matched for both scenes.
When you load renderStacks xml file, it replaces the entire data. It wipes out all existing passes, layer sets and all options. So, if you want to just get some of pass setup, you need to use “Merge Passes…”.
If you run this command and select renderStacks xml file, you sell see pass selection dialog. Select passes there and press “Merge Seelcted”
Merging pass data is actually very implicated process. Some pass might not even have local pmodiiers and rely on base pmodifier. You might not have needed Layer Set in the current scene. You might have the same name selection set. But, the objects in the selection set could be different. What am I trying to say? I’m saying there is a bigger chance to have an issue by using “Merge Selected…” than “Load”. So, after you merge passes, make surew to check if you get what you expected!
A few thing to know about merging pass
- If your pass was using base pmodifier, the base pmodifier from the current scene will be used for that pass. If the current scene doesn’t have the base pmodifier because it doesn’t have the pmodifier type, it will create the base pmodifier using the xml file’s base pmodifier data.
- If your pmodifier has more parameters than the scene one, those parameters will be added to all pmodifiers vice versa.
Reset re-initialize renderStacks data. If you have set a startup file, the startup file will be loaded.
It removes all renderStacks data from the scene and close the renderStacks dialog.