Le TrailEmitter
Le TrailEmitter permet de générer des trainées. On pourrait utiliser un SpriteEmitter générant très rapidement des particules à très faible durée de vie, mais le Trail est prévu pour et génère donc un résultat bien plus propre.
Les trainées générées par un TrailEmitter ne sont visibles que si l'emitter est en mouvement. Commencez donc par créer un mover et donnez lui un mouvement. Ensuite, ajoutez votre Emitter et liez-le à ce mover. Pour ce faire, mettez la même chose dans le tag de l'emitter et dans le champ AttachTag de votre emitter (onglet Movement).
Dans les propriétés de l'emitter, ajouter un objet TrailEmitter.
Il va y avoir grosso modo trois ou quatre onglets seulement de l'emitter qui seront intéressant : D'abord, l'onglet Color, simplement pour changer la couleur de vos particules. Ensuite, il y aura Size, également pour effectuer le simple changement de taille des particules. Texture ensuite, et enfin, l'onglet Trail. Pour commencez, mettez une texture. Pour que l'effet ne soit pas disgracieux, le mieux est de prendre une texture longiligne et qui finisse en pointe. Il y en a dans le package EpicParticle, groupe Beams.
Normalement, en activant le mode temps réelle et en bougeant l'emitter, vous pouvez voir l'emitter fonctionner. Dans le cas présent, il ne fonctionne pas encore. Dans l'onglet Trail, changez TrailLocation en PTTL_FollowEmitter. L'effet devient visible si vous déplacez votre actor :
Premièrement, votre trainée est très courte. De plus, elle semble disparaitre d'un coup quelques secondes après avoir été émise. En revanche, en regardant bien, vous constaterez que sa longueur est proportionnelle à sa vitesse, et s'allonge quand vous accélérez le mouvement. Voici comment fonctionnent les propriétés :
- DistanceThreshold : ?
- MaxPointsPerTrail : Taille maximale de votre trainée, en une unité arbitraire. Pour allonger votre trainée, augmentez ce chiffre. A moins que vous ne réalisiez une trainée pour une navette spatiale, il n'y a pas besoin de viser très haut.
- MaxTrailTwistAngle : Une propriété bizarre. Permet de définir l'angle maximum que peut réaliser votre trainée. Ne semble pas tellement fonctionner. Plus vous l'augmentez, plus l'effet est moche quand la trainée fait un coin. Avec 65536, trop d'angles entrainent un plantage. Je vous suggère de laisser cela tel quel.
- PointLifeTime : Durée de vie de la particule. Par défaut, cette propriété n'est pas utilisée. Elle dépend du TrailShadeType utilisé. Lorsque le TrailShadeType est en mode PTTST_PointLife, plus la valeur est élevée, plus le fondu sera haché. Mettre une valeur de 2 permet d'avoir un lent fondu uniforme.
- TrailLocation : Je n'ai aucune idée de ce que permet le réglage par défaut PTTL_AttachedToParticle, mais PTTL_FollowEmitter fait en sorte que la trainée soit émise par l'emitter lui-même.
- TrailShadeType : Type de fondu ? Rien de certain. Si vous mettez PTTST_None, la trainée disparait abruptement à la fin de sa vie. Avec PTTST_RandomStatic, la trainée est parcourue de zones plus ou moins brillantes. PTTST_RandomDynamic fait la même chose, mais les zones brillantes se déplacent sur la texture pendant toute sa durée de vie. PTTST_Linear semble identique à PTTST_None, et PTTTST_PointLife est décrite plus haut.
- UseCrossedSheets : En temps normal, la trainée est seulement constituée d'une feuille 2d qui apparait en faisant face au joueur. Avec UseCrossedSheets, une deuxième feuille perpendiculaire apparait pour simuler un effet volumétrique. Assez peu efficace.
Je ne peux que vous encourager à faire différents tests.