[1.12.2] Render d'un skin personnalisé qui a des problèmes lorsque je scale la taille du joueur.



  • Bonjour/bonsoir,

    pour faire simple, je modifie le skin du joueur, mais jusque là tout va bien. Le problème, c'est que lorsque je scale la taille du joueur, (je l'agrandi) une forme bizarre apparaît en dessous du joueur.
    text alternatif

    Voici le code de ma classe lorsque je modifi la taille du joueur:

    @Override
        public void doRender(AbstractClientPlayer entity, double x, double y, double z, float entityYaw, float partialTicks) {
            //float scale = ClientProxy.INSTANCE.sizeOption.getScale(entity.getName());
            float scale = ClientProxy.INSTANCE.sizeOption.getScale("Naruse");
            if(scale != 0){
                GL11.glPushMatrix();
                scalePlayer(entity, scale);
                GlStateManager.translate((x / scale) - x, (y / scale) - y, (z / scale) - z);
                //Reflections.setBoxSize(entity, -0.6f*scale, 1.8f*scale);
            }
            if(scale == 1){
                entity.eyeHeight = 1.62f;
            }
            if (!entity.isUser() || this.renderManager.renderViewEntity == entity)
            {
                double d0 = y;
    
                if (entity.isSneaking())
                {
                    d0 = y - 0.125D;
                }
    
                this.setModelVisibilities(entity);
                GlStateManager.enableBlendProfile(GlStateManager.Profile.PLAYER_SKIN);
                super.doRender(entity, x, d0, z, entityYaw, partialTicks);
                getMainModel().renderDeadmau5Head(0.0625F);
                GlStateManager.disableBlendProfile(GlStateManager.Profile.PLAYER_SKIN);
            }
            if(scale != 0){
                GL11.glPopMatrix();
            }
        }
    
    public void scalePlayer(AbstractClientPlayer e, float size) {
            GL11.glScalef(size, size, size);
            if(size < 1){
                size = 1.62f-(1.62f-size);
                size += 0.435f;
            }else{
                size = 1.62f+size;
                size -= 0.525f;
            }
            e.eyeHeight = size;
        }
    

    Par ailleurs, tant que j'y suis, j'aimerai savoir comment modifier la texture de la main du joueur lorsqu'il est en première personne. Si quelqu'un sait pour mes deux questions, merci d'avance. 😉


Log in to reply