MFF

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

    Problème modèle non adapté Backpack mod & Smart Moving

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    8 Messages 2 Publieurs 1.7k 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.
    • DeletedD Hors-ligne
      Deleted
      dernière édition par

      Salut
      J’ai pour mission de corriger un bug de rendu / modèle 3D qui survient lorsqu’on installe les mods backpack et smart moving. Pour être plus précis, comme le mod smart moving refait complétement le modèle / render du joueur à l’aide des API’s Player API & Render Player API, certains mods se retrouvent incompatible, comme backpack mod, où l’on peut observer que le modèle du sac à dos censé être dans le dos du joueur ne l’est pas du tout lorsque le joueur plonge, vole en position horizontale, nage en profondeur, s’accroupit et rample, etc…De plus j’ai aussi remarqué que le sac à dos ne suivait pas les directions du joueur, en gros il ne bouge pas, il n’est orienté que vers une seule direction et ne bouge pas. Pour y remédier dans l’absolu, j’ai fait un petit GL11.glRotatef sur l’axe des Y avec comme valeur la rotationYaw du joueur, ça corrige un peu le bug, désormais le sac à dos s’oriente de la même manière que les autres shapes du modèle du joueur, mais le résultat n’est pas non plus parfait 😕
      Je vous laisse constater par vous mêmes sur ce gif :

      Voici mon dossier src, puisqu’il y a énormément de classes ^^’ Il faut importer Player API et Render Player API
      Pour info : ma modif avec le GL11.glRotatef se situe à la ligne 150 de la classe SmartRenderModel, du package net.smart.render
      J’ai aussi fait quelque petites modifs mais rien de bien concrets vers les lignes ~350 de la classe SmartMovingModel (avec une boucle for)
      C’est tout ce que j’ai fait 😞
      Effectivement, j’ai beaucoup (énormément !) de mal avec les rendus, je n’y comprends pas toujours, même si j’essaie de faire de mon mieux. Voilà pourquoi je me retrouve ici à vous demander de l’aide x)
      Merci d’avance 😃
      Hé pssst, celui qui trouve la solution aura ma reconnaissance éternelle :3

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

        Si le model est un extends de ModelBiped tu peut essayer ça :
        copyModelAngles(this.bipedBody, sac); (existe ne 1.8.9 mais je suis pas sûr que ça existe en 1.7.10)

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

          D’où vient ta méthode copyModelAngles ? De Render Player API ? Je n’arrive pas à la trouver, et puis où souhaites-tu que je rajoutes ceci ? Et le ModelBackpack est bien extends de ModelBiped pour répond à ta question

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

            @‘Plaigon’:

            D’où vient ta méthode copyModelAngles ? De Render Player API ? Je n’arrive pas à la trouver, et puis où souhaites-tu que je rajoutes ceci ? Et le ModelBackpack est bien extends de ModelBiped pour répond à ta question

            copyModelAngles viens de ModelBiped et je pensais modifier la class du model du BackPack et mettre la fonction dans setRotationAngles ( mais je viens de me dire que tu peut peut-être pas modifier cette class, si ?)

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

              Cette méthode n’existe pas, en tout en 1.7.10. Je ne la trouve pas dans ModelBiped.java
              Ne peux-tu pas sinon (seulement si t’as le temps ^^'), download mes sources et regarder de + près ce qu’il en est, car c’est pas facile je trouve 😕

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

                @‘Plaigon’:

                Cette méthode n’existe pas, en tout en 1.7.10. Je ne la trouve pas dans ModelBiped.java
                Ne peux-tu pas sinon (seulement si t’as le temps ^^'), download mes sources et regarder de + près ce qu’il en est, car c’est pas facile je trouve 😕

                Je verrai ça demain !

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

                  Alors, je pence qu’il faut modifier GL11.glRotatef (là où tu l’a mis : dans la class SmartRenderModel), de manière à avoir la même rotation que le corps du joueur. Je pensais à quelque chose comme :

                  GL11.glRotatef(bipedBody.rotateAngleX, 1, 0, 0);
                  GL11.glRotatef(bipedBody.rotateAngleY, 0, 1, 0);
                  GL11.glRotatef(bipedBody.rotateAngleZ, 0, 0, 1);
                  

                  ( Je n’ai pas encore pu tester moi-même, je ne sais pas comment importer tout les mods/API nécessaires )

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

                    Je teste sa ce week end quand je rentrerai chez moi.
                    Pour importer les mods, il te suffit juste de mettre dans un dossier libs de ta workspace, les mods Render Player API et Player API. Une fois fait, il te suffit juste d’exécuter gradlew eclipse

                    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