No es que este buscando ningún efecto en particular. Como ya mencioné, estoy testeando al azar e intentando entender porque ocurren las cosas. Cuando sale bien, ¿ porque ?. Y cuando sale mal ¿ Porque ?. Pero si con un ejemplo consigo explicarme mejor ... pues podemos decir que:
Quiero que una pelota (o particula de X tamaño) pase a traves de un GRID con mucha densidad de vertices, y al hacerlo, modifique el WEIGHT MAP. Ya sea añadiendo un incremento o un valor concreto. Modificandolo, vamos.
No es que quiera hacer nada con el weight map concreto. Pero quiero que lo modifique.
Antes lo he logrado hacerlo siguiendo un tutorial, pero sin quedarme claro como va. Por lo que me ha parecido entender, lo que hacia era generar previamente una variable SCALAR PER POINT (grid.Patata), en donde almacenas el incremento que quieres meter al WEIGHT MAP. Después, en el siguiente puerto del ice_tree, hace un GET de dicha variable y se la aplica al WEIGHT MAP.
Parece que hacerlo directamente, no cuela. Tienes que usar esa variable de intermediario por alguna razón que no entiendo.
Podría ser algo parecido a lo que comenta Cesar. Aun que me sigue confundiendo el tema.
No se si el problema esta en que al intentar hacer un SET sobre un WEIGHT MAP, me dice que el execute es un EXECUTE PER OBJECT. Si eso intento enlazarlo en algún a rama que sea EXECUTE PER POINT. Me dice que no.
El archivo de pruebas que estoy haciendo, lo voy improvisando sobre la marcha. Lo que empezó siendo un simple surtidor, se ha convertido en esto ...
Es un emisor de particulas de distintos tamaños.
Estos caen sobre un grid.
Al impactar, dichas particulas se eliminan.
Antes de hacerlo. Dejan un mancha en el COLOR del grid (que ahora no se ve, pero esta ahí).
También toca el WEIGHT MAP. Pone el peso de los vertices tocados a 1. (<- Pero esta aprte es la que funciona sin saber muy bien porque.)
Al mismo tiempo, hacen un pequeño agujero, dependiendo del tamaño de la partícula que lo genera.
Algunos de los problemas curiosos que me he encontrado, ha estado por ejemplo. Al calcular la colisión de las partículas con el gid. Ya que no todas las partículas son igual de grandes.
Si el al CUTOFF DISTANCE del GET CLOSEST LOCATION le ponía un valor muy bajo. Algunas partículas gordas impactaban con el grid y morían, antes de que el propio grid se diera cuenta. Asi que no reacciónaba a la colisión. Si le ponía un valor muy alto, ademas del coste en calculos, me encontraba que las partículas mas pequeñas dejaban "rayas" sobre el grid. Pues estas eran detectadas por el grid, mucho antes de tocarlo morir.
Asi que la solución fue, enlazar el CUTOFF DISTANCE con el tamaño de cada partícula. Lo bueno es que funciona. Lo malo es que para hacerlo, tengo que usar otro GET CLOSEST LOCATION.
Es decir. Si no lo he entendido mal, con el GET CLOSEST LOCATION original, funcionaria. Pero el problema es que el GET SIZE necesita de un SOURCE. Y la unica forma que he encontrado de darle ese SOURCE es con otro GET CLOSEST LOCATION.
Es una solución muy absurda. Lo se XD. Pero aun así no me preocupa arreglarlo. Me gustaría saber porque me tiene que resultar tan complicado obtener el tamaño de las partículas. ¿ Hay alguna forma mas limpia de obtener ese SOURCE ?
PD: De momento no pongo el resto del ice_tree porque esta muuuy guarro y caótico. En cuando lo arregle un poco, ya lo subiré.