[Problème texture TESR]



  • Bonjour,
    J'ai un petit problème avec la texture de mon bloc TESR elle est toute trouble pas belle .
    Je vous met des screens:

    http://puu.sh/ldLR7/b75e1677ec.png
    http://puu.sh/ldLRX/752cc0a871.PNG

    
    public class EscalierEntitySpecialRenderer extends TileEntitySpecialRenderer {
    
    public static Escalier model = new Escalier();
    private ResourceLocation texture = new ResourceLocation("ag", "textures/models/blocks/planks_oak.png");
    
    @Override
    public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float partialRenderTick) 
    {
    this.renderTileEntityMurEntityAt((EscalierEntity)tile,  x,  y,  z,  partialRenderTick);
    }
    
    private void renderTileEntityMurEntityAt(EscalierEntity tile, double x,
    double y, double z, float partialRenderTick) 
    {
    GL11.glPushMatrix();
    GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D);
    GL11.glRotatef(180, 0.0F, 0.0F, 1.0F);
    GL11.glRotatef(90F * tile.getDirection(), 0.0F, 1.0F, 0.0F); 
    this.bindTexture(texture);
    model.render();
    GL11.glPopMatrix();
    }
    
    }
    
    

  • Rédacteurs

    Elle n'est pas trouble, elle est juste étirée



  • Comment je peu réglé ça ? ma texture fait du 16*16


  • Rédacteurs

    Il me semble que se soit dans model.render() mais pas sûr, envoie la classe



  • public class Escalier extends ModelBase
    {
      //fields
        ModelRenderer Shape1;
        ModelRenderer Shape2;
    
      public Escalier()
      {
        textureWidth = 64;
        textureHeight = 32;
    
          Shape1 = new ModelRenderer(this, 0, 0);
          Shape1.addBox(0F, 0F, 0F, 16, 16, 8);
          Shape1.setRotationPoint(-8F, 8F, 0F);
          Shape1.setTextureSize(64, 32);
          Shape1.mirror = true;
          setRotation(Shape1, 0F, 0F, 0F);
          Shape2 = new ModelRenderer(this, 0, 0);
          Shape2.addBox(-8F, 15F, -8F, 8, 16, 8);
          Shape2.setRotationPoint(8F, -7F, 0F);
          Shape2.setTextureSize(64, 32);
          Shape2.mirror = true;
          setRotation(Shape2, 0F, 0F, 0F);
      }
    
      public void render()
      {
        Shape1.render(0.0625F);
        Shape2.render(0.0625F);
      }
    
      private void setRotation(ModelRenderer model, float x, float y, float z)
      {
        model.rotateAngleX = x;
        model.rotateAngleY = y;
        model.rotateAngleZ = z;
      }
    
    }
    

  • Rédacteurs

    Shape1.setTextureSize(64,32) et
    Shape2.setTextureSize(64,32), essai avec 16 et 16

    EDIT : en fait je crois que ça ne viens pas de là



  • Ouais ça ne change rien c'est pareil.



  • Model techne ? ta texture est etiré car le template n'est pas bon.

    Ta texture est celle d'un carré de 16x16 sur une base de 64x32, donc forcement. Déplus, la position est mauvaise d'où l’étirement.

    Ouvre techne, ton model, dans un cadre superieur droit, tu devrai avoir un cadre blanc, avec des polygone de couleur, rouge, vert et bleu, le tout superposé.

    sélectionne ton shape1 dans techne, et tu va a gauche, l'a ou tu a entrer tes coordonnés, tu a deux case pour les texture offset. déplace le de… Ce que tu veux, t'en que ça ne se chevauche pas.

    Ensuite, file > export as > texture map.

    Tu a ton template de ton model.

    ensuite, en bas tu met load texture > tu met ta texture histoire de comprendre comment va marcher l'UV mapping.

    Pour finir, tu ouvre genre paint, photoshop ou se que tu veux pour remplir ses cases de couleur.

    En espérant été clair ><