EZModular Offset

by Seamless Modular Offset in Scripts and Addons

EZModular Offset is a simple modeling Add-on for Blender. It facilitates the creation of seamlessly tile-able assets, which can be used for example in modular kits. 

This short animation shows a simple example of how EZModular Offset is used. First, the object is offset by 1 unit in the +Y direction, wrapping seamlessly across the -Y boundary. This allows boundary-crossing details to be modeled.  The object is offset again by the same amount, returning it to its original configuration with the new boundary geometry added. The model can now be seamlessly repeated. 

 This workflow is familiar to artists who use 2d image editing software to create tiling textures. Applying this simple concept to 3d assets makes modular assets drastically easier to create.  It is much easier to demonstrate than it is to describe, so please check out my video documentation for more info. 

Current Limitations: 

- XY tiling only (Workaround: rotate and combine tiles - see my image gallery for examples)

-Tile size is fixed at 2x2x2BU  (Workaround: scale the asset after it's completed or create a composite tile)

-Tile origin must be 0,0,0 (Workaround: translate the asset after it's completed)

-Blender must be set to use Blender Units for scale 

I will continue to develop and expand this program, addressing these limitations is my first priority for a future update.


1. Copy  object_ezmodularoffset.py to the ...\scripts\addons folder in Blender's home directory

2. Open Blender and enable the addon in Blender's Addon Manager (file>user preferences>addons)

While in Object Mode, Blender's Tool panel (shortcut 'T') will now show the Offset interface

Basic instructions:

1. Select a model in Object mode.

2. Press the Offset button and enter the desired Offset distance in Blender Units

The model will be offset and wrapped around within the Tile Volume.

Other Functions:

  • New Tile: Adds a 1-tile plane with origin at 0,0,0 
  • Slice Boundary: Creates edge loops at the XYZ boundaries of the tile volume
  • Delete Out-of-Bounds: Deletes any vertices which are outside the tile volume (XY only)


-It can be helpful to visualize the tile volume by adding a default cube, setting it's max draw type to wireframe, and making it unselectable. Its position should be (xyz)0,0,1 to align with the tile volume.

-The tile volume is a 2x2x2 cube with the "ground plane" being Z=0. This can't be changed currently

-Models must have their transforms applied and their origin at 0,0,0 in order to be offset. One use for the 'New Tile' button is to quickly create valid transforms; other geometry can then be joined with the New Tile plane (ctrl-J) to ensure it will offset properly. If the Join operation distorts the model, its tranforms aren't applied properly. The New Tile plane can then be deleted if necessary.

 -Models can extend out of the tile volume in the +- Z directions. An edge loop will be added at the +-Z boundaries, so the user can manually delete out-of-bounds geometry if that's desired. Geometry which is out of bounds in the XY directions will be culled as part of the offset process.


Feel free to contact me at [email protected] with support issues, or through Blender Market.

No FAQ's found for this product.

    No ratings have been submitted yet.

Purchase this item to leave a review!