#1 

19-11-2011 13:22:46

Lagiol
Membres
Avatar de Lagiol
Date d'inscription:
Messages: 24
IP: 88.163.115.125
Courriel

Bonjour,
j'ai modèlisé une table (basique) avec Blender que j'ai texturé et importé avec Irrlicht. Tout va bien, sauf que les textures ne sont pas chargées correctement. En fait au lieu d'avoire une vraie texture de bois j'ai seulement la couleur marron.

Comment faire pour avoir une vrai texture ? Merci.


Hors ligne


#2 

19-11-2011 15:05:34

Gehogor
Membres
Avatar de Gehogor
Date d'inscription:
Messages: 130
IP: 173.10.47.49
Courriel

Bonjour Lagiol, bienvenu.

Sinon, j'ai eu le même genre de problème. Je l'ai résolu en jouant avec les paramètres d'échelle des textures. Mes textures étaient trop dilatées,...

node->getMaterial(i).getTextureMatrix(j).setTextureScale( scale.x , scale.y );
node->getMaterial(i).getTextureMatrix(j).setTextureScaleCenter( scaleCenter.x , scaleCenter.y );
node->getMaterial(i).getTextureMatrix(j).setTextureTranslate( translate.x , translate.y );
node->getMaterial(i).getTextureMatrix(j).setTextureTranslateTransposed( translateTransposed.x , translateTransposed.y );


Et hop... wink

Hors ligne


#3 

20-11-2011 07:46:25

thoced
Membres
Date d'inscription:
Messages: 65
IP: 91.86.186.105
Courriel

Peux tu indiquer quel type de fichier importe tu dans irrlicht et inscrire le bout de code qui te permet de charger ton mesh, merci


Hors ligne


#4 

21-11-2011 11:30:35

Lagiol
Membres
Avatar de Lagiol
Date d'inscription:
Messages: 24
IP: 194.199.75.138
Courriel

Gehogor, il manque une partie de code non ? par ce que là ça plante un peu il manque les "scale" et les autres "scaleCenter", "translate", etc, et i, j, y, x sont s32 ou int ?

thoced, c'est un .obj.


Hors ligne


#5 

21-11-2011 17:50:40

Gehogor
Membres
Avatar de Gehogor
Date d'inscription:
Messages: 130
IP: 99.38.65.21
Courriel

En effet, les variables non précisées sont des variables de mon programme, il faut que tu mets les tiennes ou des valeurs fixes si tu préfères. En ce qui concerne s32 ou int, je ne sais plus, il faut regarder la doc !

Aller, juste pour le délire...

int materialCount = node->getMaterialCount();       // On récupère le nombre de matière de l'objet 3D
   
for(int i=0;i<materialCount;i++)
{
	node->getMaterial(i).MaterialType = EMT_SOLID /*Tes paramètres*/;

	node->getMaterial(i).ZBuffer          = /*Tes paramètres*/;
	node->getMaterial(i).Wireframe        = /*Tes paramètres*/;
	node->getMaterial(i).PointCloud       = /*Tes paramètres*/;
	node->getMaterial(i).AmbientColor     = /*Tes paramètres*/;
	node->getMaterial(i).EmissiveColor    = /*Tes paramètres*/;
	node->getMaterial(i).SpecularColor    = /*Tes paramètres*/;
	node->getMaterial(i).DiffuseColor     = /*Tes paramètres*/;
	node->getMaterial(i).Thickness        = /*Tes paramètres*/;
	node->getMaterial(i).Shininess        = /*Tes paramètres*/;
	node->getMaterial(i).Lighting         = /*Tes paramètres*/;
	node->getMaterial(i).BackfaceCulling  = /*Tes paramètres*/;
	node->getMaterial(i).FogEnable        = /*Tes paramètres*/;
	node->getMaterial(i).GouraudShading   = /*Tes paramètres*/;
	node->getMaterial(i).NormalizeNormals = /*Tes paramètres*/;
	node->getMaterial(i).ZWriteEnable     = /*Tes paramètres*/;

	node->getMaterial(i).AntiAliasing = /*Tes paramètres*/;

	//********************************* Gestion des textures ***************************************
	for(int j=0;j<4;j++)		// Pour Irrlicht... c'est 4, mais on peut changer, il faut demander à Tmyke pour ça !
	{
		node->getMaterial(i).getTextureMatrix(j).setTextureScale( /*Tes paramètres*/ , /*Tes paramètres*/ );
		node->getMaterial(i).getTextureMatrix(j).setTextureScaleCenter( /*Tes paramètres*/ , /*Tes paramètres*/ );
		node->getMaterial(i).getTextureMatrix(j).setTextureTranslate( /*Tes paramètres*/ , /*Tes paramètres*/ );
		node->getMaterial(i).getTextureMatrix(j).setTextureTranslateTransposed( /*Tes paramètres*/ , /*Tes paramètres*/ );
	}
	// *********************************************************************************************
}


Et hop... wink

Hors ligne


#6 

22-11-2011 12:41:54

Lagiol
Membres
Avatar de Lagiol
Date d'inscription:
Messages: 24
IP: 194.199.75.138
Courriel

Marche toujours pas, j'ai beau mettre des valeurs énormes comme minuscules, marche pas !


Hors ligne


#7 

23-11-2011 00:28:00

Gehogor
Membres
Avatar de Gehogor
Date d'inscription:
Messages: 130
IP: 173.10.47.49
Courriel

Ok, si j'ai bien compris, ça compile, ça ne plante pas mais par contre tu as toujours du marron comme rendu de texture. Je suis désolé, je n'avais que ça en réserve ! Bon courage.

Il y a bien un mec trop balaise qui va t'aider...


Et hop... wink

Hors ligne


#8 

23-11-2011 19:57:23

Magun
Administrateurs
Avatar de Magun
Date d'inscription:
Messages: 910
IP: 188.93.45.30
Courriel  Site web

j'ai suivit un peut le topic tapis dans l'ombre .. :]

ce que tu ne presice pas c'est esque tu utilise les texture vectoriel de blender ?
si c'est le cas navré pour toi ça ne passe pas à l'exporte, on a juste une colorisation des vertices
il te faut faire une uvmap, crée ta texture en externe et importer la texture dans blender pour l'appliquer
à partir de la normalement tu charge ton model et il charge automatiquement la texture ( ça depend du format, au pire tu load la texture en manuel )

sinon uvmap incorect, shader ?, probleme d'exportation (essaye un autres formats), etc ... je peut voir ça si tu m'upload ton .blend wink

Hors ligne


#9 

24-11-2011 14:57:35

Lagiol
Membres
Avatar de Lagiol
Date d'inscription:
Messages: 24
IP: 194.199.75.138
Courriel

Magun, ça prend plus de temps l'UV Mapping, non ?

J'envoie mon modèle comme demandé, et les textures qui vont avec.
http://hotfile.com/dl/135880659/1a592a5/table.zip.html


Hors ligne


#10 

25-11-2011 00:09:59

Magun
Administrateurs
Avatar de Magun
Date d'inscription:
Messages: 910
IP: 188.93.45.30
Courriel  Site web

d'aprés ce que j'ai vue ça viens de l'uv map ... par contre sa passe pas a l'export en wavefront (.obj), sinon sa semble fonctionner en .x

Hors ligne


#11 

28-11-2011 11:09:02

Lagiol
Membres
Avatar de Lagiol
Date d'inscription:
Messages: 24
IP: 194.199.75.138
Courriel

On ne peux pas exporter en .x, si ?


Hors ligne


#12 

28-11-2011 12:11:23

nico
Administrateurs
Avatar de nico
Date d'inscription:
Messages: 563
IP: 82.232.128.163
Courriel

Coucou, Tu va tout en bas à gauche et tu selectionne UV/imageEditor
Tu clique sur image->New Image, ensuite tu coche la case uv test grid
Après tu va dans la colone de droite, tu clique sur l'onglet Render, en bas tu as l'otion bake, tu selectioone le mode"textured" et tu clique sur bake.
Voilà en principe tu vera la texture du bois dans la partie uv/imageeditor
j'ai testé ta table et une partie de la texture est tourné de 90°, à toi de rectifier le problème wink
pour cela tu va dans la colonne de gauche tu clique sur unwrap et sa va redefinir la decoupe de ton objet, ensuite tu reclic sur bake


Hors ligne


#13 

29-11-2011 11:30:39

Lagiol
Membres
Avatar de Lagiol
Date d'inscription:
Messages: 24
IP: 194.199.75.138
Courriel

Lorsque je clique sur "bake", j'ai un message d'erreur "no objects or images found to bake to"


Hors ligne


#14 

29-11-2011 13:05:10

nico
Administrateurs
Avatar de nico
Date d'inscription:
Messages: 563
IP: 82.232.128.163
Courriel

Bah ça veut dire ce que ça veut dire wink
soit l'objet n'est pas selectionné soit tu n'a pas créer de nouvelle image, je pense que c'est plutôt la premiere solution, selectionne ton objet en mode "object" puis passe en "edit" mode.
ps:courage il faut du temps pour s'habituer à blender wink


Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
169 invités en ligne
membre en ligne: -
RSS Feed