ShellVex pluginShellVex 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 UI

Main Parameters


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).


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.


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.


See Random (above).


This sets the random seed when using Random (above).


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.

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.

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.


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".


When enabled, you can set the side material ID. These are the side around the extruded face.


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).


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.


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.


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.


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.