Aller au menu - Aller au contenu

Icône Sprites et models

Mise à jour : 22/07/2009
1 414 visites depuis 7 jours, dont 27 sur ce chapitre classé 94/786
Ce chapitre, lorsque vous commencez à bien vous débrouiller en mapping, est extrêment important.
Nous allons apprendre à nous servir de nouvelles entités, qui sont carrément de nouveaux éléments dans une map. Nous allons aussi pour commencer étudier le fonctionnement du "package" de Half-Life, ce qui sera utile si vous désirez créer votre propre mod (et même si vous ne faites que des maps, c'est quelque chose d'important à connaître !).

Comme il s'agit de quelque chose de totalement nouveau, je vous demande de redoubler d'attention. Eh non, vous n'aviez pas encore tout vu sur les possibilités du moteur de Half-Life !
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Le package

Nous allons en fait nous poser une question essentielle : mais où est passé Half-Life ???
Peut-être le savez-vous déjà, le jeu de Half-Life se trouve dans le sous-dossier "valve" (exactement comme s'il s'agissait d'un mod appelé "valve"). Et même si vous ne connaissez pas bien le fonctionnement d'un mod, vous allez vite vous rendre compte que les dossiers sont le plus souvent... vides !!!

Les maps de l'aventure de Half-Life par exemple : où sont-elles ? Normalement vous devriez les trouver dans le sous-dossier "maps", mais celui-ci est vide, ou presque. Alors !? Où sont passés tous les fichiers ???

Bon, on arrête là pour les questions, et on passe aux réponses ;)

Allez dans le dossier "valve", et recherchez un gros fichier... il doit s'agir normalement de pak0.pak. Ne trouvez-vous pas que 290 Mo ça fait un peu gros pour un fichier ?
Rhaa, on aimerait bien l'ouvrir pour voir ce qu'il y a dedans... mais Windows ne connaît pas ce format, pas plus que Winzip, Winrar etc etc... Le programme permettant de lire ce type de fichier (.pak), vous ne l'avez sûrement pas. Je vais donc vous le donner :)


Il s'appelle donc PakScape. Copiez-le dans le répertoire où Hammer est installé par exemple, et créez un raccourci dans le menu Démarrer. Il ne nécessite pas d'installation.

Grâce à lui, vous allez pouvoir ouvrir ce mystérieux fichier pak0.pak. Allez dans le menu File / Open, et indiquez où se trouve le fichier pak0.pak.
PakScape le charge, et vous présente son contenu sous forme de fichiers et dossiers. Eh oui, les fichiers pak sont en fait des fichiers compressés, qui dans notre cas sont utilisés pour stocker les fichiers principaux de Half-Life. Pourquoi les laisser dans un fichier compressé ? Pour que ça prenne moins de place sur le disque, tout simplement :)

Allez par exemple dans le dossier "maps", et là vous verrez la quantité de maps utilisées dans l'aventure de Half-Life !

Image utilisateur

L'intérêt de PakScape, c'est qu'il vous permet de "récupérer" certains fichiers, c'est-à-dire de les extraire du pak, afin que vous puissiez les lire, comprendre leur fonctionnement etc...
Vous pouvez même vous en servir pour créer votre propre pak, si vous réalisez un mod. En plus, comme le joueur standard ne connaît pas PakScape, vous protégez vos données (maps, fichiers de données etc...). Rien de tel pour rester discret !

Si je vous en parle, ce n'est pas tellement pour les fichiers de maps. Vous pouvez toujours essayer de décompiler un ou deux bsp, mais je vous préviens ça sera l'anarchie dans Worldcraft ;)
En fait, nous allons nous pencher sur 2 éléments importants du moteur de Half-Life : les sprites et les models. D'ailleurs, vous noterez qu'il y a des dossiers du même nom de le pak. Les fichiers sprites portent l'extension .spr, et les fichiers de models .mdl.

Les sprites

Entité concernée : cycler_sprite
Type d'entité : entité-point
Difficulté : moyen

Nous aimerions maintenant voir à quoi ressemblent ces fameux sprites, portant l'extension .spr. Oui mais voilà, là encore nous n'avons pas de logiciel capable de les ouvrir (hormis Half-Life lui-même, mais ce serait peu pratique).
Bon, eh bien je crois que vous allez devoir vous farcir un autre download ;)


Installez le programme à l'aide du fichier setup.exe.
L'installation est propre, et vous verrez que le programme l'est aussi, puisqu'il vous permet non seulement de visualiser des sprites, mais aussi de les exporter dans d'autres formats, ou bien encore de créer les vôtres !
C'est un outil précieux que je vous confie, ne le perdez pas ^^

Vous avez plusieurs possibilités pour ouvrir un sprite. Soit vous double-cliquez sur l'icône dans PakScape, soit vous extrayez le fichier hors de pak et vous l'ouvrez avec SpriteExplorer, soit enfin vous allez dans le menu "File / Open PAK file..." et vous sélectionnez le sprites que vous souhaitez ouvrir.

Nous allons pour commencer ouvrir eexplo.spr. Ouvrez-le en même temps que moi, et regardez ce que vous voyez. Une explosion ! Eh non vous ne rêvez pas, vous avez sous les yeux une superbe explosion comme on peut en voir dans Half-Life !
Ainsi les sprites sont, à première vue, une sorte de Gif animés... Vous pouvez d'ailleurs voir à gauche chaque image de l'animation.
Notez que tous les sprites ne sont pas animés, donc certains sont constitués d'une seule image.

Image utilisateur

Mais quand utilise-t-on les sprites dans Half-Life ?
Tout le temps ! Et je dis bien : tout le temps. Vous voulez des exemples de sprites ? L'affichage de votre vie restante est un sprite, celui de l'explosion d'une grenade en est un autre, mais il ne faut pas oublier les étincelles, les vapeurs, les bulles d'eau etc etc... Ce sont tous des sprites !
Même dans Counter-Strike, on utilise de nombreux sprites (par exemple le menu pour acheter des armes).

Concrètement, les sprites sont des animations en 2D. Et j'insiste : en 2D seulement. Ca peut paraître bizarre de pense que les explosions ne sont que de vulgaires trompe-l'oeil, mais c'est bel et bien le cas ! Moi aussi je m'étais fait avoir, imaginant que les explosions étaient faites en 3D... Mais ce n'est pas le cas, preuve que le moteur de Half-Life commence à prendre vraiment de l'âge !
Les sprites peuvent être rendus transparents très facilement, tout comme les Gifs. Il suffit d'indiquer la "couleur transparente", que le moteur de Half-Life fera disparaître pendant le jeu.

Je vous laisse le soin de découvrir tous les sprites disponibles, peut-être en trouverez-vous certains que vous aurez envie de mettre dans votre map... Si c'est le cas, il est temps de vous expliquer comment faire.

Placez une entité-point cycler_sprite dans votre niveau. Vous avez 2 propriétés intéressantes :
  • Sprite : chemin vers le sprite à utiliser. Je vous conseille d'extraire le sprite du pak avant, pour pouvoir indiquer sa position facilement sous Worldcraft. Vous pouvez ensuite supprimer le sprite que vous venez d'extraire sans souci. Half-Life saura le retrouver dans le pak.
  • Frames per second : vitesse d'animation du sprite (laissez par défaut c'est bon comme ça). Si vous mettez 0, le sprite ne s'animera pas.


Voilà, à vous de bien placer le cylcer_sprite dans votre map, et surtout de trouver (ou créer) le sprite de vos rêves qui donnera une toute autre allure à votre map. Un conseil : ne répétez à personne que ce sont des animations en 2D ou bien tout le monde va finir par trouver ça moche, alors qu'en fait l'effet est excellent sous Half-Life (on n'y voit que du feu !) ;)

Les models

Bien plus dur à manipuler (et encore plus à créer), les models sont un autre élément du moteur de Half-Life. Mais eux sont plus évolués que les sprites.
Ces fichiers .mdl contiennent en fait de véritables personnages en 3D très détaillés, avec toutes leurs animations possibles et imaginables. En clair, après la 2D, on passe à l'étude de la 3D ;)

Où sont les models ? Les ennemis sont des models (vous remarquerez qu'ils sont plus détaillés qu'on ne pourrait le faire avec des blocs), les scientifiques aussi, les barney, les joueurs... mais aussi les armes et munitions au sol !

Je crois que nous allons nous poser la même question pour la troisième fois : comment ouvrir les models ? Lol, vous allez devoir faire un 3ème téléchargement. Mais n'hésitez pas à prendre ce programme, il vaut vraiment le coup d'oeil et vous allez en apprendre long sur les techniques de la 3D !


Une fois le programme installé et lancé, allez dans le menu "File / Open PAK File...". Le programme va extraire tout seul les models que vous voulez visualiser.
Le contenu du pak apparaît à gauche. Rendez-vous dans le dossier "models", et ouvrez pour commencer "scientist.mdl".

Image utilisateur

Regardez-le, il est pas beau notre scientifique là comme ça ? ;)
Notez que vous pouvez le visualiser de plusieurs manières (Wireframe, Textured etc...). Je vous conseille le Textured pour y voir plus clair, mais il peut être intéressant d'analyser le mouvement du personnage en mode Wireframe. Voyez ce que ça donne en fonction du mode sélectionné :


Image utilisateur
Wireframe

Image utilisateur
Flatshaded

Image utilisateur
Smoothshaded

Image utilisateur
Textured


Vous connaissiez 3 de ces modes d'affichage dans Worldcraft. Le nouveau (Smoothshaded) est propre aux models : c'est une technique qui permet de lisser les polygones pour un rendu encore plus réaliste (et il est clair qu'entre Flatshaded et Smoothshaded y'a pas photo !)

En cochant un peu toutes les cases dans le premier onglet, vous verrez que les models sont des éléments complexes. Ils possèdent un squelette (bones), des hit boxes (selon l'endroit où on tire les dégâts seront différents)...

Comme c'est un objet en 3D, vous pouvez faire bouger la caméra autour sans problème ! Voici les commandes :
  • Bouton gauche de la souris : maintenez le bouton gauche de la souris pour tourner autour du personnage.
  • Bouton droit de la souris : maintenez le bouton droit de la souris pour zommer ou dézoomer.
  • Shift + Bouton gauche de la souris : maintenez le bouton gauche de la souris en même temps que la touche Shift (en-dessous de majuscule) pour déplacer le personnage sur l'écran.


Continuons notre découverte... Allons dans l'onglet Sequence. Je crois que c'est là le plus impressionnant : chaque sequence que vous pouvez sélectionner est une animation que le personnage peut faire !
Pour l'instant, le scientifique marche (walk). Mettez la séquence "fear1". Impressionnant non ? Voilà un scientifique courageux dans toute sa splendeur ;)

Vous pouvez tester toutes les animations, vous allez voir qu'il y en a une quantité astronomique ! Eh oui, le travail de Valve ne consistait pas seulement à mapper, mais aussi à modeler et à skinner. Tiens, à propos de modeler, sachez que HL Model Viewer ne permet pas de modifier les models. A dire vrai, je ne connais aucun programme gratuit permettant de le faire. J'ai pu tester Milkshape 3D (un des plus connus) pendant 30 jours, et je peux vous dire que non seulement c'est très difficile, mais en plus on peut y passer des semaines à créer un model avec ses animations !

Quand on voit tous les models que Valve a réalisé, ça laisse songeur... Enfin bref, je vous laisse ouvrir quelques autres models pour que vous puissiez vous faire une idée. Notez que certains models ne sont pas animés.

Nous avons vu le principal sur les models, le reste je vous laisse le soin de le découvrir vous-même en cliquant un peu partout ;)
J'espère que vous avez pris plaisir à lire ce chapitre, car il contient une foule de nouveautés toutes aussi intéressantes et enrichissantes. Nous allons justement nous resservir de ce que nous venons d'apprendre dans le prochain chapitre...
Chapitre précédent Sommaire Chapitre suivant

Partager

3 commentaires pour "Sprites et models"
Note moyenne : 3.81 / 4 (47 votes)
Pseudo Commentaire
Hors ligne Ero-SeNin # Posté le 26/01/2006 à 02:51:20
qui vol un oeuf,vol la poule
Avatar

je ne trouve pas de dossier pakO.pak...pourriez-vous m'aider s'il vous plait ?

Image utilisateur
 
Hors ligne MisterJ # Posté le 28/03/2009 à 14:36:08
Le pro de l'édition de post!
Avatar

Ville : Lévis
Pays : Canada

pour steam on parle plus de fichier .gcf dans steam/steamapps/ et on utilise le programme gcfscape disponible sur google.ca
Hors ligne adam0509 # Posté le 23/02/2010 à 12:54:41

Complétment au tuto :


Pou insérer des models, on peut aussi utiliser "cycler_sprite", ce qui permet de fixer le nombre d'image/seconde du model.


Pour faire un sprite "droit" (comme le café du scientifique au début du jeu), il faut utiliser un "env_beam" avec deux "info_target".

Voir tous les commentaires