Éditeur de modèles
De WikiPlee.
L'éditeur de modèles permet de construire facilement des modèles d'objets. Un modèle d'objet est défini par une liste d'actions possibles. Prenons comme exemple la guêpe. Celle-ci a trois actions possibles : "attaquer", "voler" et "mourir". Un modèle permet de définir certaines propriétés propres à ces actions (son à émettre, taille de la boite englobante, durée et enchaînement des actions, etc).
Les fichiers de modèles gérés par l'éditeur sont des fichiers XML à l'extension .mdl. Ils devront être compilés en fichiers lisibles par le moteur du jeu, à l'extension .cm.
Sommaire |
[modifier] Première fois
La première fois que l'éditeur de modèle est lancé, aucune image n'est disponible. La fenêtre de configuration des chemins s'affiche automatiquement. Si ce n'est pas le cas, il suffit d'aller dans le menu Model/Configuration... pour y accéder.
Cette fenêtre contient deux listes de chemins. La première est la liste des chemins vers les dossiers des fichiers de description d'objet. Ce sont des fichiers XML contenant une description des champs éditables pour chaque classe d'objet du jeu. La deuxième liste contient des chemins vers les dossiers de données du jeu. Il s'agit du même dossier que celui passé en paramètre de la ligne de commande du jeu. Le contenu de ces deux listes est partagé avec l'éditeur d'animations et l'éditeur de niveaux. Ainsi, la fenêtre ne s'affichera qu'au premier lancement de l'un des éditeurs.
Une fois les dossiers configurés, il peut être nécessaire de redémarrer l'éditeur.
[modifier] Fenêtre principale
La fenêtre principale contient trois onglets. Le premier liste les actions du modèle édité, le second liste les marques de l'action courante, le dernier permet d'éditer les snapshots de l'action courante.
[modifier] Liste des actions
Une action correspond à un état de l'objet. Par exemple, la guêpe nécessite trois actions : voler, attaquer et mourir. Pour chacune de ces actions, l'animation (cf éditeur d'animations) de la guêpe est différente. Usuellement, nous ferons une action par animation de l'objet.
Par le bouton propriétés ou par un double-clic sur l'action, il est possible de paramétrer les champs suivants : name indiquant le nom de l'action (champ obligatoire) ; duration indiquant a durée de l'action (champ obligatoire également) ; next action indiquant l'action à réaliser à la fin de l'action éditée (peut être elle-même) ; Sound file correspondant au son à émettre en début d'action et enfin Play gobally indiquant si le son est en global, i.e. indique si le volume n'est pas modifié par la distance entre la caméra et l'objet. Notons que si aucune action n'est spécifiée dans le champs next action, à la fin de l'action, l'objet restera sur cette action mais sans l'exécuter.
[modifier] Liste des marques
La liste des marques répertorie les marques de l'action courante. Une marque est un point de repère relatif à la position de l'objet (point bas-gauche de la boîte englobante). Les marques sont définies seulement pour une action. Ainsi, les actions n'ont pas nécessairement les mêmes marques. Pour la guêpe, les trois actions (voler, attaquer, mourir) ont la marque body, afin de positionner l'animation du corps de la guêpe. De plus, les actions voler et attaquer possèdent la marque sting, utile dans la section suivante pour spécifier la position et l'orientation du dard.
Une marque possède trois champs paramétrables (éditable par le bouton propriétés ou par une double-clic) : Mark name indiquant le nom de la marque (champ obligatoire) ; Mark animation correpondant à l'animation à placer sur la marque et Apply angle to animation indiquant s'il faut appliquer les angles sur le rendu de l'animation (cf section suivante).
[modifier] L'onglet snapshot
On désigne par le mot snapshot l'état d'une action à un date précise. Ainsi, une action sera définie comme une succession de snapshots. Notons qu'il existe toujours un snapshot à la date 0 (état initial). Les champs à paramétrer sont les suivants (regroupé par catégorie):
- Date : La date du snapshot (champ obligatoire)
- Function : Le nom de la fonction à exécuter en début de snapshot. Ce champ est à employer en accord avec le code source de l'objet. Ainsi, pour les snapshots correspondant à un jet de dard, nous spécifierons la fonction drop_sting. À l'exécution du snapshot, la fonction execute_function de l'objet sera appelée avec en paramètre la chaîne drop_sting.
- Mark correpond au nom de la marque à éditer ; X et Y indique la position relative de la marque ; Depth indique la position en profondeur de l'animation de la marque courante (relative à l'objet) ; le champs angle spécifie l'angle de la marque courante. Cet angle est appliqué à l'animation de la marque si l'option Apply angle to animation est cochée dans les propriétés de la marque. L'angle pourra aussi être utilisée dans le code source de l'objet. Par exemple, afin de lancer les dards dans une direction fixée. Enfin, le champ Visible précise si l'animation de la marque courante est visible. Cela permet ainsi de ne pas dessiner le dard durant les snapshots où le dard est déja lancé.
- Les sons sont paramétrés par deux champs : Play gobally qui indique si le son est en global, i.e. indique si le volume n'est pas modifié par la distance entre la caméra et l'objet. Sound file indique le nom du son à émettre à l'exécution du snapshot.
- La taille de la boîte englobante est précisé par les champs width (la largeur) et height (la hauteur).
- Plusieurs champs sont nécessaires à l'alignement de la boîte englobante lors de ces modifications : X et Y correspondant aux types d'alignements respectivement en abscisse et en ordonnée. X peut prendre une des trois valeurs align_left (la nouvelle boîte englobante s'aligne sur la gauche de l'ancienne), align_center (la nouvelle boîte englobante est centrée en abscisse sur l'ancienne) et align_right (la nouvelle boîte englobante s'aligne sur la droite de l'ancienne).
Y peut quant à lui prendre une des trois valeurs align_bottom (la nouvelle boîte englobante s'aligne sur le bas de l'ancienne), align_center (la nouvelle boîte englobante est centrée en ordonnée sur l'ancienne) et align_top (la nouvelle boîte englobante s'aligne sur le haut de l'ancienne). Enfin, les champs Gap_X et Gap_Y précisent le décalage à réaliser respectivement en abscisse et en ordonnée.
[modifier] Vue du modèle
La vue du modèle permet de visualiser une action. Une barre d'outils permet de sauvegarder, de compiler, de zoomer, etc. En bas, un curseur permet de positionner la date courante. Un petit triangle symbolise un snapshot. Un double-clic sur cette barre de temps permet de sélectionner le snapshot le plus proche; celui-ci devient alors noir. Deux petits boutons en bas à droite permettent d'ajouter et de supprimer un snapshot. En bas à gauche, le premier boutons permet d'exécuter le snapshot, suivi par deux bouttons permettant de se déplacer de snapshot en snapshot. Pour finir, plusieurs raccourcis sont disponibles sur la barre de temps :
- Shift + souris : déplace le curseur uniquement sur les snapshots (le plus proche est choisi) ;
- Control + souris : déplace le snapshot le plus proche
- Control + Alt + souris : copie le snapshot le plus proche
Notons qu'une marque est en pointillé si la case visible n'est pas cochée.
[modifier] Quelques recommandations
Voici quelques recommandations pour faciliter l'édition d'un modèle :
- Commencer par réaliser les animations avant d'éditer un modèle. Cela évitera de modifier le modèle par la suite.
- Avant de se lancer dans la création (puis le paramétrage des snasphots), bien réfléchir aux marques nécessaires et les créer. Puis, réaliser le snapshot initial (date=0) en placant bien les marques. Puis pour chaque snasphot, faire un copier du snapshot en utilisant Control + Alt + souris sur la barre de temps. Cela évitera souvent de faire plusieurs fois les mêmes paramétrages.
- Ne pas oublier de compiler le modèle.
- Faire attention au paramètre Function et travailler en étroite collaboration avec le développeur de l'objet.

