Splines

Un article de Wiki-Mapping.

Jump to: navigation, search

Sommaire

[modifier] Les scriptmover

Les scriptmover peuvent être très utiles pour créer les objets dynamiques et pour ajouter des objectifs intéressants à votre map.

Pour ce qu'est exactement le scriptmover , son nom en indique la majeur partie : c'est un objet qui est préétablis (programmé) pour se déplacer. Ca peut être quelques choses comme un tank, train, camion, ou peut-être un ventilateur ou une échelle mobile, le mover est seulement limité par votre imagination.

Maintenant ont va mettre le script dans le dossier etmain/maps/ et créer un fichier nom_de_la_map.script.

Rappel : Pour créer un fichier .script, il est impératif que les extensions soient affichées dans windows !

Le script nous permet de dire exactement ce qui doit déplacer, quand est déclenché le tank, lui dire où aller, et l'arrêter s'il est endommagé ou si un joueur n'est pas assez proche de lui.

Ce tuto sera basé sur le tank de goldrush, où le tank suivra simplement un chemin (sans les barrières).


[modifier] Créer le chemin du tank (splines)

1. D'abord nous devons créer notre chemin pour que notre tank le suive, pour ceci nous allons employer le système info_train_spline (vous pouvez employer des path_corners mais les splines sont beaucoup plus faciles pour des véhicules). Faites un clique droit sur la fenêtre principale sélectionnez info > info_train_spline_main. Un petit carré vert apparaît dans la fenêtre principale.

Image:tank_01.jpg


2. Pressez "N" pour afficher la fenêtre d'entité. Entrer maintenant la clef suivante:

  • Key: targetname
  • Value: spl_01

La valeur peut être n'importe quel nom que vous voulez mais essayez d'utiliser un système d'appellation avec des nombres puisque nous allons avoir beaucoup de splines pour déplacer le tank.

Image:tank_02.jpg


3. Fermez la fenêtre d'entité, sélectionner le spline que vous venez de créer, et multipliez le en pressant la barre « espace », donner la valeur spl_02 au nouveau spline. Placez le environ 200 unités plus loin que la première spline.


4. Maintenant nous allons faire un chemin à partir de spl_01 vers spl_02. Désélectionnez spl_02 et sélectionnez spl_01, ouvrez sa fenêtre d'entité encore une fois. Et entrer maintenant :

  • Key: Target
  • Value: spl_02

Image:tank_03.jpg


5. Continuez à répéter cette étape jusqu'à ce que vous ayez un chemin qui vous convienne. Chaque fois que vous créez une nouvelle spline, augmentez sa valeur de 1, allez à la splines précédente et répéter l’opération 4.


6. Pour la dernière splines de votre chemin vous avez deux choix, vous pouvez faire faire une boucle au tank en reliant la dernière splines a la première ex: spl_100 >> spl_01 ou vous pouvez choisir de stopper le tank et de terminer le trajet au dernier splines. Sur les images ci-jointe ont effectue une boucle.

Image:Tank 04.jpg


7. Si nous regardons notre chemin de splines, on le voit avec quelques angles pointus entre les splines. Pour parer ceci, le système de splines a un spline_train_main_control qui aide à rendre le chemin plus lisse. Entre deux splines faites un clique droit et sélectionnez info > info_train_spline_control. Ouvrez la fenêtre d'entité et entrez :

  • Key: targetname
  • Value: ctrl_01


8. allez à la splines précédente ouvrez la fenêtre d’entité et entrez :

  • Key: control
  • Value: ctrl_01

Image:tank_05.jpg


9. Avec GTKradiant 1.4 cliquer dans le menu de haut Plugins > bobtoolz > Plot Splines

Vous pourrez ainsi voir la ligne blanche qui a affiné le trajet du tank et qui représente le chemin exact qu’il entreprendra.

Si la ligne n'apparaît pas alors vos splines ne sont pas correcte, très probablement votre optimisation d'une splines qui n'existe pas ou alors il n'y a pas d’issue a vos spline_controls.

Image:tank_06.jpg

La partie 1 de ce guide est terminée, prochainement la partie deux (le tank et ses secret)

Continuez a modifier l’emplacement des splines jusqu'à ce qu’ils représente le chemin dont vous avez besoin.

Si vous avez des question reportez-vous au forum.

[modifier] Complément d'informations sur les splines

Le système s'appuie sur les courbes de Bezier - le même système étant utilisé pour les patches. Chaque map à une limite de 512 entités relatives à la création de tels chemins. Ces nouvelles entités sont chargées indépendamment par le serveur et le client, et ne viennent pas s'ajouter au nombre total d'entités.

Ce système ne permet pas de stopper un objet entre deux points successifs du chemin défini. Pour une meilleure précision sur le mouvement des objets, il est nécessaire de placer plus de points de référence.

Image:Splines_2control.jpg

Il est possible d'avoir plusieurs points de contrôle pour un segment : il suffit d'ajouter autant d'entités info_train_spline_control que voulu, puis d'ajouter au point A les clés control, control2, control3, etc... Il existe une limite de 16 points de contrôle, et l'augmentation du nombre de points de contrôle augmente d'autant la charge du processeur.

[modifier] Sources