Bonjour,
Je cherches à supprimer des Thinking particules quand elles sont à l'intérieur d'un objet.
J'ai trouvé, un noeud pour détecter quand une particule rentre dans le volume d'un objet, mais pas quand elle y est déjà.
Je voudrais détecter donc si la position d'une particule (ou une position quelconque) est dans un volume (qui n'est pas forcément une primitive.
L'effecteur Mograph Volume, est capable de faire ladétection d'un clone dans un objet.
Mais je ne trouve pas comment faire l'équivalent en Xpresso.
Le but au final est d'optimiser une scène, pour ne pas avoir à rendre de particules qui ne seront pas visible.
Un peu dans l'idée comme l'effecteur K Volume de RealFlow (mais dans l'autre sens !!!)
Merci d'avance
le noeud Falloff (de mograph) sert a ca.
Visitez www.base80.com et www.youtube.com/base80
Avec le noeud déviation, tu peux demander le déclenchement uniquement de l'évènement. Suivant le type de collision (avant, arrière) tu peux savoir si la particule entre ou sort de l'objet et donc la tuer ou la changer de groupe etc.
Donc tu ne sais pas si la particule est dedans ou dehors, mais tu sais si elle traverse.
Merci pour vos réponses.
Le problème du noeud déviation, c'est qu'il ne détecte que la traversée d'une particule à travers les surfaces d'un objet.
J'ai trouvé la solution avec le noeud Xpresso Collision de Rayons, qui est super pratique.
J'essaye de faire ce week end une petite explication de la méthode que j'ai finalement utilisé.
Val et moi on t'as fait un fichier avec le noeud falloff, et apparemment ca marche...
http://www.lopo.li/base80/mograph/fa...K_base.c4d.zip
Visitez www.base80.com et www.youtube.com/base80
Merci base.
Ton système marche effectivement pas mal, a part un petit décalage, entre l'émission, et la détection de la zone de fallof.
L'autre truc c'est que c'est un peu plus galère d'avoir un objet polygonal quelconque pour la détection (ou alors plus probable j'ai pas trouvé un truc simple pour le faire)
La technique que j'ai utilisé c'est çà
J'utilise un neutre que je place au dessus de mon mesh (RefCollision).
Et je fais un test de collision de rayons entre la position de la particule et mon neutre de référence.
Si le rayon croise en premier une face arrière du mesh, c'est qu'il est à l'intérieur de l'objet, si il croise d'abord une face avant de l'objet, c'est qu'il est sous l'objet.
Si il ne croise pas une face de l'objet, c'est qu'il est au dessus.
Dans l'exemple je passe les particules d'un groupe à l'autre, mais on peut avoir le même principe pour détruire la particule dans l'objet (ou en dehors).
Je me suis inspiré du tuto de greyscalegorrilaz sur les TP events, qui explique bien le principe de test sur des particules pour leur appliquer des évènements (changement de groupe, destruction....)