Bonsoir!
Voici l'un des premiers outils annexes au jeu!
Ce petit plug-in, qui sera intégré au jeu à sa sortie, permet de générer rapidement ses propres fichiers *.shader, qui sont les "scripts/programmes de code" des textures du jeu.
Il sera ainsi aisé de générer des milliers de lignes de codes pour intégrer rapidement des centaines de nouvelles textures, réutilisables par la suite dans votre propre carte de jeu, ou pour vos propres skins par exemple.
1) StructureComme tous les outils du genre, il se présente sous la forme d'un fichier-script, qui possède le seul défaut d'être mal digéré par la plupart des anti-virus. En tentant de le lancer, en double-cliquant dessus, votre anti-virus risque de vous renvoyer une alerte.
Exemples d'alertes
En tous les cas, si le fichier a été téléchargé du site officiel, il n'y a aucun risque pour votre machine.
Vous pouvez, de toute manière, vérifier très rapidement si le fichier télécharger est l'original, ou un faux outil. Pour cela, il vous suffira de comparer ce fichier avec le code source qui sera donné dans ce topic. Pour visualiser le code source, faites un clic droit sur le fichier *.vbs (manœuvre sans risque), puis "Modifier". Le bloc note s'aouvre avec le code source.
Vous avez également la possibilité de copier le code source de ce topic, et de le coller dans un nouveau fichier texte. Il vous suffira alors de renommer ce fichier texte en fichier *.vbs (normalement, l'icone change), et de le lancer!
Icône d'un fichier Visual Basic Script (VBS)
2) Utilisation de basePlacez tout d'abord les images, que vous désirez voir codées dans le fichier shader, dans un dossier de votre choix. Dans ce même dossier, placez une copie du plug-in (la copie évite les pertes de données, inhérentes à tout programme).
Au lancement, vous avez la possibilité de voir le numéro de version du plug-in. Si un plug-in de version supérieur est disponible sur le site officiel, il est recommandé de le télécharger et de remplacer l'ancienne version.
Le numéro de version est donné au départ
Ensuite, il se peut que le programme vous indique qu'il redémarre en mode 'console', ce qui permet de suivre les actions effectuée par le plug-in.
Lancement en mode 'console'
A ce moment-là, une fenetre (généralement gris sur fond noir) apparait. Elle contiendra les informations d'arrière-plan du programme, vous permettant de garder un oeil sur ce qu'il fait.
La console du programme est en arrière plan. Ce message 'options de la ligne de commande enregistrées' est parfaitement normal
Vous devez maintenant indiquer le nom du dossier dans lequel se trouve
ront vos images de texture. Utilisez la syntaxe:
textures/
nom_dun_eventuel_dossier/
autre_dossier_possible/
N'oubliez pas le "/" final! Validez...
Indiquez le dossier, ici, textures/Affiches/ est pris en exemple
Le programme va maintenant analyser le contenu du dossier local (du dossier où le fichier du programme est placé), et repérer les images en JPG et en TGA. Seuls ces fichiers seront codés en tant que textures, dans le shader. Une fois cela fait, il vous en informe:
Déroulement de l'opération
Le programme supprime alors le fichier BAT qu'il avait créé pour se lancer, et se ferme ensuite. L'opération est terminée!
Vous obtenez alors un fichier nommé Shader.shader, situé dans le dossier où le programme a été placé et lancé. Ce shader contient toutes vos lignes de codes pour les textures. Vous pouvez le renommer (exemple: Affiches.shader), puis vous
devez le placer dans le dossier "scripts" du dossier "main" du répertoire de jeu (rappel: le répertoire de jeu est le dossier contenant l'executable lançant le jeu; le dossier où vous avez installé votre jeu).
3) Utilisation plus pousséeLe plug-in est programme pour générer des fichiers shader en masse, mais il se peut que votre shader ne soit pas "classique". Un shader classique contient un nom, une image et un mot-clef pour le logiciel de mapping, le code pour l'image de la texture de base, et le code pour l'éclairage dynamique.
Or, certains programmeurs aiments rajouter des effets sur leurs textures, et un plug-in de shader en masse ne faisant que des shaders "classiques" leur est parfaitement inutile.
Il vous est donc possible de changer l'exemple-type utilisé par le plug-in.
Par défaut, le plugin utilise ce shader:
- Citation :
&&&
{
qer_editorimage &&&
qer_keyword Others
{
map &&&
rgbgen identity
}
{
map $lightmap
rgbgen identity
blendfunc GL_DST_COLOR GL_ZERO
}
}
Cet exemple par défaut est chargé par le programme. Lors de la création des lignes de code du shader, le programme va accéder à cet exemple, le lire, et remplacer tous les caractères "&&&" par le nom de l'image jpg/tga qu'il est en train d'ajouter. Ainsi, si vous avez 3 images nommées "Img1.jpg", "Img2.tga" et "Img3.jpg", le shader sera:
- Citation :
textures/Img1.jpg
{
qer_editorimage textures/img1.jpg
qer_keyword Others
{
map textures/Img1.jpg
rgbgen identity
}
{
map $lightmap
rgbgen identity
blendfunc GL_DST_COLOR GL_ZERO
}
}
textures/Img2.tga
{
qer_editorimage textures/img2.tga
qer_keyword Others
{
map textures/Img2.tga
rgbgen identity
}
{
map $lightmap
rgbgen identity
blendfunc GL_DST_COLOR GL_ZERO
}
}
textures/Img3.jpg
{
qer_editorimage textures/img3.jpg
qer_keyword Others
{
map textures/Img3.jpg
rgbgen identity
}
{
map $lightmap
rgbgen identity
blendfunc GL_DST_COLOR GL_ZERO
}
}
Mais il est possible de changer aisément le shader d'exemple utilisé! Pour cela, créer un nouveau fichier texte, et nommez-le en "ShaderExample.txt". Placez-le dans le même dossier que le fichier du plug-in que vous allez lancer (donc, dans un dossier quelconque, vous avez: les images jpg/tga, le fichier "shaderexample.txt", et une copie de "ShaderCreator.vbs" que vous allez lancer).
Editez ensuite ce fichier texte. Donnez le shader-type de votre choix, en mettant "&&&" partout où le nom de l'image en cours de traitement doit apparaitre. Voici une idée de shader-type possible:
- Citation :
- &&&
{
qer_editorimage &&&
surfaceparm paper
qer_keyword Affiches
qer_keyword Posters
{
map &&&
rgbgen identity
}
{
map $lightmap
rgbgen identity
blendfunc GL_DST_COLOR GL_ZERO
}
}
Il est basique aussi, mais donne plusieurs mots-clef au shader, et un "surfaceparm" (type de surface) précis.
Le fichier de shader-type n'est pas supprimé une fois le programme terminé!