The Visgroup Manager added to WW 3.844 is a tool to allow you to arbitrarily show/hide objects in a manner reminiscent of the Visgroups in Hammer. Visgroups are in some ways similar to layers in Max, but they are not the same thing. Like layers, visgroups allow organizing the scene. Unlike layers where objects can only be a member of a single layer, with visgroups objects can be assgined to any number of visgroups.
The initial version of the Visgroup Manager is detailed below.
To launch the Visgroup Manager, click Wall Worm > Wall Worm Utilities > Visgroup Manager. You can dock the manager if desired, but at this time it has a large fixed width.
You can create visgroups from any selection of objects at any time. To create a new visgroup, simply select a set of objects in the scene and click the New button in the Visgroup Manager. There are also some macros you can bind to keyboard shortcuts or buttons which you can find in the wallworm.com category of the Customize > Customize User Interface floater.
Visgroup Macros (wallworm.com category)
- Create Visgroup of Selection: This macro will create a new visgroup and assign currently selected objects to it. Visgroup name will be "Visgroup###".
- Create Visgroup of Selection and Hide: This macro is similar to Quick Hide in Hammer. It will generate a visgroup of the selection and immediately hide it. This Visgroup will be auto-named "Quick Hide###".
- Quick Hide Selected WWMT and all their parts: This macro will create a visgroup of selected WWMT Helpers and hide it. Included will be any object in the scene that belongs to that WWMT Helper such as collision hull, LODS, etc. This Visgroup will be auto-named "Quick Hide WWMT###".
When you create a new visgroup, it will have a default name that is determined by the method the visgroup was created. If using the macros above, the names will be "Visgroup###", "Quick Hide###" or "Quick Hide WWMT###" based on the macro. If you create a new Visgroup in the Visgroup Manager, the new Visgroup will be named:
- If no visgroup is currently selected, WallWormVisgroup###.
- If a visgroup is currently selected in the Visgroup manager, it will be named based off of the selected visgroup name with numbers at the end--such a visgroup will also automatically be assigned as a child of the selected visgroup.
Visgroup hierarchy is determined by the actual hierarchy of visgroups in the scene (as Visgroups are stored as actual nodes in a special hidden layer called Visgroup Control Layer that is a child layer of the WallWormUtilityLayer).
To change hierarchy in the Visgroup Manager you must select the layer that you want to move up/down in the hierarchy of Visgroups.
- Change Parent: Choose the parent from the Set as Child Of... drop down list.
- Move to Root: Double-Click the visgroup in the list.
In Wall Worm, visgroups have more settings than just visible/hidden. Instead, they have several extra settings to help manage the scene.
- Inherit Parent Vis
When on, this visgroup's nodes will change visible/hidden state whenever the Visible state of an unbroken chain of ancestor visgroups is changed. For example, if the parent visgroup turns off the Visible setting, the object's in this visgroup will become hidden. The chain will not continue when one of the nodes has this option turned off.
When this setting is changed, the nodes belonging to the visgroup will either become visible or invisible based on the setting. ALso, any child visgroups that have Inherit Parent Vis will have their nodes (and further matching child visgroups' nodes) match this visible setting.
- Export Option
This setting will enforce the exported VMF to set the objects in the visgroups to the visibility state defined by this rule. This allows teams to enforece object visibility in the VMF for Hammer usage independent of the current state inside Max.
- Object Visibility (default): this option will keep each object's visibility in the VMF based on the actual visibility of each object.
- Always Export Visible: this option will force any objects in the visgroup to be visible in the VMF.
- Always Export Hidden: this option will force any objects in the visgroup to be hidden in the VMF.
- Because objects can be members of multiple visgroups, there are rules for how the visibility option is determined: If an object is any layer that is set to Always Export Visible, that object will be visible; else if an object is found in any visgroup set to Always Export Hidden, then it will be hidden; else the object will be the current object's visibility.
This field is simply to describe the purpose of the Visgroup.
- Preset Tags
Preset Tags are simply arbirary tags that you can apply to visgroups. These tags can then be used to hide/unhide visgroups by their tags (see the Tags section of the Visgroup Manager).
- Scene Nodes
This is a list of nodes belonging to the visgroup. If there are less than 20 nodes in the visgroup, the list will get sorted alphabetically each time the visgroup is loaded into the Visgroup Manager UI. If it has more, you need to manually sort the list with the Sort button if you want to see the nodes listed alphabetically. Click the Select All to select all the nodes in the visgroup.
Creates a new Visgroup from the current scene selection. If another visgoupr is already selected in the manager, the new visgroup will become a child of that visgroup with a name based off the current visgroup, and the new visgroup will become the current selection in the manager.
- Refresh Visgroups
Press this button to update the visgroup list. You might do this because you have created new visgroups with a keyboard shortcut and the new visgroups aren't yet listed in the manager.
- Add Selection to Visgroup
Adds the current scene selection from the currently selected visgroup.
- Remove Sel
Removes any objects in current scene selection from the currently selected visgroup.
- Update Visibility on Checked
When on, checking/unchecking visgroups in the list will show/hide them immediately in the viewport.
- Set as Child Of...
When an item in the dropdown is selected, the currently selected visgroup will become a child of the selected visgroup.
Act on Checked Visgroup
This list of functions is useful for selecting or deselecting objects based on visgroups. Note that the Hide/Show functions are already automated when the Update Visibility on Checked is turned on.
- Show/Hide: Press these buttons to show/hide objects based on their checked state.
- Select/Deselect: Use these buttons to select/deselect nodes based on the visgroup checked in the list.
This section will list all the tags that are included in the object in the visgroups. It will allow you to check/uncheck all the visgroups based on matching tags.
Some functions will automatically generate tags. For example, the macros listed above will always give tags like the current date (like 2018-10-12), Quick Hide, etc.
There are several tools in Wall Worm that will automatically generate visgroups. Those tools include:
- VMF Importer
- QC Importer
- Convert Scene to Model
- User Visgroup
By default these functions will create visgroups to let you know what has been imported into the scene, etc. Also, these auto tags will often include the date.
For more traditional "Auto Visgroup" functions like in Hammer, use the Auto Visgroups and Display Manager rollout above the Visgroup Manager.
The User Visgroup
The User Visgroup is a visgroup that is not turned on by default. Two different global settings must be set in order for this visgroup to take effect. When on, each object added to the scene will be added to a visgroup that is unique to the name of the user working in Max. This is helpful when working in teams and allows the team to sort objects based on who created the object.
To turn this function on:
- Click Wall Worm > Wall Worm Settings.
- Turn on Auto Visgroup User in the Level Design Tab.
- Enter a name (generally your actual full name) in the Name field of the Miscellaneous Tab.
Some users have reported that the automatic user visgroup function requires a Max restart to take full effect.
At time when you import a VMF, the Visgroups will come into the Max scene as both Visgroups and as Layers.
Unfortunately, visgroups are not used in the VMF Exporter. The VMF Exporter currently exports layer organization as visgroups and ignores the visgroup system in Max.