Résolu Problème de fichier mtl, texture non load | Bug apparence model
-
Bonjour à tous !
Je me remets actuellement à l’utilisation des fichiers obj dans mon mod, cependant quoique je fasse le fichier mtl ne semble pas marcher. J’ai plusieurs textures pour chacune de mes shapes constituant mon model et du coup je ne peux utiliser cette simple ligne :
this.bindTexture(this.test);
destinée lorsqu’il s’'agit d’une seule texture (néanmoins elle marche pour un obj à 1 seule texture).
Voici mon code :public class RenderNightWalker extends Render { private static IModelCustom glmodel; private ResourceLocation test = new ResourceLocation(MineKingdomHeartsMod.MODID, "models/entities/living/heartless/nightwalker/cb9b735e.png"); public RenderNightWalker() { super(); glmodel = AdvancedModelLoader.loadModel(new ResourceLocation(MineKingdomHeartsMod.MODID, "models/entities/living/heartless/nightwalker/NightWalker.obj")); } @Override public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { GL11.glPushMatrix(); GL11.glTranslated(var2 + 0.5, var4, var6 + 0.5); GL11.glScaled(0.05, 0.05, 0.05); GL11.glShadeModel(GL11.GL_SMOOTH); this.bindTexture(this.test); glmodel.renderAll(); GL11.glPopMatrix(); } @Override protected ResourceLocation getEntityTexture(Entity entity) { return null; }
Voilà un screen de l’emplacement de mon fichier mtl :
Et son contenu :
# 3ds Max Wavefront OBJ Exporter v0.97b - ©2007 guruware # File Created: 09.02.2016 13:54:21 newmtl material_2 Ns 10.0000 Ni 1.5000 d 1.0000 Tr 0.0000 Tf 1.0000 1.0000 1.0000 illum 2 Ka 0.5880 0.5880 0.5880 Kd 0.5880 0.5880 0.5880 Ks 0.0000 0.0000 0.0000 Ke 0.0000 0.0000 0.0000 map_Ka cb9b735e.png map_Kd cb9b735e.png newmtl material_1 Ns 10.0000 Ni 1.5000 d 1.0000 Tr 0.0000 Tf 1.0000 1.0000 1.0000 illum 2 Ka 0.5880 0.5880 0.5880 Kd 0.5880 0.5880 0.5880 Ks 0.0000 0.0000 0.0000 Ke 0.0000 0.0000 0.0000 map_Ka 3ee0ae36.png map_Kd 3ee0ae36.png
J’ai refresh je ne sais combien de fois mon projet, mais cela n’y fait rien
Que pensez-vous que je devrais faire ??? Merci d’avanceEDIT 1 = Même en essayer de load avec la classe ObjModelLoader, cela ne change rien du tout…
EDIT 2 = Je précise aussi au passage que j’avais déjà réussi à faire cela (load un obj texturé à une entity en passant par IModelCustom, cependant j’ai supprimé les sources de ce vieux mod…).
-
Je ne sais pas comment ton système fonctionne, jamais entendu parler, mais sinon tu peux faire plusieurs bindTexture() à la suite, ça marche très bien.
-
Nop déjà essayé. En fait dès que j’ai reccourds à bindTexture ma texture s’applique à toute l’étendue de mon modèle. Du coup si je fais plusieurs bindTexture, ça sera toujorus le dernier qui va être pris en compte par-rapport à tous les précédents.
Je pense que mon problème vient peut-être de ma version de forge (build 1558). Je vais essayer d’en prendre un plus vieux (build 1381) qui gèrerait peut-être mieux le format mtl. J’édite dès que j’ai fini la réinstallation de ma nouvelle workspace… -
Ok, bonne chance, et ça me rappelle qu’en fait j’avais utilisé deux modèles, avec celui à afficher sur la face qui est un tout petit peu décalé pour pas que les textures ne se superposent.
-
Ok même prob sur le vieux build. Je vais poursuivre mes recherches dans l’espoir de retrouver un build qui gérerait ce format
EDIT = Apparemment les .mtl ne semblent pas être supportés par le système de forge. Je suis donc plutôt passé par GLUtils pour y arriver.
-
Essaie de faire le rendu en 2 parties sinon
-
EDIT = Nouveau problème :
J’en profite rapidement pour vous montrer ce que rend mon modèle IG :
Alors que sous mon éditeur de modèles 3D, il ressemble à ça :
Sauriez par hasard d’où cela peut venir ?? Merci d’avance
-
problème de texturing je pense
-
Effectivement, merci SCAREX