Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    SOLVED Problème texture sur une entité

    1.7.x
    1.7.x
    3
    8
    1270
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      afterlife last edited by

      Bonjour à tous, J’ai récemment créé un mob personnalisé auquel j’ai appliqué une texture ayant un effet de transparence, tout fonctionne correctement mais cependant la texture reste opaque. Y’aurai t’il une solution pour régler le problème

      Merci d’avance pour vos éventuelles réponses.

      1 Reply Last reply Reply Quote 0
      • Diangle
        Diangle last edited by

        Je sais pas si on peux mettre une texture avec de la transparence, a voir ce que les autres vont dire.

        1 Reply Last reply Reply Quote 0
        • robin4002
          robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

          Le code de base des entités ne prend pas en compte la couche alpha, normalement il suffit de reprendre le code de mc et de remplacer le glColor3f par un glColor4f.

          1 Reply Last reply Reply Quote 0
          • A
            afterlife last edited by

            Merci pour la réponse mais je suis débutant et je n’ai pas bien compris. Pourrais-tu développer un petit peu plus s’il te plait =s.

            1 Reply Last reply Reply Quote 0
            • robin4002
              robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

              Rajoute ce code dans la classe du rendu de ton mob :

              ​    protected void renderModel(EntityLivingBase p_77036_1_, float p_77036_2_, float p_77036_3_, float p_77036_4_, float p_77036_5_, float p_77036_6_, float p_77036_7_)
              
                  {
                      this.bindEntityTexture(p_77036_1_);
              
                      if (!p_77036_1_.isInvisible())
                      {
                          this.mainModel.render(p_77036_1_, p_77036_2_, p_77036_3_, p_77036_4_, p_77036_5_, p_77036_6_, p_77036_7_);
                      }
                      else if (!p_77036_1_.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer))
                      {
                          GL11.glPushMatrix();
                          GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                          GL11.glDepthMask(false);
                          GL11.glEnable(GL11.GL_BLEND);
                          GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
                          GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569F);
                          this.mainModel.render(p_77036_1_, p_77036_2_, p_77036_3_, p_77036_4_, p_77036_5_, p_77036_6_, p_77036_7_);
                          GL11.glDisable(GL11.GL_BLEND);
                          GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
                          GL11.glPopMatrix();
                          GL11.glDepthMask(true);
                      }
                      else
                      {
                          this.mainModel.setRotationAngles(p_77036_2_, p_77036_3_, p_77036_4_, p_77036_5_, p_77036_6_, p_77036_7_, p_77036_1_);
                      }
                  }
              
              1 Reply Last reply Reply Quote 0
              • A
                afterlife last edited by

                Je ne comprend pas j’ai bien rajouté et remplacé ce que tu ma conseillé mais ceci ne fonctionne pas

                public class Rendermoutoninvisible extends RenderLiving
                {
                public final ResourceLocation texture = new ResourceLocation("TutoMod:textures/entity/moutoninvisible.png");
                
                public Rendermoutoninvisible(ModelBase par1ModelBase, float par2)
                {
                super(par1ModelBase, par2);
                }
                
                protected ResourceLocation getEntityTexture(Moutoninvisible mob)
                   {
                       return texture;
                   }
                   protected ResourceLocation getEntityTexture(Entity par1Entity)
                   {
                       return this.getEntityTexture((Moutoninvisible)par1Entity);
                   }
                   protected void renderModel(EntityLivingBase p_77036_1, float p_77036_2, float p_77036_3, float p_77036_4, float p_77036_5, float p_77036_6, float p_77036_7_)
                
                   {
                       this.bindEntityTexture(p_77036_1_);
                
                       if (!p_77036_1_.isInvisible())
                       {
                           this.mainModel.render(p_77036_1, p_77036_2, p_77036_3, p_77036_4, p_77036_5, p_77036_6, p_77036_7_);
                       }
                       else if (!p_77036_1_.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer))
                       {
                           GL11.glPushMatrix();
                           GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                           GL11.glDepthMask(false);
                           GL11.glEnable(GL11.GL_BLEND);
                           GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
                           GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569F);
                           this.mainModel.render(p_77036_1, p_77036_2, p_77036_3, p_77036_4, p_77036_5, p_77036_6, p_77036_7_);
                           GL11.glDisable(GL11.GL_BLEND);
                           GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
                           GL11.glPopMatrix();
                           GL11.glDepthMask(true);
                       }
                       else
                       {
                           this.mainModel.setRotationAngles(p_77036_2, p_77036_3, p_77036_4, p_77036_5, p_77036_6, p_77036_7, p_77036_1_);
                       }
                   }
                }
                
                1 Reply Last reply Reply Quote 0
                • robin4002
                  robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                  Modifie peut être les deux
                             GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
                  en
                             GL11.glAlphaFunc(GL11.GL_GREATER, 1.0F);

                  1 Reply Last reply Reply Quote 0
                  • A
                    afterlife last edited by

                    Merci robin j’ai juste retiré les différentes conditions et gardé le code principal et sa marche parfaitement merci beaucoup pour ta réponse !!!   :shy:

                    1 Reply Last reply Reply Quote 0
                    • 1 / 1
                    • First post
                      Last post
                    Design by Woryk
                    Contact / Mentions Légales / Faire un don

                    MINECRAFT FORGE FRANCE © 2018

                    Powered by NodeBB