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



  • This post is deleted!

  • Moddeurs confirmés Rédacteurs Administrateurs

    Whaaa, c'est un projet énorme et impressionnant.
    Je pense que beaucoup ici seront intéressé de voir cette bibliothèque publiée ^^



  • J'adore  😮 les vidéos rendent tellement bien ! Après faut voir l'opti, j'espère que ça passe.



  • Merci des retours.
    Oui, l'optimisation reste un point à travailler, comme le mentionne la section "Upcoming features".



  • Wha c'est génial et ça serait vraiment bien utile ^^
    Gg et vivement le passage en 1.8+ 😉


  • Administrateurs

    Cela mériterai aussi un post sur Minecraft Forum. 🙂



  • WOAW.

    Voilà un parfait remplaçant à la CS API !
    Du très très beau travail l'ami !



  • Bonjour à tous ! Rapide message pour vous avertir que la v2.0 sortira, sauf imprévu(s), début février. Elle regroupera à la fois optimisation, gain de consommation de RAM par les modèles chargés et lecture + rapide du fichier binaire.
    Alors n'oubliez pas, si d'ici là le sondage atteint les 20 réponses positives, alors je compléterai la rubrique "Téléchargement". Merci de votre attention portée et bonne soirée/journée.


  • Correcteurs

    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



  • 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 😉



  • 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 + 😉


  • Correcteurs

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



  • 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.



  • 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 😃



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



  • 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 !



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



  • 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.



  • 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 😉



  • Très propre tous ça


Log in to reply