ShellVex
ShellVex is a scripted geometry plugin for 3ds Max that allows you to create convex geometry blocks from the polygons (or tris) of other objects in the scene. This plugin is perfect for scenarios where you need to create convex geometry to seal areas around complex models or layout. ShellVex is now bundled with Wall Worm.
ShellVex UI
Main Parameters
- Extrusion
-
This option sets the vector for extrusion of each polygon of the source geometry.
- Extrude In: The block will extrude into the surface of the polygon. Good for keeping the surface geometry (like a terrain).
- Extrude Out: The block will extrude out from the polygon. Good for hollowing out the original geometry.
- Extrusion Method
-
This setting sets the behavior of extrusions.
- Local (default): each polygon of the source geometry will create a single self-contained block from the normal of the polygon. Creates more box-like extrusions.
- Independent: the faces are moved based on the individual face normals. Creates more angled extrusions.
- Common: This option extrudes polygons based on a vector derived from the entire element.
- On Tris (default off)
-
When on, each tri face will be extruded as a block. When on, each polygon is extruded as an individual block regardless of the number of tri-faces in the polygon. Turning this option on increases the number of blocks created.
- As Int (default off)
-
This option will force the Extrusion amount to be an integer value (whole number) which can sometimes help you keep vertices on the grid (depending on the base geometry).
- Amount
-
This value controls how far each extruded block will extrude from the surface of the source polygons. The direction of this extrusion is controled by the Extrusion In/Out setting.
When Randomization is on (see next parameter) the Amount sets the minimum value in the random extrusion function.
- Random
-
When this option is on, the Max and Seed Spinners activate and each element will be a random height based on values between the Amount and Max spinners.
- Max
-
See Random (above).
- Seed
-
This sets the random seed when using Random (above).
- Source
-
The source buttons and list manage the objects to use for generating the geometry. Use the Pick Object button to add objects to the source geometry list. Buttons below allow you to hide/remove objects.
- Double Clicking an object in the list will change the current selection to that object.
- Right-Clicking an object in the list will select the object and, if applicable, set the sub-object level to 1 (for vertex selection).
- Faces By Material ID (default All)
-
This select menu controls generating blocks based on material IDs in the source objects. When any other option is selected besides All, the IDs list (below) activates.
- All: All Material IDs are used.
- Only Mat IDs Listed: only material IDs listed in the IDs field will generate blocks.
- All Except Listed Mat ID: all material IDs will generate blocks except those listed in the IDs field.
- IDs
-
This field is for entering a comma-separated listed of Material IDs to include/exclude based on the Faces By Material ID setting (above).
- Faces By Selection
-
This function limits the faces that generate blocks based on these rules:
- All: Face selection is not considered for block generation.
- Only Selected Faces: Only faces that are currently selected in the source objects will be used to generate blocks.
- Only UnSelected Faces: Only faces that are currently not selected in the source objects will be used to generate blocks.
- Topology
-
The topology group controls the topology after block generation. These settings control automatic face smoothing, edges on polygons composed of more than 3 sides and forcing vertices to snap to the grid.
- Cap Opposite End (default on)
-
When on, each block is capped to be a self-contained piece of geometry. When off, the opposite end is not generated and there is an open border.
- Force Convex Polygons (default on)
-
When on, each 4-sided polygon is retriangulated if it is concave.
Materials
The material IDs of the faces that are extrusions of a face will keep the material ID of the face from which it was derived. By default, all other faces get this material ID, but you do have the option of setting a material ID for the "sides" and "cap".
- Sides
-
When enabled, you can set the side material ID. These are the side around the extruded face.
- Cap
-
When enabled, you can set the cap material ID. This is the side opposite of the extruded face (which is only generated when the Cap Opposite End option is on).
UVW
The UVW controls allow you to set the UVW for the object. By default, the extruded face and the opposite cap derive their UVW from the original face UVW on channel 1. The sides, however, are always controled by the UVW settings. (Deriving UVs that flow from the extruded face is a future feature that may be added.)
- Force Mapping (default off)
-
When on, the extruded polygon and the capped polygon will not use the UVS of the source geometry but will use the UV settings that are used by the sides.
- Mapping Type (default Box)
-
This menu controls the mapping type used for the sides. The options match those you'd find in the UVW Map modifier.
- Channel (default 1)
-
This is the mapping channel used for the sides.
- Tiling
-
These parameters control the scale of the UVS. Larger values create higher tiling. You can set the U, V and W tiling values separately. In most circumstances, keeping them identical is best.
- Offsets
-
These values move the textures across the faces.
Stack Selection
These options set the face selection that can be useful for working with specific faces on via the modifier stack. Set the desired face selection, then add an Edit Poly modifier onto the ShellVex object. Open the Polygon sub-object level, and see that the selected faces are hilighted.
Wall Worm Connection
These settings control how the VMF exporter in Wall Worm will interpret this ShellVex geometry. These settings are only understood with the latest versions of Wall Worm.
Utilities
- Clean Geometry
-
This button will apply an instanced Turn To Poly modifier to all of the source nodes. The modifer will have the settings to force planar polygons.
- Bake Geometry and Hide
-
When pressed, a copy of this ShellVex object is created and converted to an editable poly object. That node is then tagged with whatever export flags this object has for the WW VMF Exporter, and those options are turned off in this object. This ShellVex node is then hidden.
Changelog
Version 1.25
- Optimized Sew function to run faster.
- Optimized snap verts to grid to work faster.
- Added support for some better functions available to 3ds Max 2018.2+. ShellVex gets a bigger performance boost in 3ds Max 2018.2+.
- Added new Flat Height checkbox/spinner. When on, the extruded faces will align to the world Z position specified by the Flat Height spinner.
- Added Flip Normals. This option is useful to fix normal problems for some Flat Height Settings.
- Added support for scaled/rotated source objects.
- Fixed slow opening of the modify tab when a ShellVex with many faces is selected.
Version 1.24
- Fixes bug when setting the Use Face by Material ID and no Material ID was specified.
Version 1.23
- Fixes errors with the Faces by Material ID and Faces By Selection settings.
Version 1.21
- Fixes critical bug when reloading a scene with a ShellVex node already present.
- Fixes a bug in the Force Convex Polygon function.
- Fixes a bug in the Concave Faces stack selection function.
Version 1.2
- Added new parameter Sew Outer Verts. This option will sew in the vertices of the extended sections of blocks. This creates an air-tight (sealed) volume of blocks on all sides instead of only the original surface, but comes with a performance hit.
Version 1.15
- Added new Button to Print Notices/Errors. When pressed, prints some info to the MAXScript listener if there are possible problems.
- Fixed bug that can occur when a source object has overlapping vertices in the same polygon.
- Fixed bug when using the Clean Geometry button. Now the function does not apply a new Turn To Poly modifier each time pressed. If one is present on the source geometry, none is added.
- Added the SnapVertsToGrid to the Source Geometry when pressing the Clean Geometry button and SnapVertsToGrid modifier is installed.
Version 1.1
- Added new parameter: "Capped" in the Override Original UVs group in the UI.
- Renamed parameter Override Mapping to "Extruded" in the Override Original UVs group in the UI.
- Updated the smoothing on the extruded sides. All smoothing is now removed from those faces.
Version 1.0
- Initial Release.
Latest Articles
Creating Brush Corridors and Terrain
ShellVex functions for creating ShellVex brush systems from selected objects.