VGUI Spawn Icons

A travers ce tutoriel nous allons apprendre à créer les images VGUI Spawn Icons
que ce soit pour des entités, des armes, des véhicules où tout autres objets en utilisant le logiciel VTFEdit.

► Création d’un VGUI Spawn Icons

1. Vous devez créer une image au format .png et d'une dimension de 128x128 pixels (ex: mon_image.png).
 ( Une taille d'image de 128x128 est largement suffisante pour cet usage. )

2. Vous devez avoir le logiciel VTFEdit, téléchargez-le et l'installez si vous ne l'avez pas encore fait : VTFEdit V1.2.5 - VTFEdit V1.3.3.

3. Vous devez maintenant mémoriser le nom de votre entité, pour ce tutoriel on va l'appeler "ent_tutoriel".
 ( Le nom de votre entité est le nom du dossier ou du fichier situé dans "/lua/entities/", "/lua/weapons/". )
 ( Info: Dans le cas où votre entité est un véhicule, c'est tout simplement le nom de sa classe. )

4. Vous devez créer le chemin suivant dans votre addon "/materials/vgui/entities/".
 ( Attention! il est important que les noms des dossiers soit en écriture minuscule. )

5. Vous allez maintenant placer votre image créé dans le dossier "/materials/vgui/entities/" puis la renommer au nom de l'entité.
 ( Vous aurez après ça suivant le nom de votre entité "/materials/vgui/entities/ent_tutoriel.png". )

6. Vous devez créer 2 fichiers du même nom que votre entité dans "/materials/vgui/entities/" : "ent_tutoriel.vmt" et "ent_tutoriel.vtf".
 ( Vous aurez après ça "/materials/vgui/entities/ent_tutoriel.vmt" et "/materials/vgui/entities/ent_tutoriel.vtf". )

7. Vous devez maintenant ouvrir le fichier "ent_tutoriel.vmt" avec VTFEdit ou un éditeur de texte et y insérer le code suivant:
 ( N'oubliez pas de renseigner vos propres informations. )

"UnlitGeneric"
{
	"$basetexture" "vgui/entities/ent_tutoriel"
	"$nolod" "1"
	"$ignorez" "1"
	"$vertexcolor" "1"
	"$vertexalpha" "1"
}
• Ligne 3 : La variable "$basetexture" doit pointer le fichier material au format .vtf créé précédemment sans l'extention.

8. Ouvrez maintenant le fichier "ent_tutoriel.vtf" avec VTFEdit uniquement.
 ( Si VTFEdit vous affiche une erreur "Error loading VTF texture..." pas de panic faite juste OK (je pense que c'est le fait que le fichier soit encore vide). )

9. Importez votre image précédemment créé avec le menu du haut "File > Import", sélectionnez-la et cliquez sur le bouton Ouvrir.

10. Une fenêtre "VTF Options" s'ouvrira, configurez les divers onglets comme illustre les 2 images suivantes :

• Normal Format : Selectionnez "DXT1".
• Alpha Format : Si votre image est transparente alors vous devrez selectionner le "DXT5" pour garder l'alpha sinon "DXT1" où "DXT5" peut importe.
• Texture Type : Votre image est comme dit une image donc selectionnez tout simplement "Volume Texture".
• Version : C'est très important, vous devez selectionner la version "7.2" pour le jeu Garry's Mod.

11. La fenêtre "VTF Options" est maintenant configurée correctement, Cliquez sur le bouton du bas "OK".

12. Vous devez maintenant configurer les divers flags comme illuste l'image suivante :

• Vous devez cocher si ce n'est pas fait
les flags "No Mipmap" puis "No Level Of Detail".

• Le flag "Eight Bit Alpha" sera auto-coché si vous avez selectionné le "Alpha Format" sur "DXT5" dans la fenêtre "VTF Options" lors de l'importation de votre image dans VTFEdit.

13. Vous pouvez sauvegarder ces 2 fichiers "ent_tutoriel.vmt" et "ent_tutoriel.vtf" avec le menu du haut "File > Save".
 ( Si VTFEdit vous demande l'emplacement ou les enregistrer, remplacez les 2 fichiers recemment créés respectivement à leur extensions. )

14. Si tout c'est bien passé alors ce tutoriel est à présent terminé sinon recommencez les étapes précédentes.

A vous les joies de vos nouvelles images Spawn Icons dans les menus de Garry's Mod 😀

► Fast Download des VGUI Spawn Icons

Vous pouvez placer vos nouvelles images en fast download grace à une fonction ServerSide prévu à cet effet avec le script suivant:

resource.AddFile("materials/vgui/entities/ent_tutoriel.vmt")
Les 2 fichiers "ent_tutoriel.vmt" et "ent_tutoriel.vtf" seront automatiquement téléchargés par les joueurs s'ils autorisent les téléchargements des contenus de serveurs.