This tool was intended to isolate selected objects layer at first but then I like, why not? Thus I extend it to mimic great isolation level tool by Andreas Meissner, to selection sets, to scene states, by layer, hide/unhide by category, by instance object, instance material, instance modifier and by name. This tool does not use macro, which is not my preference for they are wasting UI space while not in use.
What this script do:
- Isolation level. I didnt test more than like 14 levels, but probably will work with any number of levels.
- Isolate selection sets. Cycle through selection sets. You can add New or remove current selection sets or add selected nodes to selection sets. Watch at the end of video for how to.
- Isolate by Scene States. Cycle through Scene States. You can add New or remove current Scene States.
Note: You can always use Shift+Click to get back to original scene state when working with those methods above. In Isolation Level will delete all saved levels though, so take precaution.
- Isolate by selected node(s) layers.
Note: When selected nodes only has 1 layer, that layer will be set as current layer and reverted back at the end of isolation.
Work in old Layer Manager and new Layer Explorer with multi sub layers (tested with 2013/2015/2018).
- Isolate by category. Provide easy access to max display panel hide/unhide node classes, plus Xref scenes and Forest_pro/Railclone objects.
- Isolate by instance node(s). Will isolate selected node(s) instances.
- Isolate by instance materials. If material editor is open and type is compact material editor will isolate nodes based on selected material slot in editor (only one material selected is possible). In slate material editor, will isolate nodes based on any (single or multiple) material selected in editor.
If material editor is closed, will isolate nodes which has same material applied with selected node(s).
- Isolate by instance modifiers. Will isolate all object that shared one or more instance modifiers with selected node(s)
- Isolate by object name. Use string in combination with asterisk (*) or question mark (?). Some examples (use without quotes):
-. “box*” will isolate nodes: Box001, Boxes, boxy, etc.
-. “box*2” will isolate nodes: Box002, Boxes2, boxy12, etc.
-. “box?2” will isolate nodes: Box02, Boxs2, box12, etc.
Closing the script will reset all isolation state and return to scene original state.
This script doesn’t have header but you can drag it around by clicking and hold left mouse button inside UI’s blank space. As you might probably know, I tend to save space as much as I can, so if its too small and hard to grab, comment and let me know.
Note1: This script does nothing to 3dsmax native isolate tool. Isolate tool is still available at all levels/methods.
Another note: This script use Scene States intensively to save a temporary state. If somehow the script throw an error, there might be scene states left with name “rBIsolate*”. It is safe to remove it. Other than that, this tool does not leave anything in scene.
More note: Bugs expected. Comment/suggestions are welcome.
Update v.0.0.4 – 211209
- Move close and help to rightclick menu IsoLay
- Added a switch for keep objects selection (rightclick menu New iso level). If active, will always keep selected object, otherwise will select visible objects and does zoom selected when doing isolation
- fix level Button disable after cancelling new sets
- added dropdownlist for named selection and scenesets
- Drag and drop or run
- Watch video below