Last updated: 06/10/2024, 02:17

Current Project: Rejuvenation of Hellkeeper.net

Jumpers

Un jumper est un actor qui projette les joueurs (humains ou bots) à distance, à travers les airs, sur une cible précise. Ils sont très courants et on les trouve dans une énorme proportion de maps. Certaines, comme DM-Plunge ou BR-Skyline, reposent énormément dessus et sont donc de bons exemples.

Jumper dans BR-Skyline

Utilisation

Le jumper se trouve dans l'actor browser. Il s'agit d'une sous-classe de Jumpad, lui-même dérivé de NavigationPoint. Le Jumpad ne peut pas être placé lui-même, contrairement au UTJumppad, la classe qui nous intéresse.

UTJumppad dans l'actor browser

Le système se compose de deux éléments : le UTJumppad (qui est ce que j'appelle le "jumper"), qui propulse le joueur, et un point d'arrivée quelconque vers lequel le joueur est projeté.

Le jumper lui-même est un point immatériel de l'espace qui n'a aucune manifestation physique et doit donc être signalé par un effet visible indépendant. Dans beaucoup de maps, il s'agit d'un static-mesh accompagné d'un effet de particules. Les possibilités sont sans limites, mais se passer de tout marqueur visuel est une mauvaise idée car le joueur ne pourra pas choisir sciemment de l'utiliser et sera surpris lorsqu'il sera envoyé à travers la map. Les bots, eux, pourront l'utiliser normalement, qu'il soit visible ou non, tant que le UTJumppad sera relié au réseau de navigation normal.

Si aucune cible n'est définie, l'utilisateur est propulsé à la verticale au-dessus du jumper. Pour définir un point d'arrivée, il faut viser un point, qui doit être un point de navigation car le lien se fait via le champ ForcedPaths du UTJumppad, qui ne peut faire le lien qu'avec un jalon. Pour viser par exemple un PathNode, il suffit de mettre son nom dans les ForcedPaths du jumper (le nom se trouve dans l'onglet Object des propriétés d'un actor).

Paramétrage du UTJumppad

Notez que si vous mettez plusieurs ForcedPaths à votre jumper, ce dernier ne visera qu'une seule cible (en général le premier, mais si des changements interviennent dans le réseau de navigation, le choix de la cible au rebuild suivant semble aléatoire). La cible visée et la trajectoire peuvent être visualisées en sélectionnant le UTJumppad après avoir rebuildé les paths. Une courbe rose s'affiche alors.

Trajectoire d'un jumper

Le jumper dose lui-même la force et la vitesse à laquelle il doit propulser un joueur pour atteindre la destination visée. Lorsque la visée doit être précise et que le calcul automatique du jumper vise trop haut ou trop bas, vous pouvez influer légèrement sur la trajectoire en modifiant le coefficient multiplicateur JumpZModifier (par défaut réglé sur 1), dans l'onglet JumpPad de ses propriétés.

Propriétés du UTJumppad

Si la trajectoire par défaut de votre jumper est trop basse, une valeur supérieur à 1 permet de viser plus haut. Si la trajectoire est trop haute, une valeur entre 1 et 0 permet de viser moins haut pour passer sous un obstacle.

Un bon exemple est DM-Premaka, où une grosse décoration au plafond bloquait par défaut les joueurs utilisant les jumpers de la salle centrale. Les joueurs retombaient donc sans attendre l'étage supérieur. Le problème est réglé en ajustant le JumpZModifier à 0.9.

Propriétés du UTJumppad

L'autre propriété du UTJumppad est JumpSound. Il s'agit du son joué lorsqu'un joueur utiliser le jumper. Il permet de manifester son usage et surtout d'avertir l'adversaire de la position du joueur qui l'utilise.

Le rayon d'action du jumper est défini par la collision du UTJumppad (CollisionHeight et CollisionRadius, dans l'onglet Collision de ses propriétés). Il est à ajuster à la taille du jumper pour éviter qu'un joueur ne soit projeté avant d'avoir vraiment touché, par exemple, le static-mesh qui semble être le jumper, ou qu'il ne doive, au contraire, en viser précisément le centre pour que l'effet s'active. Le jumper propulse un joueur à l'instant où ce dernier touche son cylindre de collision.

Rayon d'un jumper de CTF-Face3

Pour finir, le UTJumppad étant une sous-classe du NavigationPoint, il est automatiquement inclus dans le réseau de navigation des bots. Ceux-ci savent donc l'utiliser à la perfection dès que le jumper est fonctionnel.

© 2005-2025, by Hellkeeper.

Valid XHTML 1.1 & CSS 3