Hola a todos.
Bueno, estoy con muchísimo trabajo, y escribiendo muchísimo Python para el mismo.
Me encontré con que un retocador me pidió una mascara de ID en color, como en max. Como nativamente no encontré algo que lo saque automaticament hice un pequeño generador de un nodo que soluciona el problema.
Esto es re simple, pero creo que puede servir mucho.
"""
Seleccionar un objeto que tenga un nodo cycles y correr.
"""
import bpy
import random
ACTOBJ=bpy.context.active_object
ACTMAT=ACTOBJ.material_slots[bpy.context.object.active_material_index].material
NODE=ACTMAT.node_tree.nodes.new(type="VALTORGB", group=None)
COLORS=30
CHUNK=1/COLORS
I=0
for ELEMENT in range(COLORS):
NODE.color_ramp.interpolation="CONSTANT"
ELEMENTO=NODE.color_ramp.elements.new(I)
ELEMENTO.color=(random.uniform(0,1),random.uniform(0,1),random.uniform(0,1),1)
I+=CHUNK
---------------------------------------
Si seleccionan un objeto que tenga en el slot de materiales activos un material de cycles, corriendo el script se generará automáticamente un nodo de ramp con muchos colores aleatoriamente.
Solo conecten este material a un emission a la salida y a un random object a la entrada.
Para hacer este proceso no destructivo yo uso el Oscurart Tools, y saco un pass.
Si dos colores quedan overlapeados pueden generan otro nodo para reemplazar.