MFF

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

    Load .obj

    Planifier Épinglé Verrouillé Déplacé Résolu Anciennes versions
    1.6.4
    73 Messages 7 Publieurs 26.0k 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.
    • MugiwaxarM Hors-ligne
      Mugiwaxar
      dernière édition par

      Bonjours à tous ❗

      Edit: J’ai envoyer le post à partir d’ici sans faire exprès 😄

      Je suis en train de tester d’importer des waveFronts .obj dans mon projet (enfin du moins, j’essaye ! 👼)

      Alors j’ai trouvé ce mod: http://www.minecraftforum.net/topic/1359846-147-3d-loader-minecraft-api/
      Mais j’ai quelque problème:
      1 - J’aime pas utiliser les mods dont je ne suis pas l’auteur 😄
      2 - Il charge les objets, mais n’applique pas les texture dans le fichier .mtl (sauf si on entre le chemin absolut du fichier, ce qui n’est réellement pas pratique :()
      3 - Il n’est pas à jour
      4 - Pratiquement aucune doc (et en anglais)

      Alors j’ai tester le waveFront loader de forge IModelCustom qui est quand même assez compliquer, mais voila le problème, il ne lit en aucun cas les ficher .mlt, il faut appliquer les textures à la main, beaucoup trop compliqué

      Quelqun à un autre moyen ?

      Merci de votre aide ❤

      Mugiwaxar

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

        Alors pour ceux que ça intéresse, j’ai un petit peut avancer:

        1 réponse Dernière réponse Répondre Citer 0
        • kevin_68K Hors-ligne
          kevin_68 Moddeurs confirmés
          dernière édition par

          j’aime bien le “un petit peu”, sinon on pourrais voir les codes? ça pourrais faire un tuto.


          Mettez à jours vers la dernière version stable (1.8.9 voir même…

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

            En fait c’est pas trop au point pour le moment, j’ai juste doublé l’image et fait un translate gl11

            Voici ma classe sword3D:

            
            package com.yvelis.m3dmodels.common;
            
            import org.lwjgl.opengl.GL11;
            
            import net.minecraft.client.Minecraft;
            import net.minecraft.client.renderer.ItemRenderer;
            import net.minecraft.item.ItemStack;
            import net.minecraft.util.ResourceLocation;
            import net.minecraftforge.client.IItemRenderer;
            import net.minecraftforge.client.model.AdvancedModelLoader;
            import net.minecraftforge.client.model.IModelCustom;
            
            public class Sword3D implements IItemRenderer {
            
            private IModelCustom model3D = AdvancedModelLoader.loadModel("/assets/m3dmodels/models/weapon/weapon.obj");
            private ResourceLocation texture = new ResourceLocation("m3dmodels:models/weapon/image.png");
            
            @Override
            public boolean handleRenderType(ItemStack item, ItemRenderType type) {
            return true;
            }
            
            @Override
            public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
            return false;
            }
            
            @Override
            public void renderItem(ItemRenderType type, ItemStack item, Object… data) {
            
            if(type.equals(ItemRenderType.EQUIPPED))
            {
            GL11.glPushMatrix();
            GL11.glScalef(2.0F, 2.0F, 2.0F);
            GL11.glRotatef(-60.0F, 1.0F, 0.0F, 0.0F);
            GL11.glRotatef(17.0F, 0.0F, 0.0F, 1.0F);
            GL11.glTranslatef(0.20F, -0.035F, 0.25F);
            Minecraft.getMinecraft().renderEngine.bindTexture(texture);
            model3D.renderAll();
            GL11.glPopMatrix();
            
            GL11.glPushMatrix();
            GL11.glScalef(2.0F, 2.0F, 2.0F);
            GL11.glRotatef(-60.0F, 1.0F, 0.0F, 0.0F);
            GL11.glRotatef(17.0F, 0.0F, 0.0F, 1.0F);
            GL11.glTranslatef(0.95F, -0.035F, 0.25F);
            model3D.renderAll();
            GL11.glPopMatrix();
            }
            else if (type.equals(ItemRenderType.EQUIPPED_FIRST_PERSON) )
            {
            GL11.glPushMatrix();
            Minecraft.getMinecraft().renderEngine.bindTexture(texture);
            GL11.glTranslatef(2.0F, -0.5f, 2.0f);
            GL11.glScalef(5.0F, 5.0F, 5.0F);
            GL11.glRotatef(70.0F, 0.0F, 1.0F, 0.0F);
            GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F);
            model3D.renderAll();
            GL11.glPopMatrix();
            
            GL11.glPushMatrix();
            GL11.glTranslatef(2.0F, -0.5f, -3.4f);
            GL11.glScalef(5.0F, 5.0F, 5.0F);
            GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
            GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F);
            model3D.renderAll();
            GL11.glPopMatrix();
            }
            else if (type.equals(ItemRenderType.ENTITY) )
            {
            GL11.glPushMatrix();
            Minecraft.getMinecraft().renderEngine.bindTexture(texture);
            GL11.glScalef(0.6F, 0.6F, 0.6F);
            GL11.glTranslated(0.0, 0.17, 0.0);
            GL11.glRotated(90, 0, 1, 0);
            GL11.glRotated(-90, 1, 0, 0);
            model3D.renderAll();
            GL11.glPopMatrix();
            
            GL11.glPushMatrix();
            GL11.glScalef(0.6F, 0.6F, 0.6F);
            GL11.glTranslated(-0.2, 0.2, 0.08);
            GL11.glRotated(90, 0, 1, 0);
            GL11.glRotated(-45, 1, 0, 0);
            model3D.renderAll();
            GL11.glPopMatrix();
            }
            else
            {
            GL11.glPushMatrix();
            Minecraft.getMinecraft().renderEngine.bindTexture(texture);
            GL11.glScalef(8.8F, 8.8F, 8.8F);
            GL11.glTranslated(1.3, 0.9, 0);
            GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
            GL11.glRotated(220, 1, 0, 0);
            model3D.renderAll();
            GL11.glPopMatrix();
            
            GL11.glPushMatrix();
            GL11.glScalef(8.8F, 8.8F, 8.8F);
            GL11.glTranslated(1.25, 0.5, 0);
            GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
            GL11.glRotated(220, 1, 0, 0);
            model3D.renderAll();
            GL11.glPopMatrix();
            }
            
            }
            }
            
            
            1 réponse Dernière réponse Répondre Citer 2
            • kevin_68K Hors-ligne
              kevin_68 Moddeurs confirmés
              dernière édition par

              Ah, ok ça ne change pas temps que ça des rendu des modèles vanilla.
              Merci.


              Mettez à jours vers la dernière version stable (1.8.9 voir même…

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

                Oui c’est rien de trop compliqué en fait,
                je vais tenter d’autre truc et jvous tiens au courant

                Ps: Merci pour le +1 ^^

                Edit: Sa vaut la peine de faire des tutos pour la 1.6.x ? Vu que ma 1.7.x est en cours …
                Si c’est le cas, jveux bien en faire quelque un

                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

                  Tu peux toujours faire des tutoriels 1.6 malgré le fait que la 1.7 est disponible, d’ailleurs le code ne devrait pas être très différent en 1.7, les rendus n’ont pas trop bougé (il y a juste le modèle qui se charge avec un ResourceLocation maintenant, je ne crois pas qu’il y est d’autres changement).

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

                    Alors ce qui serais vraiment super nickel, se serai de mètre ce qui a changer par rapport à la 1.6 dans les tutos de la 1.7

                    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

                      C’est prévu, je vais faire un tutoriel update dès que les premiers tutoriels de base seront refait.

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

                        Mais c’est génial !

                        Si jamais ya besoin d’aide pour les tutoriels, je suis partant aussi 🙂

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

                          Sinon quelqu’un à une solution pour mon post initial ? 😄

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

                            comment appliqué le rendu sword3D a son arme?

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

                              Je suis assez doué en modèles .obj ( cf. mon mod ratchet and clank, qui utilise des items en OBJ, un block en OBJ, et une armure en OBJ. )

                              Je comprend pas trop le problème que tu as, tu as réussi non ?

                              "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                              ― Jordan B. Peterson

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

                                comment on fait pour appliqué le rendu (j’ai jamais fais)

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

                                  @‘isador34’:

                                  comment on fait pour appliqué le rendu (j’ai jamais fais)

                                  Appliquer un rendu a quoi ?

                                  On peux appliquer un rendu a tout et n’importe quoi. ( Du plus gros des blocks au plus petit des pixels d’un GUI )

                                  "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                                  ― Jordan B. Peterson

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

                                    @‘Gugu42’:

                                    Je suis assez doué en modèles .obj ( cf. mon mod ratchet and clank, qui utilise des items en OBJ, un block en OBJ, et une armure en OBJ. )

                                    Je comprend pas trop le problème que tu as, tu as réussi non ?

                                    Oui et non,
                                    forge permet d’appliquer UN fichier texture à un wavefront(du moins, c’est se que j’ai cru comprendre), dans ce cas, comment je fait si je veut en appliquer plusieurs, et donc utiliser un fichier MTL

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

                                      @‘Mugiwaxar’:

                                      @‘Gugu42’:

                                      Je suis assez doué en modèles .obj ( cf. mon mod ratchet and clank, qui utilise des items en OBJ, un block en OBJ, et une armure en OBJ. )

                                      Je comprend pas trop le problème que tu as, tu as réussi non ?

                                      Oui et non,
                                      forge permet d’appliquer UN fichier texture à un wavefront(du moins, c’est se que j’ai cru comprendre), dans ce cas, comment je fait si je veut en appliquer plusieurs, et donc utiliser un fichier MTL

                                      Ah, ça je l’ai fait de la manière la plus sale possible : J’ai coupé mon modèle en plusieurs parties.

                                      Plus exactement, j’ai découper mon modèle en 5 pour les 5 fichiers texture que j’ai.

                                      Exemple ici : https://github.com/Gugu42/RatchetAndClankMod/blob/master/com/gugu42/rcmod/render/TileEntityVendorSpecialRenderer.java

                                      ( C’est très “sale” mais ça marche. J’utilise plusieurs matrices OpenGL mais c’est faisable dans une seule )

                                      "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                                      ― Jordan B. Peterson

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

                                        @‘isador34’:

                                        comment on fait pour appliqué le rendu (j’ai jamais fais)

                                        Pour ma part, j’ai du ecrire:

                                        
                                        MinecraftForgeClient.registerItemRenderer(Mmain.sword1.itemID, new Sword3D() );
                                        
                                        

                                        Dans le clientProxy___
                                        @‘Gugu42’:

                                        @‘Mugiwaxar’:

                                        @‘Gugu42’:

                                        Je suis assez doué en modèles .obj ( cf. mon mod ratchet and clank, qui utilise des items en OBJ, un block en OBJ, et une armure en OBJ. )

                                        Je comprend pas trop le problème que tu as, tu as réussi non ?

                                        Oui et non,
                                        forge permet d’appliquer UN fichier texture à un wavefront(du moins, c’est se que j’ai cru comprendre), dans ce cas, comment je fait si je veut en appliquer plusieurs, et donc utiliser un fichier MTL

                                        Ah, ça je l’ai fait de la manière la plus sale possible : J’ai coupé mon modèle en plusieurs parties.

                                        Plus exactement, j’ai découper mon modèle en 5 pour les 5 fichiers texture que j’ai.

                                        Exemple ici : https://github.com/Gugu42/RatchetAndClankMod/blob/master/com/gugu42/rcmod/render/TileEntityVendorSpecialRenderer.java

                                        ( C’est très “sale” mais ça marche. J’utilise plusieurs matrices OpenGL mais c’est faisable dans une seule )

                                        Je vois 😕

                                        Effectivement, c’est pas jolie jolie, dommage que forge ne gère pas les .mtl 😞

                                        C’est vraiment la seul solution ?
                                        Pars-ce que moi qui veut insérer des dizaines d’objets qui on chacun 5-6 images textures, c’est pas gagné

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

                                          
                                          public void registerRenderers(){
                                          //Ici les futurs registrys
                                          MinecraftForgeClient.registerItemRenderer(Mineralherb.Item.sword1.itemID, new Sword3D() );
                                          }
                                          
                                          

                                          comme ca?___

                                          
                                          public void registerRenderers(){
                                          //Ici les futurs registrys
                                          MinecraftForgeClient.registerItemRenderer(Mineralherb.Item.sword1.itemID, new Sword3D() );
                                          }
                                          
                                          

                                          comme ca?

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

                                            Voila la fonction d’origine:

                                            
                                            public static void registerItemRenderer(int itemID, IItemRenderer renderer)
                                            
                                            

                                            Elle permet d’assigner un renderer que tu as précédemment créée à un item

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB