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'avance

    EDIT 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 😉