MFF

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

    GLUtils, ou comment faire des modèles 3D facilement

    Planifier Épinglé Verrouillé Déplacé Autres
    150 Messages 20 Publieurs 60.4k Vues 2 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.
    • DeletedD Hors-ligne
      Deleted
      dernière édition par

      Salut ou re pour certains, j’ai (encore …) un problème et cette fois j’ai réalisé une vidéo pour que cela soit plus explicite pour votre cerveau et pour vos yeux. J’ai ce problème là depuis quelque temps mais c’est seulement maintenant que je viens à vous, nan en fait j’ai 2 problème :

      -Mon mob marche se balade, me poursuit quand je suis en survival enfin bref, réagit tout comme il faudrait si il a une hitbox minimum (11), cependant quand je viens à changer sa hitbox (10😎 il ne bouge plus du tout : est totalement invisible. Je peux le faire bouger si je le collide, évidemment. Mais il ne bouge plus de lui même. Tout ça à cause de la hitbox, j’en suis sûr.

      Mon deuxième problème est un problème d’affichage vous le verrez dans la vidéo quand je me déplace ou que je bouge la tête mon mob est parfois invisible, le model 3d disparaît subitement >< 
      J’ai essayé de réduire son rendu (via la méthode translated) mais rien à faire c’est pire et je ne veux pas non plus que mon mob soit gigantesquement géant. Surtout que ça ne réglerait peut être pas totalement le problème m’enfin bon je vous remercie d’avance car je suis sûr que l’un d’entre vous aura une brillante solution 😉

      Le lien de la vidéo :
      Youtube Video

      Il y a une erreur dans la vidéo, le mob ne bouge plus si sa hitbox fait du 10*8, désolé

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

        le bug 1 tu ne peut rien y faire, c’est juste que minecraft désactive le rendu du bloc/entity/tout ce que tu veux quand le joueur ne le regarde pas

        et le bug 2: tu es sur que le mob peut bouger?

        1 réponse Dernière réponse Répondre Citer 0
        • DeletedD Hors-ligne
          Deleted
          dernière édition par

          @‘isador34’:

          le bug 1 tu ne peut rien y faire, c’est juste que minecraft désactive le rendu du bloc/entity/tout ce que tu veux quand le joueur ne le regarde pas

          et le bug 2: tu es sur que le mob peut bouger?

          Oui isador il peut bouger il n’y a pas de block autour, c’est une map plate les seules choses qui sont à côté du mob sont des entity il pourrait bouger et les collide, mais on peut comparer entre la vidéo de la hitbox 1*1 et la deuxième qu’il a les même coordonnées (ou presque) qu’il se trouve au même endroit (ou presque) et qu’il bouge bien la première fois et pas la seconde on peut en déduire que ce qui fait qu’il ne bouge plus sont les modifications de la hitbox apportées, et j’en suis sûr.

          Ok ça reste très dommage pour le 1er problème mais j’avais vu le problème similaire pour les blocks ici : http://www.minecraftforgefrance.fr/showthread.php?tid=584&page=11 en gros à la page 11 
          SugarShy se plaint du même problème pour le block :

          e%(#555555)[[size=xx-small]t deuxièmement: comment empêcher que l'affichage de mon model ne se limite aux moments ou mon bloc de base est dans mon angle de vue ?]
          

          [size=xx-smallil a trouvé ensuite la solutiuon]

          ​[size=x-small@SideOnly(Side.CLIENT)]
          
          [size=x-small    public AxisAlignedBB getRenderBoundingBox()]
          [size=x-small    {]
          [size=x-small        AxisAlignedBB bb = INFINITE_EXTENT_AABB;]
          [size=x-small        return bb;]
          [size=x-small    }]
          

          [size=xx-smallAlors ce code là y’en existe pas un similaire ou qui aurait le même pour les entity ???]

          1 réponse Dernière réponse Répondre Citer 0
          • NeoSyderN Hors-ligne
            NeoSyder
            dernière édition par robin4002

            Bonjour, j’ai voulu m’initier aux modèles 3D mais j’ai quelques soucis.
            J’ai bien suivi le tuto mais lorsque je veux lancer minecraft, le jeu crash.
            Voici le log :
            http://pastebin.com/NCQ8xf0X

            Je précise que j’utilise forge 1.8 et que du coup il y a les .json mais j’ai vu que l’on peut toujours bénéficier de tessallator.

            Dans ma classe principale j’ai mis

            @EventHandler
               public void init(FMLInitializationEvent event)
               {
                    GameRegistry.registerTileEntity(TileEntityMew.class, "Mew");
               }
            

            Ensuite ma classe renderer

            package fr.neosyder.****.render;
            
            import org.jglrxavpok.glutils.TessellatorModel;
            import org.lwjgl.opengl.GL11;
            
            import fr.neosyder.*****.TileEntityMew;
            import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
            import net.minecraft.tileentity.TileEntity;
            import net.minecraft.util.ResourceLocation;
            
            public class TileMewObjRenderer extends TileEntitySpecialRenderer
            {
            
               private TessellatorModel glmodel;
               //public final ResourceLocation texture = new ResourceLocation("****", "textures/entity/mew.png");
            
               public TileMewObjRenderer()
               {
                   glmodel = new TessellatorModel("/assets/*****/models/obj/mew.obj");
                   this.glmodel.regenerateNormals();
               }
            
               @Override
               public void renderTileEntityAt(TileEntity tileentity, double posX, double posY, double posZ, float partialRenderTick, int p_180535_9_)
               {
                   GL11.glPushMatrix();
                   GL11.glTranslated(posX + 0.5F, posY, posZ + 0.5F);
                   //GL11.glScaled(0.01, 0.01, 0.01);
                   //this.bindTexture(texture);
                   glmodel.render();
                   GL11.glPopMatrix();
            
               }
            
               public void renderTileEntityTestAt(TileEntityMew tileentity, double posX, double posY, double posZ, float partialRenderTick, int p_180535_9_)
               {
            
               }
            
            }
            

            La classe TileEntity

            package fr.neosyder.****;
            
            import net.minecraft.tileentity.TileEntity;
            
            public class TileEntityMew extends TileEntity
            {
            
            }
            

            Et dans le proxy client j’ai

            ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMew.class, new TileMewObjRenderer() );
            

            J’ai aussi une petite question à propos de l’endroit où on place le fichier GLUtils.jar de jglrxavpok.
            Je l’ai placé ici C:\Users***.gradle\caches\modules-2\files-2.1 et dans le .classpath j’ai rajouté ceci
            <classpathentry kind=“lib” path=“C:/Users/****/.gradle/caches/modules-2/files-2.1/mcglutils.jar” exported=“true”>Ensuite j’ai refait gradlew –refresh-dependencies et le jar est bien affiché dans eclipse, mais était-ce bien comme ça qu’il fallait faire ?

            1 réponse Dernière réponse Répondre Citer 0
            • DeletedD Hors-ligne
              Deleted
              dernière édition par

              @‘NeoSyder’:

              Bonjour, j’ai voulu m’initier aux modèles 3D mais j’ai quelques soucis.
              J’ai bien suivi le tuto mais lorsque je veux lancer minecraft, le jeu crash.
              Voici le log :
              http://pastebin.com/NCQ8xf0X

              Je précise que j’utilise forge 1.8 et que du coup il y a les .json mais j’ai vu que l’on peut toujours bénéficier de tessallator.

              Dans ma classe principale j’ai mis

              @EventHandler
                 public void init(FMLInitializationEvent event)
                 {
                      GameRegistry.registerTileEntity(TileEntityMew.class, "Mew");
                 }
              

              Ensuite ma classe renderer

              package fr.neosyder.****.render;
              
              import org.jglrxavpok.glutils.TessellatorModel;
              import org.lwjgl.opengl.GL11;
              
              import fr.neosyder.*****.TileEntityMew;
              import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
              import net.minecraft.tileentity.TileEntity;
              import net.minecraft.util.ResourceLocation;
              
              public class TileMewObjRenderer extends TileEntitySpecialRenderer
              {
                 
                 private TessellatorModel glmodel;
                 //public final ResourceLocation texture = new ResourceLocation("****", "textures/entity/mew.png");
              
               
                 
                 public TileMewObjRenderer()
                 {
                     glmodel = new TessellatorModel("/assets/*****/models/obj/mew.obj");
                     this.glmodel.regenerateNormals();
                 }
              
                 @Override
                 public void renderTileEntityAt(TileEntity tileentity, double posX, double posY, double posZ, float partialRenderTick, int p_180535_9_)
                 {
                     GL11.glPushMatrix();
                     GL11.glTranslated(posX + 0.5F, posY, posZ + 0.5F);
                     //GL11.glScaled(0.01, 0.01, 0.01);
                     //this.bindTexture(texture);
                     glmodel.render();
                     GL11.glPopMatrix();
              
                 }
                 
                 public void renderTileEntityTestAt(TileEntityMew tileentity, double posX, double posY, double posZ, float partialRenderTick, int p_180535_9_)
                 {
                 
                 }
              
              }
              

              La classe TileEntity

              package fr.neosyder.****;
              
              import net.minecraft.tileentity.TileEntity;
              
              public class TileEntityMew extends TileEntity
              {
              
              }
              

              Et dans le proxy client j’ai

              ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMew.class, new TileMewObjRenderer() );
              

              J’ai aussi une petite question à propos de l’endroit où on place le fichier GLUtils.jar de jglrxavpok.
              Je l’ai placé ici C:\Users***.gradle\caches\modules-2\files-2.1 et dans le .classpath j’ai rajouté ceci
              <classpathentry kind=“lib” path=“C:/Users/****/.gradle/caches/modules-2/files-2.1/mcglutils.jar” exported=“true”>Ensuite j’ai refait gradlew –refresh-dependencies et le jar est bien affiché dans eclipse, mais était-ce bien comme ça qu’il fallait faire ?</classpathentry>

              Si tu n’as pas d’erreur qui pointent sur les nouvelles class de l’api dans ton mod c’est qu’il est au bon endroit mais si tu n’es pas sûr tu peux rajouter les .java dans ta workspace perso c’est ce que je fais toujours ça je trouve ça mieux et au moins t’es sûr que l’api a bien été installée. Je n’ai pas testé cette api sur la 1.8 mais xavpok avait dit qu’elle fonctionnait sur toutes les versions. Le crash quant à lui indique une erreur à propos d’un event dont il n’aurait pas trouvé la class. Mais avant de lancer ton jeu t’as des erreurs dans ton projet (question bête ^^) ???

              1 réponse Dernière réponse Répondre Citer 0
              • NeoSyderN Hors-ligne
                NeoSyder
                dernière édition par

                D’accord j’essayerai de faire ça ^^
                Oui pour l’erreur j’avais un peu regardé mais sans trouver réellement de solution, d’ailleurs elle pointe sur

                public TileMewObjRenderer()
                   {
                       ***glmodel = new TessellatorModel("/assets/*****/models/obj/mew.obj");***
                       this.glmodel.regenerateNormals();
                   }
                

                Donc je comprend pas trop le lien :s

                Nope je n’ai aucune erreur, je lance jamais le jeu tant qu’il y en a 😄

                1 réponse Dernière réponse Répondre Citer 0
                • DeletedD Hors-ligne
                  Deleted
                  dernière édition par

                  @‘NeoSyder’:

                  D’accord j’essayerai de faire ça ^^
                  Oui pour l’erreur j’avais un peu regardé mais sans trouver réellement de solution, d’ailleurs elle pointe sur

                  public TileMewObjRenderer()
                     {
                         ***glmodel = new TessellatorModel("/assets/*****/models/obj/mew.obj");***
                         this.glmodel.regenerateNormals();
                     }
                  

                  Donc je comprend pas trop le lien :s

                  Nope je n’ai aucune erreur, je lance jamais le jeu tant qu’il y en a 😄

                  Tu me dis que tu ne lances jamais le jeu quand tu as des erreurs mais tu me dis que tu en as une nan xD ?

                  
                  ***glmodel = new TessellatorModel("/assets/*****/models/obj/mew.obj");***
                  
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • NeoSyderN Hors-ligne
                    NeoSyder
                    dernière édition par

                    Je parlais d’erreurs soulignées en rouge dans le code 😉 Celle que j’ai eu est apparue au lancement du jeu, je pouvais pas savoir si j’en avais (j’aurais préférée ne pas en avoir xD)

                    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

                      La version 1.7.10 ne fonctionne pas en 1.8.
                      Faudrait voir avec xav pour une version compatible 1.8

                      1 réponse Dernière réponse Répondre Citer 0
                      • NeoSyderN Hors-ligne
                        NeoSyder
                        dernière édition par

                        Ok, merci de ta réponse robin. Je vais me prendre une version 1.7.10 alors 🙂

                        1 réponse Dernière réponse Répondre Citer 0
                        • jglrxavpokJ Hors-ligne
                          jglrxavpok Modérateurs
                          dernière édition par

                          Je vais mettre à jour la librairie dès maintenant ! 😛

                          La lib est à jour! Les imports peuvent avoir changé cependant!

                          Modérateur sur MFF. 
                          Mon Github: http://github.com/jglrxavpok
                          Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

                          1 réponse Dernière réponse Répondre Citer 0
                          • MursaatM Hors-ligne
                            Mursaat
                            dernière édition par

                            Du coup pour la 1.8, l’interface IItemRenderer est en deprecated, ça pose un soucis ou le tuto est encore valable ?

                            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

                              Non, en 1.8 il faut passer par les modèles de Minecraft. IItemRenderer ne fonctionne plus.

                              1 réponse Dernière réponse Répondre Citer 0
                              • MursaatM Hors-ligne
                                Mursaat
                                dernière édition par

                                Ok merci.

                                1 réponse Dernière réponse Répondre Citer 0
                                • DeletedD Hors-ligne
                                  Deleted
                                  dernière édition par

                                  Désolé de relancer ce topic mais je voulais savoir si il y avait du nouveau côté animation, je suis impatient d’y arriver. J’ai regardé un peu de plus près le code du mod Pixelmon qui rajoute des models 3D animés. Ils sont pour la plupart en format smd, j’ai compris qu’ils les avaient crée avec le logiciel de Valve Studio mais son code est vraiment complexe. Bref si je n’arrive pas à animer mes .obj de manière convenable et aussi si je n’arrive pas à découper chaque parties comme je le veux, je pense me tourner vers la solution de Pixelmon.
                                  Si quelqu’un en connait beaucoup à ce sujet, ça serait sympa d’éclairer ma lanterne =D
                                  Merci d’avance !

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • YeyvoY Hors-ligne
                                    Yeyvo
                                    dernière édition par

                                    C’est quand pour les animation ??   Le  .jar n’est plus disponible 
                                    😞

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • DeletedD Hors-ligne
                                      Deleted
                                      dernière édition par

                                      Si tu veux mon avis Yeyvo, ce projet d’animations intégrées directement à GLUtils n’est plus d’actualité 😕
                                      Cependant j’ai réussi à comprendre pas mal de choses à ce niveau et j’ai réussi à faire mes première animations (tout de même basiques) moi-même, mais en revanche je ne me sers pas de GLUtils mais de la classe de forge IModelCustom.
                                      Si tu veux + d’explications, contacte moi skype : jules10085 😃

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • YeyvoY Hors-ligne
                                        Yeyvo
                                        dernière édition par

                                        Merci pour ton offre (je te contacterait skype bientôt) oui je suis du même avis que toi 🙂

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • jglrxavpokJ Hors-ligne
                                          jglrxavpok Modérateurs
                                          dernière édition par

                                          Effectivement, le projet n’est plus trop d’actualité

                                          Modérateur sur MFF. 
                                          Mon Github: http://github.com/jglrxavpok
                                          Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • DeletedD Hors-ligne
                                            Deleted
                                            dernière édition par

                                            C’est dommage, mais en même temps je comprends que ça reste complexe et que surtout, ça prends du temps 😕
                                            Si j’avais eu les compétences nécessaires en OpenGL, j’aurai certainement continué là où tu t’étais arrêté, mais comme ce n’est pas le cas…Peut-être qu’un jour, j’aurai accumulé assez d’expérience 😄

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 8
                                            • 7 / 8
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB