Adverti horiz upsell

spPaint3d 1.1.1 for Maya (maya script)

Object placement tool (raycast geometry instancer)

Button download


  • 2011, 2010, 2009, 2008

Operating Systems

  • Linux
  • Mac
  • Windows


Last Modified:05/29/2010
File Size: 188 KB



spPaint3d is a raycast based object placement tool.
Unlike geometryPaint, it doesn't use any UVs or a spacial grid to control the position of the placement of newly created objects.

Note: if you were able to work around geometryPaint workflow/limitations, you probably won't have any benefit from using this script.

This script is based on a python function to access the API, thus you'll need Maya 2008 and up.
Make sure your PYTHONPATH environment variable is configured properly, or the python module may not initialize correctly.

I only tested it on a windows based Maya 2009 (both 32 and 64bits), but there's no reason it shouldn't work with 2008.
Also, this script is platform agnostic and it should run properly on Windows, Mac and Linux alike. However I am unable to test anything on both Mac and Linux, let me know if something is not working properly.

Maya 2011 Note: Qt changed a lot of stuff, and without too much surprise a lot of things are currently broken (vanilla 2011 pre-service pack). A few features are sort of broken because of this, place mode is the most affected, but things should work, kind of.


  • Close Maya.
  • If applicable, delete the files from an earlier spPaint3d version (both .py and .pyc files of this script may need to be removed).
  • Unzip the script in the appropriate user Maya folder.
  • Make sure the script files go to the script folder, the icons should go to the prefs/icons folder.
    The help folder is not used at runtime and can be anywhere, if there at all.
  • Make sure the PYTHONPATH environment variable is set properly in the maya.env file or the script may not run properly. Maya 2008 has been reported to have a faulty default path for python.
  • Restart Maya.
  • Execute the script by typing "spPaint3d" in the MEL script editor command line.
  • For future use, the same command can be put into a shelf as is.

How To:

Add sample objects to this list. The script only accept polygon objects and locators added to this list.
If the script doesn't allow your object to be added, chance is the script can't compute some data about it (ie: complex hierarchy, or multiple out-connections messing with finding the proper shape to the object).

Add target surfaces to this list (the objects onto which you want to duplicate objects). The script only accept polygon objects in this list.

Use these option fields to setup the various boundaries for the random ranges used for the transforms while creating new objects. These can be modified and toggled on/off at any time during the script execution.

Here are some toggles and options used to configure the behavior of the script:
  • duplicate / instance toggle
  • random / sequential object distribution (Note: in the sequence mode, the objects are sorted internally and they may not be distributed in the same order as they appear in the list box)
  • align on surface toggle
  • paint button
  • place button (will create only one object)

Here are some toggles and options used to configure the behavior of the script:
  • distance threshold / timer
  • up offset objects will be moved from the surface
  • RampFX option menu (see readme)
  • Jitter toggle and distance options; objects will be randomly spread on the tangent grid at the intersection point

See spPaint3d_ReadMe.html for some more informations.

Please use the Bug System to report any bugs.
Please use the Feature Requests to give me ideas.
Please use the Support Forum if you have any questions or problems.
Please rate and review in the Review section.

People who favorited this item:

  • Vojtech Lacina
    Vojtech Lacina
  • laser wilson
    laser wilson
  • tony williams
    tony williams
  • rygoody
  • zexell
  • sepu
  • lionel i
    lionel i
  • shiryuta