Maintenant que vous avez le bases pour faire des armes intéressantes, vous voudrez certainement donner à votre arme une apparence unique.
Voici les principes de bases à connaître pour modifier l'apparence de votre arme.
Modèle 3D et animationLa première chose que vous pouvez modifier dans une arme, c'est le modèle 3D du projectile, et du lanceur s'il y en a un.
Le modèle 3D d'un objet est son apparence telle que vous la voyez dans le jeu. Chaque modèle a des animations qui lui sont propres, comme le mouton qui marche par exemple.
Pour toutes les armes, y compris les armes de corps à corps et quelques utilitaires, vous aurez toujours les propriétés suivantes:
- Code:
-
<PayloadGraphicsResourceID>Bazooka.Payload</PayloadGraphicsResourceID>
<Payload2ndGraphicsResourceID></Payload2ndGraphicsResourceID>
...
<WeaponGraphicsResourceID>Bazooka.Weapon</WeaponGraphicsResourceID>
PayloadGraphicsResourceID est le modèle du projectile, alors que
WeaponGraphicsResourceID est le modèle que le worm tient dans sa main. Pour les armes lancées ou posées telles que la grenade ou la dynamite, WeaponGraphicsResourceID doit toujours avoir la même valeur que PayloadGraphicsResourceID, à l'exception de la grenade, qui a deux valeurs différentes pour une raison inconnue.
C'est bien normal, puisque si le worm pose une dynamite, il doit bien avoir une dynamite en main. Si vous mettiez le modèle d'une mine uniquement comme projectile, votre worm tiendrait une dynamite, mais poserait une mine, ce qui n'est pas très cohérent.
Les noms de modèles sont des identifiants prédéfinis. Si vous entrez un identifiant qui n'est pas reconnu par le jeu, celui ci plantera dès qu'il essaiera d'afficher le modèle correspondant.
Consultez l'
Annexe 1 pour obtenir la liste des noms de modèles valides.
Payload2ndGraphicsResourceID est une propriété uniquement utilisée pour le British gonflable, lorsqu'il est dans son état "gonflé".
Une fois que vous avez mis un modèle différent, vous aurez peut être besoin de changer aussi les animations.
Voici les propriétés qui contrôlent les animations du projectile selon le contexte:
- Code:
-
<AnimTravel></AnimTravel>
<AnimSmallJump></AnimSmallJump>
<AnimBigJump></AnimBigJump>
<AnimArm></AnimArm>
<AnimSplashdown></AnimSplashdown>
<AnimSink></AnimSink>
<AnimIntermediate></AnimIntermediate>
<AnimImpact></AnimImpact>
AnimTravel est l'animation par défaut lorsque le projectile ne fait rien de particulier.
AnimSmallJump et
AnimBigJump sont utilisées pour des armes telles que le mouton lorsqu'il saute.
AnimArm est l'animation jouée lorsque l'arme est déclenchée, par exemple, la mine qui clignote lorsqu'un worm passe à côté.
AnimSplashdown est l'animation jouée lorsque le projectile tombe à l'eau, et
AnimSink est ensuite jouée pendant que celui-ci coule.
AnimIntermediate est uniquement utilisée pour la Vieille femme, lorsqu'elle touche un worm et lui vole une arme.
AnimImpact est uniquement utilisée pour la Flèche empoisonnée, lorsqu'elle se plante dans le terrain.
Ces propriétés doivent recevoir un identifiant d'animation, qui correspond à l'animation qui doit être jouée.
Il n'y a pas encore de méthode connue pour obtenir toutes les animations valides pour un modèle donné, mais vous pouvez les trouver en général dans le code d'autres armes.
Si un identifiant non valide est donné, ou si la propriété est laissée vide, aucune animation ne sera jouée.
Et finalement, vous pouvez modifier la manière dont le worm tient l'arme en main en modifiant les propriétés suivantes:
- Code:
-
<WXAnimDraw>DrawBazooka</WXAnimDraw>
<WXAnimAim>AimBazooka</WXAnimAim>
<WXAnimFire>FireBazooka</WXAnimFire>
<WXAnimHolding>HoldBazooka</WXAnimHolding>
<WXAnimEndFire></WXAnimEndFire>
<WXAnimTaunt>TauntBazooka</WXAnimTaunt>
<WXAnimTargetSelected></WXAnimTargetSelected>
WXAnimDraw est l'animation jouée lorsque le worm déploie l'arme.
WXAnimAim correspond à la posture du worm selon l'angle avec lequel il vise.
WXAnimFire est jouée lorsque le worm tire ou lance son arme.
WXAnimHolding correspond à l'animation du worm pendant qu'il tient son arme.
WXAnimEndFire est jouée par le worm juste après avoir utilisé son arme.
WXAnimTaunt est l'animation de moquerie visible lorsque vous appuyez sur la touche Charrier (T par défaut).
WXAnimTargetSelected est l'animation du worm lorsque vous avez sélectionné une cible (pour le missile à tête chercheuse par exemple.
Comme pour les animations de projectile, ce sont des identifiants d'animation, et il n'a pas de méthode sûre pour en obtenir la liste complète. A nouveau, cherchez dans le code d'autres armes.
Notez que ces animations peuvent parfois affecter l'arme que le worm tient en main, comme le mouton qui se débat alors que le worm le maintient.
Il semblerait que ces animations ne puissent pas être modifiées pour les armes de type grenade (Grenade, Bombe à fragmentation, Bombe lacrymogène, Bombe banane, Sainte grenade).
EffetsA présent, si vous voulez allez plus loin, vous pouvez aussi changer les effets "spéciaux" produits par votre arme (traînée de fumée, explosion, etc...).
Voici les propriétés qui contrôlent les différents effets spéciaux liés à l'arme.:
- Code:
-
<FxLocator>bazookarocket</FxLocator>
<ArielFx>WXP_BazookaTrailPack</ArielFx>
<DetonationFx>WXP_ExplosionX_Med</DetonationFx>
...
<ExpiryFx></ExpiryFx>
<SplashFx>WXP_WaterSplash</SplashFx>
<SplishFx>WXP_WaterSmallSplash</SplishFx>
<SinkingFx>WXP_UnderWaterBubbles</SinkingFx>
<BounceFx></BounceFx>
<StopFxAtRest>true</StopFxAtRest>
...
<HoldParticleFX></HoldParticleFX>
FxLocator est un identifiant de position qui indique l'endroit où les effets de traînée sont générés. Pour le bazooka, il correspond à l'arrière de l'obus, d'où la fumée sort, et pour la dynamite, il correspond à la mèche.
Comme les identifiants d'animation, il n'y a pas de moyen d'obtenir tous les identifiants de position d'un modèle, et certains modèles en sont même dépourvus, ce qui les rend incapables d'afficher des effets de traînée.
Si un mauvais identifiant de position est donné, aucun effet de traînée ne sera visible, cette propriété est donc à prendre en compte si vous modifiez le modèle de votre projectile.
Par contre, si aucun identifiant n'est donné, la traînée sera placée par défaut au centre du projectile.
ArielFx correspond à l'effet de traînée de l'arme, et est fortement lié à FxLocator. Elle permet de mettre un effet de traînée de fumée, un halo lumineux, des étincelles, toutes sortes d'effets devant être attachés à l'arme. Cette propriété reçoit un identifiant d'effet, commençant généralement par WXP.
La liste des identifiants d'effets peut être trouvée dans le fichier PartTwk.xml.
Si un identifiant non valide est donné, ou si la propriété est laissée vide, aucune traînée ne sera visible.
DetonationFx est l'effet visible lorsque le projectile explose, à ne pas confondre avec
ExpiryFx, qui correspond à l'effet visible lorsque le projectile expire.
Un projectile peut tout à fait expirer sans exploser lorsque sa durée de vie est écoulée, lorsque la propriété
DetonateOnExpiry est "false".
Notez que les effets de particules ont entre autres la capacité d'empoisonner les worms à proximité.
Il n'y a pas de paramètre Poison pour l'arme, elle provient des effets spéciaux, vous pouvez donc par exemple copier l'effet d'explosion de la bombe lacrymogène ou de la flèche empoisonnée pour rendre votre arme toxique.
SplashFx et
SplishFx sont les effets visibles lorsque la particule touche la surface de l'eau. Splash est visible lorsque le projectile tombe dans l'eau, Splish est visible lorsqu'il ricoche dessus.
Contrairement aux autres effets, laisser ces propriétés vides ou leur donner un identifiant non valide peut donner des résultats inattendus, comme des têtes de mort apparaissant sur l'eau lorsque le projectile tombe à l'eau.
SinkingFx est l'effet visible lorsque la particule coule (en général, un effet de bulles).
BounceFx et l'effet visible à chaque fois que le projectile rebondit contre quelque chose.
StopFxAtRest définit si l'effet de traînée doit s'arrêter lorsque le projectile ne bouge plus. A moins que votre arme ne soit du genre Sainte grenade et explose lorsqu'elle est immobile, cette propriété devrait être "false".
Enfin,
HoldParticleFX est l'effet visible sur l'arme elle-même pendant que le worm la tient.
Quelques propriétés mineures pourraient être utiles pour obtenir des effets intéressants, mais elles n'ont jamais été utilisées, soit parce qu'elles n'ont pas l'air de fonctionner, soit parce qu'elles sont trop limitées.
- Code:
-
<TrailBitmap></TrailBitmap>
<TrailLocator1></TrailLocator1>
<TrailLocator2></TrailLocator2>
<TrailLength>0</TrailLength>
<AttachedMesh>Bazooka.Flames</AttachedMesh>
<AttachedMeshScale>1</AttachedMeshScale>
AttachedMesh est un modèle attaché au projectile, dont la taille peut être modifiée en changeant la valeur de
AttachedMeshScale.
C'est une propriété facile à utiliser, mais elle semble trop limitée, et uniquement adaptée au bazooka (la petite flamme visible derrière l'obus).
Personne n'a encore trouvé comment les 4 autres propriétés marchent, si vous avez fait quelques expériences et obtenu des résultats intéressants, n'hésitez pas à nous en faire part !
BruitagesVous pouvez facilement ajouter des bruitages à vos armes en utilisant les propriétés suivantes.
Pensez bien à ne pas confondre Fx (effet), avec Sfx (bruitage).
- Code:
-
<DetonationSfx>ExplosionRegular</DetonationSfx>
...
<BounceSfx></BounceSfx>
<PreDetonationSfx></PreDetonationSfx>
<ArmSfx1Shot></ArmSfx1Shot>
<ArmSfxLoop></ArmSfxLoop>
<LaunchSfx>RocketRelease</LaunchSfx>
<LoopSfx>BombWhistle</LoopSfx>
<BigJumpSfx></BigJumpSfx>
<WalkSfx></WalkSfx>
DetonationSfx est le son entendu lorsque l'arme explose.
BounceSfx est le son produit l'arme lorsqu'elle rebondit contre quelque chose.
PreDetonationSfx est entendu avant que l'arme n'explose (comme le "Alléluia" de la Sainte grenade).
ArmSfx1Shot semble être le son joué lorsque l'arme vient d'être déclenchée. Il n'est utilisé que pour le British gonflable.
ArmSfxLoop est joué en boucle une fois que l'arme est déclenchée (le bip produit par la mine, par exemple).
LaunchSfx est le son produit par le projectile dès qu'il est tiré ou lancé.
LoopSfx est joué en boucle tant que le projectile est actif.
BigJumpSfx est utilisé pour les armes telles que le mouton, lorsqu'il fait un saut, et
WalkSfx est joué pendant que celui-ci marche.
Et quelques propriétés spécifiques au Super mouton et au Feu d'artifice:
- Code:
-
<FlyingLaunchSfx></FlyingLaunchSfx>
<FlyingLoopSfx></FlyingLoopSfx>
FlyingLaunchSfx est le son joué lorsque le projectile décolle, et
FlyingLoopSfx pendant qu'il vole.
Ces propriétés reçoivent un identifiant de son. Si un identifiant non valide est donné, ou si la propriété est laissée vide, aucun son n'est joué.
Terminé.
A présent, vous devriez connaître les principes de base pour créer des armes simples. Vous pouvez lire les annexes et essayer de réaliser les exemples en pas à pas disponibles dans cette section pour vous entraîner, ou alors passer directement aux Tweaking de particules, qui permet de faire des armes bien plus avancées.