MFF

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

    [EN STAND-BY] Plaig4Anims, la solution idéale pour vos animations !

    Planifier Épinglé Verrouillé Déplacé Vos autres créations
    28 Messages 11 Publieurs 5.9k 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.
    • FolganskyF Hors-ligne
      Folgansky Correcteurs
      dernière édition par

      Je ne te savais pas aussi compétent Plaigon, en tout cas moi cette API me fait les yeux, c’est très exactement mon domaine d’activité alors je ne peux que te remercier pour la qualité du travail accomplis et à venir

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

        Juste un grand whoua, c’est du grand travail comme les autres l’ont déjà dit ^^ Je me rappelle la galère que c’est l’importation d’animations dans
        minecraft et de garantir leur stabilité, vraiment un grand bravo 😉

        Modélisateur sur son temps libre.

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

          Merci beaucoup Tristepin, ton message m’a fait extrêmement plaisir. L’importation d’animations a toujours été une vraie galère, mais Ama semble avoir réussi avant moi, d’ailleurs il n’est pas exclu que la 3.0 inclue une compatibilité avec sa CraftStudio API, je n’en dis pas + 😉

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

            Pour ce qui est des items c’est vraiment un aspect différent concernant les importations d’animations de ce type ou pas?

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

              Non, aucune différence par rapport aux entités: lire le fichier binaire, l’enregistrer en mémoire (automatique après la lecture) et le dessiner, via IItemRenderer par exemple.

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

                Bonjour, bonsoir chers lecteurs,
                rapide message pour vous signaler une update du post initial. J’ai complété la rubrique “téléchargements”, malgré un échec au sondage, enfin bon…
                La vidéo tuto sortira d’ici 1 ou 2 semaines, avec la v2.0, en attendant la v1.5 vous permettra tout de même d’importer des .mdl, n’hésitez pas à poser vos questions, j’y répondrai 😃

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

                  J’ai vraiment hâte de voir le tuto 🙂 !

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

                    Salut conquerorguepard, content de voir ton message encourageant, mais gardons à l’esprit que patience est mère de sagesse.
                    Néanmoins, ce temps perdu à attendre n’est pas vain, pour preuve, j’ai fini le week-end dernier l’optimisation de la ram allouée par la lib, afin d’en faire une réduction astronomique, car avec ce modèle (voir screen + bas), j’ai atteint une taille en mémoire 4 fois moins élevée avec le loader v2.0! Ce qui est littéralement et incroyablement bénéfique lorsqu’on souhaite charger plusieurs dizaines d’animations !

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

                      On pourra animer des models Techne avec ça ? Ou faut refaire les models sur ton logiciel 😕 ?

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

                        Non, techne est vieux, il faut passer à autre chose. Si t’es au-delà de la 1.7.10, encore une fois, la lib d’Ama, sera la meilleure option. La mienne sera utile lorsqu’on souhaite importer des animations qu’on a rip d’un jeux video, ou même lorsqu’on sait modéliser sous blender, maya, 3ds max ou autre…
                        La 3.0 sera peut-être l’occasion de collaborer avec Ama pour exporter les modèles de Craftstudio en mdl, lisible par ma lib, mais je doute que ce soit une priorité dans l’absolue.

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

                          Je sais bien, mais tous les anciens models x) ? J’ai pas envie d’avoir tout à refaire 😮 !
                          Faudrait tenter de faire un truc pour insérer tout ça par exemple :

                          
                          package net.minecraft.src;
                          
                          public class ModelNew extends ModelBase
                          {
                           //fields
                             ModelRenderer tete;
                             ModelRenderer corps;
                             ModelRenderer jambe_droite_arriere;
                             ModelRenderer jambe_gauche_arriere;
                             ModelRenderer jambe_droite_avant;
                             ModelRenderer jambe_gauche_avant;
                             ModelRenderer queue;
                             ModelRenderer machoire_haute;
                             ModelRenderer machoire_basse;
                             ModelRenderer cou;
                             ModelRenderer Dos;
                          
                           public ModelNew()
                           {
                             textureWidth = 64;
                             textureHeight = 32;
                          
                               tete = new ModelRenderer(this, 10, 18);
                               tete.addBox(-1F, -4F, -3F, 3, 4, 3);
                               tete.setRotationPoint(-1F, 19F, -8F);
                               tete.setTextureSize(64, 32);
                               tete.mirror = true;
                               setRotation(tete, 0F, 0F, 0F);
                               corps = new ModelRenderer(this, 44, 8);
                               corps.addBox(-4F, -7F, -4F, 5, 12, 5);
                               corps.setRotationPoint(1F, 17F, 0F);
                               corps.setTextureSize(64, 32);
                               corps.mirror = true;
                               setRotation(corps, 1.570796F, 0F, 0F);
                               jambe_droite_arriere = new ModelRenderer(this, 0, 19);
                               jambe_droite_arriere.addBox(-1F, 0F, -1F, 2, 5, 2);
                               jambe_droite_arriere.setRotationPoint(-3F, 19F, 2F);
                               jambe_droite_arriere.setTextureSize(64, 32);
                               jambe_droite_arriere.mirror = true;
                               setRotation(jambe_droite_arriere, 0F, 0F, 0F);
                               jambe_gauche_arriere = new ModelRenderer(this, 0, 19);
                               jambe_gauche_arriere.addBox(-1F, 0F, -1F, 2, 5, 2);
                               jambe_gauche_arriere.setRotationPoint(2F, 19F, 2F);
                               jambe_gauche_arriere.setTextureSize(64, 32);
                               jambe_gauche_arriere.mirror = true;
                               setRotation(jambe_gauche_arriere, 0F, 0F, 0F);
                               jambe_droite_avant = new ModelRenderer(this, 0, 19);
                               jambe_droite_avant.addBox(-1F, 0F, -1F, 2, 5, 2);
                               jambe_droite_avant.setRotationPoint(-3F, 19F, -5F);
                               jambe_droite_avant.setTextureSize(64, 32);
                               jambe_droite_avant.mirror = true;
                               setRotation(jambe_droite_avant, 0F, 0F, 0F);
                               jambe_gauche_avant = new ModelRenderer(this, 0, 19);
                               jambe_gauche_avant.addBox(-1F, 0F, -1F, 2, 5, 2);
                               jambe_gauche_avant.setRotationPoint(2F, 19F, -5F);
                               jambe_gauche_avant.setTextureSize(64, 32);
                               jambe_gauche_avant.mirror = true;
                               setRotation(jambe_gauche_avant, 0F, 0F, 0F);
                               queue = new ModelRenderer(this, 0, 1);
                               queue.addBox(0F, 0F, 0F, 1, 2, 12);
                               queue.setRotationPoint(-1F, 16F, 3F);
                               queue.setTextureSize(64, 32);
                               queue.mirror = true;
                               setRotation(queue, -0.2617994F, 0F, 0F);
                               machoire_haute = new ModelRenderer(this, 36, 0);
                               machoire_haute.addBox(0F, 0F, 0F, 3, 2, 4);
                               machoire_haute.setRotationPoint(-2F, 16F, -14F);
                               machoire_haute.setTextureSize(64, 32);
                               machoire_haute.mirror = true;
                               setRotation(machoire_haute, 0.2443461F, 0F, 0F);
                               machoire_basse = new ModelRenderer(this, 23, 19);
                               machoire_basse.addBox(0F, 0F, 0F, 3, 2, 3);
                               machoire_basse.setRotationPoint(-2F, 16.8F, -13.3F);
                               machoire_basse.setTextureSize(64, 32);
                               machoire_basse.mirror = true;
                               setRotation(machoire_basse, -0.0523599F, 0F, 0F);
                               cou = new ModelRenderer(this, 51, 0);
                               cou.addBox(0F, 0F, 0F, 3, 4, 3);
                               cou.setRotationPoint(-2F, 15F, -8F);
                               cou.setTextureSize(64, 32);
                               cou.mirror = true;
                               setRotation(cou, -0.3816453F, 0F, 0F);
                               Dos = new ModelRenderer(this, 26, 10);
                               Dos.addBox(0F, 0F, 0F, 3, 2, 6);
                               Dos.setRotationPoint(-2F, 15F, -3F);
                               Dos.setTextureSize(64, 32);
                               Dos.mirror = true;
                               setRotation(Dos, 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);
                             tete.render(f5);
                             corps.render(f5);
                             jambe_droite_arriere.render(f5);
                             jambe_gauche_arriere.render(f5);
                             jambe_droite_avant.render(f5);
                             jambe_gauche_avant.render(f5);
                             queue.render(f5);
                             machoire_haute.render(f5);
                             machoire_basse.render(f5);
                             cou.render(f5);
                             Dos.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 f, float f1, float f2, float f3, float f4, float f5)
                           {
                             super.setRotationAngles(f, f1, f2, f3, f4, f5);
                           }
                          
                          }
                          
                          

                          Ainsi, ça pourrait rajouter de l’intérêt à ton Plaig4anim 😛 ! On pourrait amener tous les models venant des autres logiciels pour faire les animations sur le tiens 😉

                          1 réponse Dernière réponse Répondre Citer 0
                          • ? Hors-ligne
                            Un Ancien Utilisateur
                            dernière édition par

                            Très propre tous ça

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

                              Merci Riizn !
                              Bonne idée conquerorguepard, mais encore une fois ce n’est pas ma priorité pour la v2.0 (voir rubrique “UPCOMING FEATURES”).
                              En revanche, si je peux te filer un coup de main, je te conseillerai ce petit outil. Il te permettra de convertir tes modèles .tcn (exportés de techne), au format obj. A partir de là, tu n’auras plus qu’à rig ton modèle 3d, à le skin avec sa texture, puis à l’animer et enfin à l’exporter au format mdl, supporté par ma lib. L’outil que je te recommande est 3ds max, je ferai plusieurs tutos d’ici 1 à 2 semaines pour réaliser toutes ces choses-là. En attendant, tu as une noesis, qui te permettra la conversion smd (format d’animation supporté par 3ds max) -> mdl (vieux format supporté par ma lib).
                              Voilà, n’hésite pas si t’as des questions, je suis dispo 😉

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

                                Cool merci ;).
                                Bah grouille pour tes nouvelles versions stp 😛 ! Je t’attends pour poursuivre mes mobs moi x).
                                Que veut dire “rig”?

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

                                  Le processus de **rigging **d’un modèle 3d fixe, consiste à découper ses membres articulés afin de faire apparaître une hiérarchie parent>fils. Pour ce faire on utilise des bones qu’on modélise à l’intérieur des meshes, puis on les lies entres-eux via des joints qui définissent les axes de rotation disponibles pour telle articulation.

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

                                    ça veut dire quoi “meshes” et “bones” (hormis os :p).
                                    Par parents fils, grosso modo, c’est lier les membres entre eux ?

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

                                      “Meshes” signifie littéralement “forme”. Il s’agit d’un ensembles de polygones constituant le modèle. Et bones c’est l’enveloppe squelettique “caché” sous les meshes et permettant l’animation.
                                      La hiérarchie des bones pourrait s’apparenter à ton épaule, qui est parent de ton bras, puis de ton avant-bras, puis de ta main, puis enfin de tes doigts. Ainsi quand l’épaule subit une orientation, il y a un effet de conséquence à l’ensemble des fils.

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

                                        #PRISE EN MAIN(PRISE EN MAIN)

                                        Nouvelle section (26/02/2018)

                                        Dans ce mini-tutoriel, nous aborderont uniquement l’insertion complète (lecture, gestion en mémoire et rendu) du modèle au format .mdl dans Minecraft.
                                        De ce fait, j’exclurai partiellement la partie “Modélisation” sous 3ds Max. Voici néanmoins deux, trois conseils pour ceux qui s’y intéresseraient:

                                        1. Si vous débutez dans la modélisation, sachez qu’il serait judicieux d’avoir quelques bases avec le software 3ds max (raccourcis claviers, modélisation avec un blueprint, scale/translate/rotate, connaissance des principaux modiifiers, etc…).

                                        2. Une fois votre modèle finie, vous devrez export l’uv map, et la remplir. Voici le parfait tutoriel concernant cette tâche

                                        3. C’est bon! Vous pouvez désormais vous applaudir, le plus dur vient d’être fait, il ne vous reste plus qu’à découper votre modèle, mais vous verrez c’est très facile !
                                          Pour découper votre modèle, la solution la + simple sera de le rig, c’est-à-dire de lui créer son enveloppe squelettique. Ensuite vous devrez appliquer le processus de “finning”, puis ensuite “attacher” le bone à sa mesh dans laquelle il est “caché”, où pour faire court skin le modèle 3D. Ces 3 étapes sont d’une longueur relative à la “taille” du modèle. J’ai moi même appris par une suite de vidéos tutoriels, la première ici.

                                        4. Une fois fait, le reste ne sera que du plaisir, à savoir animer le tout ! Voilà une petite vidéo vous montrant 2 types d’animation sur 3ds max. Enfin une vidéo bonus vous montrant l’animation par suivi de trajectoire. Petit bonus: je vous mets ici à disposition un steve tout prêt à être animer, c’est cadeau !
                                          A quoi ressemble-t-il ?

                                        5. Une fois votre animation complètement finie, vous exporterez le modèle au format fbx. Et vous placerez ce dernier + ses textures associées dans un même dossier.

                                        6. Enfin, la dernière étape avant la partie “code” sera de convertir le modèle du format .fbx vers .mdl. Pour ce faire vous téléchargerez noesis, que je vous mets à disposition ici, puis vous découvrirez par vous-même, c’est très intuitif ! Vous aurez sûrement un souci d’orientation du modèle une fois convertie, pas d’inquiétude, Noesis met à disposition une petite centaine de commande, tel que “rotate x y z”, comme le montre ce screen:

                                        Une petite information additionnelle, où je vous propose de télécharger ce petit software nommé “qme31”, qui vous permet de charger vos animations .mdl, afin de vous assurer qu’elles sont prêtes à être rendue ! De plus, vous pourrez afficher les caractéristiques de votre modèle, en allant sur l’onglet View, puis model properties. La fenêtre ressemblera à ceci, s’offrant une organisation en plusieurs catégories (bounds, skin, eye position, etc…):

                                        Voici son lien de téléchargement

                                        [PARTIE CODE EN RÉDACTION…]
                                        (demande par MP pour les instructions à suivre au niveau du code)

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

                                          Bonjour à tous et à toutes, nouvelle annonce, les sources sont désormais disponibles à cette adresse de téléchargement
                                          EDIT: lien du repo: https://github.com/Plaigon/Plaig4Anims

                                          1 réponse Dernière réponse Répondre Citer 1
                                          • JustAnDevJ Hors-ligne
                                            JustAnDev
                                            dernière édition par

                                            bon pour les models j’ai trouvé le truc qui nous interesse(Techne depassé il faut convertir)
                                            https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/mapping-and-modding-tutorials/2473522-convert-your-tabula-and-techne-models-to-wavefront

                                            s

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB