spPaint3d 1.1.1 for Maya (maya script)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Operating Systems

History

Keywords

Social Actions

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.

Installation:

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