Add this script to a "Batch Script" editor (F10) and execute it with Script > Run.
The script will add adds random or uniform colors to a selection of objects:
Code Block | ||
---|---|---|
| ||
# Load Python's random number generator
import random
# Define colour options and create a new empty GUI
colourModes = ["Random colours","Uniform colour"]
guiForm = GUIFormDialog.new()
# Add input fields, drop-down menus and checkboxes with defaults to the GUI
guiForm.addListField("Colour mode", colourModes, 0)
guiForm.addIntField("Red (0-255)", 255)
guiForm.addIntField("Green (0-255)", 255)
guiForm.addIntField("Blue (0-255)", 255)
guiForm.addBoolField("Activate RBD mode", False)
# If user pressed "OK" start to read out the user's input
if (guiForm.show() == GUI_DIALOG_ACCEPTED):
mode = guiForm.getFieldValue("Colour mode")
rbdActivation = guiForm.getFieldValue("Activate RBD mode")
nodeSelection = scene.getSelectedNodes()
# Assemble the RBD colour based on random values or the user's input
for entry in nodeSelection:
if (mode == 0):
red = random.randint(0, 255)
green = random.randint(0, 255)
blue = random.randint(0, 255)
if (mode == 1):
red = guiForm.getFieldValue("Red (0-255)")
green = guiForm.getFieldValue("Green (0-255)")
blue = guiForm.getFieldValue("Blue (0-255)")
# Apply the colour
colour = Vector.new(red, green, blue)
entry.setParameter("Color", colour)
# Activate the RBD feature on demand
if (rbdActivation == True):
entry.setParameter("Dynamics","Active rigid body")
# If user pressed "Cancel" print out a warning
else: scene.message(str("Script cancelled by user")) |