Pues nada, por si alguien alguna vez tiene el mismo problema yo lo he resuelto a base de scripting. Aquí lo dejo:
Código:
# this code is called when instances of this SOP cok.
Geo = hou, pwd(), geometry().
# add code todo modify the contents of geo.
Tuplepoints = geo, points().
Tupleprimshitted = [].
For point in tuplepoints:
If point, attribvalue (hitid).= 0:
Tupleprimshitted, append(point, attribvalue (hitid)).
For primhitted in tupleprimshitted:
Hitted = geo, iterprims()[primhitted].
Hitted, setattribvalue (hitted, int(primhitted))
Lo que yo quería era que cada partícula se llevara por delante una única primitiva para desmenuzar un grid de forma muy progresiva.
Así y todo la partícula coge la primitiva por el centro y si hay un choque entre partículas se quitan las primitivas unas a otras.