MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Rendu 3D d'item en inventaire

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    5 Messages 2 Publieurs 1.1k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • FolganskyF Hors-ligne
      Folgansky Correcteurs
      dernière édition par

      Yep, qqs soucis de compréhension vis à vis du rendu 3D en inventaire.

      package fr.powergame.modpg2.client.renders.items;
      
      import org.lwjgl.opengl.GL11;
      
      import fr.powergame.modpg2.client.models.ModelUSP;
      import net.minecraft.client.Minecraft;
      import net.minecraft.entity.Entity;
      import net.minecraft.item.ItemStack;
      import net.minecraft.util.ResourceLocation;
      import net.minecraftforge.client.IItemRenderer;
      
      public class RenderUSP implements IItemRenderer
      {
          protected ModelUSP model;
          protected static final ResourceLocation texture = new ResourceLocation("ModPg2:textures/models/items/R700.png");
      
          public RenderUSP()
          {
              model = new ModelUSP();
          }
      
          @Override
          public boolean handleRenderType(ItemStack item, ItemRenderType type)
          {
              switch(type)
              {
                  case EQUIPPED:
                      return true;
                  case EQUIPPED_FIRST_PERSON:
                      return true;
                  case ENTITY:
                      return true;
                  case INVENTORY:
                      return true;
                  default:
                      return false;
              }
          }
      
          @Override
          public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
          {
              return false;
          }
      
          @Override
          public void renderItem(ItemRenderType type, ItemStack stack, Object… data)
          {
              switch(type)
              {
                  case EQUIPPED:
                  {
                      GL11.glPushMatrix();
                      GL11.glRotatef(90.F, 1.0F, 0.2F, 0.0F);
                      GL11.glRotatef(100.F, 1.0F, 0.0F, 0.0F);
                      GL11.glTranslatef(0.5F, -0.35F, -0.75F);
                      GL11.glScaled(0.5F, 0.5F, 0.5F);
                      Minecraft.getMinecraft().renderEngine.bindTexture(texture);
                      model.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
                      GL11.glPopMatrix();
                      break;
                  }
                  case EQUIPPED_FIRST_PERSON:
                  {
                      GL11.glPushMatrix();
                      GL11.glRotatef(90.F, 1.0F, -0.2F, 0.0F);
                      GL11.glRotatef(100.F, 0.5F, -0.2F, -0.65F);
                      GL11.glRotatef(30.F, -0.2F, -1.2F, 0.0F);
                      GL11.glTranslatef(-0.4F, 0.0F, -2.7F);
                      GL11.glScaled(1F, 1F, 1F);
                      Minecraft.getMinecraft().renderEngine.bindTexture(texture);
                      model.render((Entity)null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
                      GL11.glPopMatrix();
                      break;
                  }
                  case ENTITY:
                  {
                      GL11.glPushMatrix();
                      GL11.glRotatef(90.F, 1.0F, 0F, 0F);
                      GL11.glRotatef(90.F, 1.0F, 0F, 0F);
                      GL11.glTranslatef(0F, -0.3F, 0.3F);
                      GL11.glScaled(0.5F, 0.5F, 0.5F);
                      Minecraft.getMinecraft().renderEngine.bindTexture(texture);
                      model.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
                      GL11.glPopMatrix();
                      break;
                  }
                  case INVENTORY:
                  {
                      GL11.glPushMatrix();
                      Minecraft.getMinecraft().renderEngine.bindTexture(texture);
                      model.render((Entity)null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
                      GL11.glPopMatrix();
                      break;
                  }
                  default:
                      break;
              }
          }
      }
      

      Le rendu n’apparait pas en inventaire ou alors il n’est pas visible à l’écran
      Besoin de vos avis

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002R Hors-ligne
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
        dernière édition par

        Salut,
        As-tu bien enregistré ton IItemRenderer ?

        1 réponse Dernière réponse Répondre Citer 0
        • FolganskyF Hors-ligne
          Folgansky Correcteurs
          dernière édition par

          Ah bah y’a que le rendu en inventaire qui pose problème. En main le rendu est bon et en 3ème personne aussi

                  MinecraftForgeClient.registerItemRenderer(ModPg2.itemUSP, new RenderUSP());
          
          1 réponse Dernière réponse Répondre Citer 0
          • robin4002R Hors-ligne
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
            dernière édition par

            ah, j’avais mal lu, désolé.
            Essaies d’ajouter ses 3 lignes ? https://github.com/FFMT/nanotech_mod/blob/master/common/fr/mcnanotech/kevin_68/nanotechmod/main/client/renderer/items/ItemLightSaberRender.java#L110-L112
            il me semble que par défaut les coordonnées du rendu son endors de l’écran, donc il faut utiliser un glTranslatef

            1 réponse Dernière réponse Répondre Citer 0
            • FolganskyF Hors-ligne
              Folgansky Correcteurs
              dernière édition par

              Ah ouais c’est tordu en effet.
              Merci, plus qu’à bien régler tout ça.

              1 réponse Dernière réponse Répondre Citer 0
              • 1 / 1
              • Premier message
                Dernier message
              Design by Woryk
              ContactMentions Légales

              MINECRAFT FORGE FRANCE © 2024

              Powered by NodeBB