Problema find target

Nessito - 21/11/2007 15:14
A ver, porque esto ya es que me saca de quicio. Se supone que, si le clavas un find target a un emisor Particle Flow y le pones el is less than a 0 peloto, las partículas nunca deberían salir del evento que contiene al find target. Hasta ahí de acuerdo, pero se supone que el find target debería controlar las partículas para que estuvieran siempre buscando el target, como una nube de moscas alrededor de la.

Pues no.

Por algún motivo que no comprendo, cuando han hecho un par de intentos de llegar al target y no lo alcanzan, simplemente se alejan más y más y más.

Alguien podría explicarme cómo se supone que debería ser esto?
Barduk - 21/11/2007 16:09

A ver, porque esto ya es que me saca de quicio. Se supone que, si le clavas un find target a un emisor Particle Flow y le pones el is less than a 0 peloto, las partículas nunca deberían salir del evento que contiene al find target. Hasta ahí de acuerdo, pero se supone que el find target debería controlar las partículas para que estuvieran siempre buscando el target, como una nube de moscas alrededor de la.

Pues no.

Por algún motivo que no comprendo, cuando han hecho un par de intentos de llegar al target y no lo alcanzan, simplemente se alejan más y más y más.

Alguien podría explicarme cómo se supone que debería ser esto?

-tienes que ponerle un operador velocidad y bajarla a 0 creo, así no se van más, allá.
Nessito - 21/11/2007 18:04
No. Se supone que el find target controla la velocidad de las partículas para encontrarse con el target que sea. Si pones a cero el parámetro is less than, las partículas nunca testean a true y por tanto siempre están bajo control del find target (porque no salen del evento, por mucho que lo wires).

Pero resulta que el find target solo hace su trabajo durante un tiempo, o un número de veces, o no sé que le pasa.
Barduk - 21/11/2007 18:15

No. Se supone que el find target controla la velocidad de las partículas para encontrarse con el target que sea. Si pones a cero el parámetro is less than, las partículas nunca testean a true y por tanto siempre están bajo control del find target (porque no salen del evento, por mucho que lo wires).

Pero resulta que el find target solo hace su trabajo durante un tiempo, o un número de veces, o no sé que le pasa.

Controla la velocidad, sí, pero dentro de su mismo evento, si quieres que se paren después, le metes debajo de find target un operador velocidad, ¿entiendes?
Nessito - 21/11/2007 18:55
Si yo te entiendo, el que no me entiendes eres tu (culpa mía, que no me se explicar). No quiero que se paren, ni después, ni antes, ni nunca. Ese es el problema, que lo que yo quiero es que no dejen de buscar el target nunca, y sin embargo, después de un intento o dos, no vuelven a buscarlo otra vez, si no que siguen hasta el infinito.

Como puse al principio, imagínate una nube de moscas alrededor de un moñigo, todas pululando, tratando de alcanzarlo y no consiguiéndolo nunca. Eso es lo que yo quiero, y lo que he conseguido a medias usando dos eventos con el mismo find target instanciado y redirigiendo cada uno al otro.

Pero no es plan.
Birkov - 21/11/2007 20:02
Haz un bucle con dos find targets, cuando se cumpla la condición del primero lo pasas al segundo y si enlazas el segundo find target con el primero tendrás un precioso bucle infinito.
Nessito - 22/11/2007 11:01
Me cito a mí mismo.

Eso es lo que yo quiero, y lo que he conseguido a medias usando dos eventos con el mismo find target instanciado y redirigiendo cada uno al otro.

Pero no es plan.

Esto es lo que he hecho:

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #60989


Es un poco chancro, porque necesito terminar con el bucle entre los eventos 02 y 04 cuando suceda algo que no viene a cuento, pero en ese bucle solo funcionan bien tests muy rígidos como age test o Split amount.

Ahora bien, mi pregunta esta relacionada con lo siguiente (copio/pego de la ayuda del max).

note if you set is less than todo 0, the particles might never test true. This might be desirable for an animation of, for example, bes buzzing around a flower but not landing on it. In this case, you might want todo use a Low value for accel limit so the bes dont circle todo close todo the flower.

De modo que si hago algo como esto:

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #60991


Ninguna partícula debería llegar al evento 03, pero cómo se puede comprobar en la captura, no es así.

Más aún, algunas de las partículas que no testean a true y que por tanto se quedan en el evento 02 es como si hubieran testeado a true, pero el find target ya no las hace caso y no modifica su canal de speed, de modo que se piran hasta el infinito si nadie las detiene.

Y la pregunta es: ¿se trata de un bug del pf? ¿hago yo algo mal? ¿los demonios están en mí contra?

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #60989



🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #60991

Nessito - 23/11/2007 08:29
Venga. Nadie sabe nada de esto? Habéis probado a reproducir el problema, a ver si os pasa lo mismo? Con la captura que he puesto no tiene perdida: es un standard flow con un send out y un find target sin más, no hace falta ni tocar los visores del 3dsMax.
Birkov - 23/11/2007 20:51
No había leído lo de que habías usado los dos find targets, voy a probar y si me sale algo ya lo publicaré por aquí.
Birkov - 23/11/2007 21:51
Bueno ya está solucionado, con el siguiente gráfico tienes un bucle infinito de moscas alrededor de un target y sales de ese bucle cuando un objeto deflector choca con las partículas, el valor del find target es el que viene por defecto, supongo que, se podrá simplificar, pero así a bote pronto este parece funcionar perfectamente.

Vaya qué tiempos aquellos haciendo diagramas de flujo para mis programas en c.

Bueno me voy a cenar que me ha entrado hambre de tanto pensar.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #61149