• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Comment "souder" deux parties sur un mob complexe ?

    1.7.x
    1.7.2
    4
    10
    3085
    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.
    • Fine33
      Fine33 dernière édition par

      Bonjour ! J’ai un mob avec un corps normal et un chapeau (jusque là, tout va bien), mais par contre, quand mon mob marche, le chapeau traîne derrière ! 😕 Mon chapeau est en deux parties, comme un chapeau melon.

      Voici le model de mon mob :

      // Date: 28/02/2014 20:40:33
      // Template version 1.1
      // Java generated by Techne
      // Keep in mind that you still need to fill in some blanks
      // - ZeuX
      
      package fr.yannblanc.aliceadsl.agriculcraft.mob;
      
      import net.minecraft.client.model.ModelBase;
      import net.minecraft.client.model.ModelRenderer;
      import net.minecraft.entity.Entity;
      import net.minecraft.util.MathHelper;
      
      public class vendeurdegrainesModel extends ModelBase
      {
      // fields
      ModelRenderer head;
      ModelRenderer body;
      ModelRenderer rightarm;
      ModelRenderer leftarm;
      ModelRenderer rightleg;
      ModelRenderer leftleg;
      ModelRenderer chapeaubas;
      ModelRenderer chapeauhaut;
      
      public vendeurdegrainesModel()
      {
      textureWidth = 128;
      textureHeight = 64;
      
      head = new ModelRenderer(this, 0, 0);
      head.addBox(-4F, -8F, -4F, 8, 8, 8);
      head.setRotationPoint(0F, 0F, 0F);
      head.setTextureSize(128, 64);
      setRotation(head, 0F, 0F, 0F);
      body = new ModelRenderer(this, 16, 16);
      body.addBox(-4F, 0F, -2F, 8, 12, 4);
      body.setRotationPoint(0F, 0F, 0F);
      body.setTextureSize(128, 64);
      setRotation(body, 0F, 0F, 0F);
      rightarm = new ModelRenderer(this, 40, 16);
      rightarm.addBox(-3F, -2F, -2F, 4, 12, 4);
      rightarm.setRotationPoint(-5F, 2F, 0F);
      rightarm.setTextureSize(128, 64);
      setRotation(rightarm, 0F, 0F, 0F);
      leftarm = new ModelRenderer(this, 40, 33);
      leftarm.addBox(-1F, -2F, -2F, 4, 12, 4);
      leftarm.setRotationPoint(5F, 2F, 0F);
      leftarm.setTextureSize(128, 64);
      setRotation(leftarm, 0F, 0F, 0F);
      leftarm.mirror = false;
      rightleg = new ModelRenderer(this, 0, 16);
      rightleg.addBox(-2F, 0F, -2F, 4, 12, 4);
      rightleg.setRotationPoint(-2F, 12F, 0F);
      rightleg.setTextureSize(128, 64);
      setRotation(rightleg, 0F, 0F, 0F);
      rightleg.mirror = true;
      leftleg = new ModelRenderer(this, 0, 16);
      leftleg.addBox(-2F, 0F, -2F, 4, 12, 4);
      leftleg.setRotationPoint(2F, 12F, 0F);
      leftleg.setTextureSize(128, 64);
      setRotation(leftleg, 0F, 0F, 0F);
      leftleg.mirror = true;
      chapeaubas = new ModelRenderer(this, 35, 0);
      chapeaubas.addBox(0F, 0F, 0F, 12, 1, 12);
      chapeaubas.setRotationPoint(-6F, -8F, -6F);
      chapeaubas.setTextureSize(128, 64);
      setRotation(chapeaubas, 0F, 0F, 0F);
      chapeauhaut = new ModelRenderer(this, 58, 17);
      chapeauhaut.addBox(0F, 0F, 0F, 8, 2, 8);
      chapeauhaut.setRotationPoint(-4F, -10F, -4F);
      chapeauhaut.setTextureSize(128, 64);
      setRotation(chapeauhaut, 0F, 0F, 0F);
      }
      
      public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7)
      {
      setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity);
      head.render(par7);
      body.render(par7);
      rightarm.render(par7);
      leftarm.render(par7);
      rightleg.render(par7);
      leftleg.render(par7);
      chapeaubas.render(par7);
      chapeauhaut.render(par7);
      }
      
      private void setRotation(ModelRenderer model, float x, float y, float z)
      {
      model.rotateAngleX = x;
      model.rotateAngleY = y;
      model.rotateAngleZ = z;
      }
      
      public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity)
      {
      
      // TÊTE
      this.head.rotateAngleY = par4 / (180F / (float)Math.PI);
      this.head.rotateAngleX = par5 / (170F / (float)Math.PI);
      
      // CHAPEAU
      
      this.chapeauhaut.rotateAngleX = chapeaubas.rotateAngleX / (170F / (float)Math.PI);
      this.chapeauhaut.rotateAngleY = chapeaubas.rotateAngleY / (180F / (float)Math.PI);
      this.chapeaubas.rotateAngleY = head.rotateAngleY / (180F / (float)Math.PI);
      this.chapeaubas.rotateAngleX = head.rotateAngleX / (170F / (float)Math.PI);
      
      // BRAS DROIT
      this.rightarm.rotateAngleX = MathHelper.cos(par1 * 0.6662F + (float)Math.PI) * 2.0F * par2 * 0.5F;
      this.rightarm.rotateAngleZ = 0.0F;
      
      // BRAS GAUCHE
      
      this.leftarm.rotateAngleX = MathHelper.cos(par1 * 0.6662F) * 2.0F * par2 * 0.5F;
      this.leftarm.rotateAngleZ = 0.0F;
      
      // JAMBE DROITE
      
      this.rightleg.rotateAngleX = MathHelper.cos(par1 * 0.6662F) * 1.4F * par2;
      this.rightleg.rotateAngleY = 0.0F;
      
      // JAMBE GAUCHE
      
      this.leftleg.rotateAngleX = MathHelper.cos(par1 * 0.6662F + (float)Math.PI) * 1.4F * par2;
      }
      }
      

      Il faudrait donc que “chapeauhaut” soit soudé avec “chapeaubas”, et “chapeaubas” avec “head”

      Merci d’avance ! 🙂

      Sur ce : chapi chapo ! (je sors)

      Mes mods :

      Agriculcraft

      #L'âge ne fait pas le mod.(L'âge ne fait pas le mod.)

      1 réponse Dernière réponse Répondre Citer 0
      • isador
        isador Moddeurs confirmés Modérateurs dernière édition par

        tu sais en sorte que quand le mob bouge (modigie potion.xPOS, motion.yPos et motion.zPos) tu applique c’est même motion a ton chapeau

        1 réponse Dernière réponse Répondre Citer 0
        • Fine33
          Fine33 dernière édition par

          Euh… je pas sûr de tout comprendre… :s

          Mes mods :

          Agriculcraft

          #L'âge ne fait pas le mod.(L'âge ne fait pas le mod.)

          1 réponse Dernière réponse Répondre Citer 0
          • isador
            isador Moddeurs confirmés Modérateurs dernière édition par

            bha quand ton mob bouge, tu récupère les variable float des mouvement en x, y et z et tu les ajoute au mouvement de ton entité chapeau

            1 réponse Dernière réponse Répondre Citer 0
            • Ama
              Ama dernière édition par

              Envoie le model techne de ton mob, et je t’explique l’erreur que tu as fait !

              Si je t'ai filé un coup de main n'oublie pas le + / -
              Par contre évite les demandes d'aides en MP, tu sera sympa'

              La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

              Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

              1 réponse Dernière réponse Répondre Citer 0
              • Fine33
                Fine33 dernière édition par robin4002

                Voilà mon model Techne :
                0_1536505008680_Vendeur.tcn

                Mes mods :

                Agriculcraft

                #L'âge ne fait pas le mod.(L'âge ne fait pas le mod.)

                1 réponse Dernière réponse Répondre Citer 0
                • Ama
                  Ama dernière édition par

                  Bien, je t’ai corrigé ton model techne, car il faut que les axes de rotation (boule bleue) soient au même endroit que les axes de rotation de la tête (toujours la boule bleue) il faut quelles soient toujours “fusionner” pour que, ici, le chapeau ait la même rotation que la tête.

                  La “soudure” comme tu dis ce fait avec ces boules bleues !

                  Model Techne corrigé: (tu verra les erreurs)
                  http://puu.sh/8yBW8.tcn

                  Model.java corrigé: (fait attention au .mirror qui bugent un peu)

                  :::

                  package fr.yannblanc.aliceadsl.agriculcraft.mob;
                  
                  import net.minecraft.client.model.ModelBase;
                  import net.minecraft.client.model.ModelRenderer;
                  import net.minecraft.entity.Entity;
                  import net.minecraft.util.MathHelper;
                  
                  public class vendeurdegrainesModel extends ModelBase
                  {
                  //fields
                  ModelRenderer chapeaubas;
                  ModelRenderer chapeauhaut;
                  ModelRenderer head;
                  ModelRenderer body;
                  ModelRenderer rightarm;
                  ModelRenderer leftarm;
                  ModelRenderer rightleg;
                  ModelRenderer leftleg;
                  
                  public vendeurdegrainesModel()
                  {
                  textureWidth = 128;
                  textureHeight = 64;
                  
                  chapeaubas = new ModelRenderer(this, 35, 0);
                  chapeaubas.addBox(-6F, -8F, -6F, 12, 1, 12);
                  chapeaubas.setRotationPoint(0F, 0F, 0F);
                  chapeaubas.setTextureSize(128, 64);
                  chapeaubas.mirror = true;
                  setRotation(chapeaubas, 0F, 0F, 0F);
                  chapeauhaut = new ModelRenderer(this, 58, 17);
                  chapeauhaut.addBox(-4F, -10F, -4F, 8, 2, 8);
                  chapeauhaut.setRotationPoint(0F, 0F, 0F);
                  chapeauhaut.setTextureSize(128, 64);
                  chapeauhaut.mirror = true;
                  setRotation(chapeauhaut, 0F, 0F, 0F);
                  head = new ModelRenderer(this, 0, 0);
                  head.addBox(-4F, -10F, -4F, 8, 8, 8);
                  head.setRotationPoint(0F, 2F, 0F);
                  head.setTextureSize(128, 64);
                  head.mirror = true;
                  setRotation(head, 0F, 0F, 0F);
                  body = new ModelRenderer(this, 16, 16);
                  body.addBox(-4F, 0F, -2F, 8, 12, 4);
                  body.setRotationPoint(0F, 0F, 0F);
                  body.setTextureSize(128, 64);
                  body.mirror = true;
                  setRotation(body, 0F, 0F, 0F);
                  rightarm = new ModelRenderer(this, 40, 16);
                  rightarm.addBox(-3F, -2F, -2F, 4, 12, 4);
                  rightarm.setRotationPoint(-5F, 2F, 0F);
                  rightarm.setTextureSize(128, 64);
                  rightarm.mirror = true;
                  setRotation(rightarm, 0F, 0F, 0F);
                  leftarm = new ModelRenderer(this, 40, 33);
                  leftarm.addBox(-1F, -2F, -2F, 4, 12, 4);
                  leftarm.setRotationPoint(5F, 2F, 0F);
                  leftarm.setTextureSize(128, 64);
                  leftarm.mirror = true;
                  setRotation(leftarm, 0F, 0F, 0F);
                  rightleg = new ModelRenderer(this, 0, 16);
                  rightleg.addBox(-2F, 0F, -2F, 4, 12, 4);
                  rightleg.setRotationPoint(-2F, 12F, 0F);
                  rightleg.setTextureSize(128, 64);
                  setRotation(rightleg, 0F, 0F, 0F);
                  rightleg.mirror = false;
                  leftleg = new ModelRenderer(this, 0, 16);
                  leftleg.addBox(-2F, 0F, -2F, 4, 12, 4);
                  leftleg.setRotationPoint(2F, 12F, 0F);
                  leftleg.setTextureSize(128, 64);
                  leftleg.mirror = true;
                  setRotation(leftleg, 0F, 0F, 0F);
                  }
                  
                  public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
                  {
                  super.render(entity, f, f1, f2, f3, f4, f5);
                  setRotationAngles(f, f1, f2, f3, f4, f5, entity);
                  chapeaubas.render(f5);
                  chapeauhaut.render(f5);
                  head.render(f5);
                  body.render(f5);
                  rightarm.render(f5);
                  leftarm.render(f5);
                  rightleg.render(f5);
                  leftleg.render(f5);
                  }
                  
                  private void setRotation(ModelRenderer model, float x, float y, float z)
                  {
                  model.rotateAngleX = x;
                  model.rotateAngleY = y;
                  model.rotateAngleZ = z;
                  }
                  
                  public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity entity)
                  {
                  super.setRotationAngles(par1, par2, par3, par4, par5, par6, entity);
                  
                  this.head.rotateAngleY = par4 / (180F / (float)Math.PI);
                  this.head.rotateAngleX = par5 / (180F / (float)Math.PI);
                  
                  this.chapeaubas.rotateAngleY = this.head.rotateAngleY; ///
                  this.chapeaubas.rotateAngleX = this.head.rotateAngleX; //// Dans ces lignes on "soude" les parties du chapeau
                  this.chapeauhaut.rotateAngleY = this.head.rotateAngleY; //// a la tête
                  this.chapeauhaut.rotateAngleX = this.head.rotateAngleX; ///
                  
                  this.rightarm.rotateAngleX = MathHelper.cos(par1 * 0.6662F + (float)Math.PI) * 2.0F * par2 * 0.5F;
                  this.leftarm.rotateAngleX = MathHelper.cos(par1 * 0.6662F) * 2.0F * par2 * 0.5F;
                  this.rightarm.rotateAngleZ = 0.0F;
                  this.leftarm.rotateAngleZ = 0.0F;
                  this.rightleg.rotateAngleX = MathHelper.cos(par1 * 0.6662F) * 1.4F * par2;
                  this.leftleg.rotateAngleX = MathHelper.cos(par1 * 0.6662F + (float)Math.PI) * 1.4F * par2;
                  this.rightleg.rotateAngleY = 0.0F;
                  this.leftleg.rotateAngleY = 0.0F;
                  }
                  
                  }
                  
                  

                  :::

                  Si je t'ai filé un coup de main n'oublie pas le + / -
                  Par contre évite les demandes d'aides en MP, tu sera sympa'

                  La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                  Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                  1 réponse Dernière réponse Répondre Citer 1
                  • Pchom
                    Pchom dernière édition par

                    Si le sujet est résolu, merci d’éditer votre post (édition complète) et de changer le tag en [RESOLU]

                    > *Si vous ne pouvez expliquer un concept à un enfant de six ans, c’est que vous ne le comprenez pas c…

                    1 réponse Dernière réponse Répondre Citer 0
                    • Fine33
                      Fine33 dernière édition par

                      ZeAmateis –-> J’aurai appris une chose : je pensais qu’il fallait juste “accrocher” une boule à une partie pour qu’elles soient assemblées ! 🙂 Merci !

                      @Pchom —> C’est fait ! 🙂

                      Mes mods :

                      Agriculcraft

                      #L'âge ne fait pas le mod.(L'âge ne fait pas le mod.)

                      1 réponse Dernière réponse Répondre Citer 0
                      • Ama
                        Ama dernière édition par

                        Je suis ravi de t’avoir aider et appris un truc !

                        Si je t'ai filé un coup de main n'oublie pas le + / -
                        Par contre évite les demandes d'aides en MP, tu sera sympa'

                        La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                        Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

                        MINECRAFT FORGE FRANCE © 2018

                        Powered by NodeBB