SourceEngine Réaliser une fusée éclairante

  • Initiateur de la discussion
  • Administration
Seb

Seb

El Dictator
Membre du Staff
Messages
1 875
Score réaction
454
Points
370
Ce tutorial réalisé entièrement par Gectou4 et provient des archives de mapping-area et modding-area.
Les archives sont anciennes, certains tutoriels peuvent ne plus correspondre aux dernière versions.


-

NOTE : Dans certain mod vous n'avez pas de env_flare qui est une fusée éclairante, voici comment en 'mapper' une.


Pour faire une fusée éclairante, y'a deux choses à considérer :
La map est solo => lumière dynamique
La map est multi => lumière statique

Il n'est pas requis d'avoir un func_tracktrain, on peux très bien utiliser la physique avec un phys_impact ou autre pour propulser la grenade. Mais là encore le réalisme doit dépendre des ressources de la map (solo/multi).

La lumière statique est fortuitement simple.
Prenez un model de grenade pour votre fusée, ou faites un brush qui sera
votre grenade éclairante. Nommez la 'Gflar' (les env_flare sont les fusées
éclairantes dans hl2).
Supposons que votre fusée 'explose' une fois en l'air, à ce moment là *POUF* lumière, puis elle redescend et se dissipe.

Par des Path_Track faites une trajectoire qui reproduit la courbe de la grenade.

Ajouter sur la fusée un env_sprite avec le render mod WORLD SPACE GLOW, dans FXcolor mettez 255 0 0 (ou la couleur de votre lumière), mettez-le par défaut non visible (je veux dire que si sans cocher Start On vous voyez le sprite, ajoutez un logic_auto qui le disable au début de la map, c'est un bug qui arrive parfois). Dans "parent" mettez 'Gflar' et donnez-lui comme nom 'FlarSprite'.

De la même manière, ajouter un env_steam à la fusée. Mettez un Pitch Yaw Roll en 'up' ou légèrement dans le sens du vent ; dans "Spread Speed" mettez 15, dans "speed" mettez une valeur entre 2 et 8, dans "particle start size" 50 ou moins, dans "particle end size" 100 (réglez au besoin), dans "emmission rate" 10, dans "color" (celle de la lumière, mets-en un peu plus foncé (moi je prendrais donc 180 0 0)). Mettez en start off, et pour parent mettez Gflar ; comme nom on va mettre FlarSteam.

Selon que la fusée soit un model ou un brush, On la transforme en func_tracktrain et la lie au path_track ou on fait un func_tracktrain lié au path track et tu parente la grenade à celui-ci (ton train sera alors un bloc avec la texture nodraw)

Enfin, placer une ou plusieurs lights de la couleur de la lumière en initialy dark.

Là, on a deux choix : ou on les disposes globalement et elle éclaireront une zone tout au long de l'affichage de la grenade. Ou on en disposes sur le trajet et tu les fera s'allumer/éteindre avec la descente de la grenade. A vous de voir la pointe de réalisme souhaitée. On va dire qu'on va placer nos lights sur la zone à éclairer tous le long de la vie de la fusée.

Bien, maintenant à vous de voir ce qui déclenche la fusée, un trigger_simple, ou un logic_timer. Ou un trigger_ met. Il faudrait veiller à attendre (à le disabled) le temps de relancer une nouvelle fusée, sinon ça va être gênant.

Pour faire partir la grenade, il suffira de faire démarer le "train" via un output vers ton train et l'action Start Forward.
Vous pouvez également jouer ici un son de 'lancement'.


La fusée commence à suivre les path_track...

Une fois à la bonne hauteur (path_track le plus haut en général) on fais s'afficher le sprite, la fumée (env_steam), allume les lumières, et fais jouer un son d'explosion.

On peut ralentir la vitesse du train aussi.

On laisse comme tel, jusqu'à ce qu'elle atteigne le dernier path_track. Qui va éteindre les lumières, cacher le sprite et arrêter le env_steam, puis arrêter le train.

Et au besoin de nouveau autoriser le lancement d'une nouvelle grenade

Note: Veillez à ce que 'teleport to this parth track' soit coché dans le premier path trac, et à dire à la fusée de s'y rendre et d'y attendre le prochain appel.

Si cela vous chantes, vous pouvez modifier l'env_steam pour qu'il se mette à émettre dès le lancement, et une fois que la lumière arrive, faite un output qui change de couleur les particules.


Si vous utilisez une lumière dynamique et la physique :

On lances la fusée par un phys_thruster ou un env_physimpact
une fois en haut, on déclenches le env_steam, tu affiches le sprite. Mais on ne 'turn on' qu'une seule light_dynamic elle même attachée à la fusée. On peut même utiliser l'effet 'candel' afin de rendre l'éclairage plus réel. Voilà c'est plus simple mais bien plus gourmand. Pour respawnla fusée, on pourra utiliser un point_template après l'avoir kill par output avec toutes les entitées rataché.

Rédigé par G4
 
Discord Hytale, Minecraft, Rust, ARK, FiveM

Découvrez mTxServ!

Discord d'entraide

Rejoignz-nous sur Discord