[Tuto] Comment incruster une image à une surface

Partagez vos trucs et astuces concernant la réalisation des maps et des modèles.

Modérateurs : Sadd, Asche

Avatar du membre
Newin
Ancien responsable UTF
Messages : 106
Enregistré le : 07 juil. 2010, 00:07

[Tuto] Comment incruster une image à une surface

Message par Newin » 26 mars 2011, 16:42

Bonjour tous le monde.

Voici quelques exemples que vous saurez faire après ce petit tuto, pas bien compliquer qui permettra de casser la monotonie des surfaces de votre map :

ImageImageImage



Pour commencer prenons pour support le dernière exemple ci-dessus. Nous avons besoin pour cela un programme de retouche d'image tel Gimp ou Photoshop et de texte comme NotePad++ ou tous simplement un blocnote .

Tous d'abord, munissez vous d'une image.png comportant une transparence comme ici ( n'oubliez pas que votre image doit être de dimension égale à un multiple de 2 tel 128, 256, 512 ... ) :

Image

Ensuite crée un calque en dessous du premier et remplissez la de la couleurs #808080 comme ceci :

Image

Le principe est qu'une fois en jeu les couleurs ayant une valeur se rapprochant de ce gris devienne invisible.
Je vous recommande donc si vous avez des image avec un tour blanc de mettre votre calque image en mode fusion.

Enregistrez votre image en .jpg , que vous nommerez test1, dans le dossier "tuto" que vous aurez préalablement crée dans votre dossier texture.

Nous allons ensuite passer au script. Créez donc un nouveaux shader dans le dossier scripts que vous nommerez "tutoshader" ( n'oublier pas de le déclarer dans le shaderlist ). Ouvrez le fichier et introduisez ce code ci :

Code : Tout sélectionner

textures/tuto/test1
{
	qer_editorimage textures/tuto/test1.jpg
	surfaceparm trans
	surfaceparm nonsolid
	surfaceparm nomarks
	polygonOffset
	nopicmip
	{
		map textures/tuto/test1.jpg
		blendfunc gl_dst_color gl_src_color
	}
}
Enregistrez le shader et ouvrez GTKradiant.

Crée un cube et plaquer votre shader sur les faces de façon que votre image prenne la totalité de la face.

Image

Ensuite sélectionnez votre brush, allez dans le menu curve, cliquez sur "Simple Patch Mesh..." (Shift+P) et cliquez sur "Ok". Normalement votre brush doit s'être transformé en une face plate.

Image

Il ne vous reste plus qu'à plaquer la face sur votre mur ou votre sol et le tour est joué.

Image

Sur GTKradiant il se peut que la face réagisse mal avec la surface ou elle est plaqué ( vous ci-dessus ) mais ce problème disparait une fois dans le jeu.


C'est maintenant à vous de crée toute sorte d'incrustations qui permettra de rendre vos maps plus réalistes.

Je remercie grandement Skaz qui ma aidé à comprendre ce script que j'ai voulu partager avec vous.

Voila voila, bonne chance a tous et si vous avez des question n'hésitez pas ;D

Avatar du membre
Mizukashi
Messages : 702
Enregistré le : 25 avr. 2010, 17:47
Localisation : Pays de la Loire

Re: [Tuto] Comment incruster une image à une surface

Message par Mizukashi » 26 mars 2011, 19:48

J'pense que ce tuto devrait plaire à stratège. :)

stratege
Messages : 2246
Enregistré le : 24 juin 2009, 22:38
Localisation : Ile de France

Re: [Tuto] Comment incruster une image à une surface

Message par stratege » 26 mars 2011, 20:12

très beau boulot :D .
En fait cela s'appel un "decal" =).
Pour ceux qui ne savent pas, polygonOffset est très utile car cela permet de décaler un peu la surface du brush pour le decal.

Un des nombreux lien de textures decal: http://www.cgtextures.com/textures.php?t=browse&q=52338


PS:
n'oubliez pas que votre image doit être de dimension égale à un multiple de 2 tel 128, 256, 512 ... ) :
Tu ne l'aurais pas dis, j'aurais deviné que c'était skaz ^^.
Afin d'éviter toute rumeur, je me suis bien fait éjecter du procom par Skaz.
Parce que j'ai osé avoir un avis divergeant du sien.

http://pastebin.com/ruq9te29

Proposer à ses membres une structure leur permettant de pratiquer ensemble la procrastination.

Avatar du membre
Mizukashi
Messages : 702
Enregistré le : 25 avr. 2010, 17:47
Localisation : Pays de la Loire

Re: [Tuto] Comment incruster une image à une surface

Message par Mizukashi » 26 juin 2011, 13:36

En relisant je n'ai pas compris quelle commande permet de rendre le gris transparent...
Asche nous avait présenté une commande pour rendre le noir transparent, et toi tu nous propose une commande pour rendre la couleur de notre choix transparent c'est bien ça ?
Mais alors comment fais tu dans ton script pour "choisir" quelle couleur sera transparente ou non ? Pourrait on rendre un fond vert transparent ?


Avatar du membre
Mizukashi
Messages : 702
Enregistré le : 25 avr. 2010, 17:47
Localisation : Pays de la Loire

Re: [Tuto] Comment incruster une image à une surface

Message par Mizukashi » 26 juin 2011, 19:57

Merci skaz mais je n'arrive toujours pas à comprendre.
J'ai compris grâce à ton site, que l'on pouvait choisir la couleur qui allait disparaître avec le code RGB, mais il ne l'utilise pas ici.
Je l'ai bien relu plusieurs fois, et j'ai utilisé un traducteur ( peu efficace... ) mais je ne comprends pas l'utilité de

Code : Tout sélectionner

blendfunc gl_dst_color gl_src_color

Avatar du membre
siomsir
Messages : 781
Enregistré le : 27 mars 2010, 16:10
Localisation : windows xp

Re: [Tuto] Comment incruster une image à une surface

Message par siomsir » 26 juin 2011, 20:18

Le blendfunc gl_dst_color gl_src_color ne sert pas à rendre la couleur transparente mais à la "camoufler" dans la texture d'en dessous.

Avatar du membre
bolbol26
Messages : 58
Enregistré le : 24 juil. 2010, 19:18
Localisation : France

Re: [Tuto] Comment incruster une image à une surface

Message par bolbol26 » 06 mai 2012, 14:58

Quand j'utilise ce shader, en jeu j'ai la texture bleu blanc rouge, alors que dans gtkradiant le shader s'affiche et mes chemins sont bon.
Je l'ai appliqué sur un "Simple Patch Mesh" car je veut qu'il soit solide et visible que d'un seul coté.

voici la texture que j'ai (téléchargé sur cg-texture)
je ne sais pas si j'ai bien réussi à mettre la couche alpha ...
Texture format .PSD (je l'ai enregistré en .tga)

voici mon shader :
Spoiler :

Code : Tout sélectionner

//********************                ************//
//____________________ Grillage Trans ____________//
//********************                ************//

textures/mes_newshader/Grillage
{
   qer_editorimage textures/mes_newshader/GrillageCGtexture.tga
   surfaceparm trans
//   surfaceparm nonsolid
   surfaceparm nomarks
   polygonOffset
   nopicmip
   {
      map textures/mes_newshader/GrillageCGtexture.tga
      blendfunc gl_dst_color gl_zero
   }
}

Xh0r0
Messages : 113
Enregistré le : 22 sept. 2012, 14:08

Re: [Tuto] Comment incruster une image à une surface

Message par Xh0r0 » 01 févr. 2013, 16:22

erf j ai essayer mainte fois mais j arrive à rien :-/. Moi tous disparaît quand je le colle à un mur.

Xh0r0
Messages : 113
Enregistré le : 22 sept. 2012, 14:08

Re: [Tuto] Comment incruster une image à une surface

Message par Xh0r0 » 10 févr. 2013, 12:39

hello, j'ai essayer mainte fois de faire le tuto à la lettre mais j'arrive à rien du tout :-(((( l'image noir ou autre reste ... Y a t il un bon moyen pour que sa ne le fasse plus? merci

Avatar du membre
Sadd
Expert mapping & modding
Messages : 1168
Enregistré le : 01 janv. 2011, 14:45
Localisation : Exeter

Re: [Tuto] Comment incruster une image à une surface

Message par Sadd » 10 févr. 2013, 12:47

Cela ne fonctionne qu'avec une texture possedant une couleur de fond #808080. #808080 est associé à la fonction blendfunc gl_dst_color gl_src_color, pas l'inverse.
Expert Mapping & Modding from le bout du monde!

Xh0r0
Messages : 113
Enregistré le : 22 sept. 2012, 14:08

Re: [Tuto] Comment incruster une image à une surface

Message par Xh0r0 » 10 févr. 2013, 13:51

Sadd a écrit :Cela ne fonctionne qu'avec une texture possedant une couleur de fond #808080. #808080 est associé à la fonction blendfunc gl_dst_color gl_src_color, pas l'inverse.

Ben j'ai pris une image qui était dans les textures (se qui veut dire qu'elle a déjà été sur une map) et j'ai essayer mais rien. le fond de l'image qui normalement ne doit plus être là, est toujours présente :cry:

Avatar du membre
Sadd
Expert mapping & modding
Messages : 1168
Enregistré le : 01 janv. 2011, 14:45
Localisation : Exeter

Re: [Tuto] Comment incruster une image à une surface

Message par Sadd » 10 févr. 2013, 14:33

Relis ma réponse.
Expert Mapping & Modding from le bout du monde!

Xh0r0
Messages : 113
Enregistré le : 22 sept. 2012, 14:08

Re: [Tuto] Comment incruster une image à une surface

Message par Xh0r0 » 11 févr. 2013, 21:31

Ok, si j'ai bien compris en exemple (je fais un mur et la textures du mur doit être #808080 pour pouvoir afficher le texte par après?

stratege
Messages : 2246
Enregistré le : 24 juin 2009, 22:38
Localisation : Ile de France

Re: [Tuto] Comment incruster une image à une surface

Message par stratege » 11 févr. 2013, 22:43

Le fond doit être en gris --> #808080, c'est le gris qui devient ensuite transparent.
Afin d'éviter toute rumeur, je me suis bien fait éjecter du procom par Skaz.
Parce que j'ai osé avoir un avis divergeant du sien.

http://pastebin.com/ruq9te29

Proposer à ses membres une structure leur permettant de pratiquer ensemble la procrastination.

Répondre