module inscription newsletter haut de page forum mobile

Rejeter la notice

formations etalonnage sur davinci resolve

Nos Formations Etalonnage avec Forest reviennent en octobre !
Adoptez une réelle méthodologie d'étalonnage professionnelle et atteignez vos objectifs créatifs avec nos formations intensives sur 3 jours
Toutes les infos
Rejeter la notice

ateliers live resolve avec forest

Ateliers Live Resolve - Formez-vous en ligne tous les mois avec Forest !
Faites rapidement évoluer la qualité de vos étalonnage avec nos ateliers mensuels de 3h.
Toutes les infos
Rejeter la notice

Formation Lumière - Pratique Intensive du 14 au 16 octobre à Paris
Formez-vous avec cet atelier de pratique intensive dans des conditions exceptionnelles ! Formation finançable.
Toutes les infos

Ateliers et Formations

Script : creation de polygones

Discussion dans 'Adobe After Effects' créé par nab17connection, 16 Octobre 2005.

Tags:
  1. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    salut :) ,

    je vous propose aujourd'hui un script qui permet de créer sur un solide un masque en forme de polygone.

    vous executez ce script a partir d une composition active.

    il vous sera demande le nombre de cotes que vous souhaitez (ne doit pas etre egal a zero ! ), ainsi que le rayon.

    on peut biensur executer le scirpt autant de fois qu on veut pour avoir un ensemble de figures geometriques avec chacune les caracteristiques que vous aurez spécifiées...

    voila le script ( a copier/coller, puis enregister "Polygones.jsx") :

    Code:
    ////////////////////////////////////////////////////////////////
    // "Polygones.jsx"
    //
    // Cree un solide contenant un masque de forme polygonale
    //
    //  ecrit par nab17connection 10.2005
    //
    ////////////////////////////////////////////////////////////////
    //
    // Sur une composition active, lancer le script
    // Entrer le nombre de cotes et le rayon
    //
    ////////////////////////////////////////////////////////////////
    
    {
    
     // fonction qui cree le masque //
    
     function CreatePolygon (comp) {
          var nbPoints = prompt("Entrer le nombre de cotes ( >= 1 ): ","3");
          if ( nbPoints == null ) { return "annuler" }
    
          var r = prompt("Entrer le rayon : ","100");
          if ( r == null ) { return "annuler" }
    
          var myLargeur = comp.width ;
          var myHauteur = comp.height ;
          mySolid = comp.layers.addSolid([1,1,0], "Polygone", myLargeur, myHauteur, 1);
          newMask = mySolid.Masks.addProperty("Mask");
          
          //----> pour Sequelles
          //newMask.rotoBezier = true ;
    
          myMaskShape = newMask.property("maskShape");
          myShape = myMaskShape.value;
          myShape.closed = true;
          
          var x = new Array();
          var y = new Array();
          var coords = new Array();
          var tabcoords = new Array();
    
          var centreX = myLargeur/2;
          var centreY = myHauteur/2;
    
          for (var j = 0  ; j < nbPoints ; j++) {
             x[j] = centreX + r*Math.cos(j*2*Math.PI/nbPoints);
             y[j] = centreY + r*Math.sin(j*2*Math.PI/nbPoints);
             coords [j] = [ x[j],y[j] ];
             tabcoords.push(coords[j]);
          }
    
          myShape.vertices = tabcoords;
          myMaskShape.setValue(myShape);
     }
    
    
     // programme principal //
    
     app.beginUndoGroup("Polygones.jsx");
    
     var myComp = app.project.activeItem;
     CreatePolygon(myComp);
    
     app.endUndoGroup();
    
    }
    
    ps: Sequelles, je t'ai mis dans le code en commentaires // , l'instruction qui permet de choisir l'option rotoBezier pour le masque :cool:

    ps2: je viens de voir que Profound Effects proposait quelque chose de similaire dans ses "Usefull assistants" , profound_polygon
     
  2. Sequelles

    Sequelles Modérateur
    Modérateur So

    Points Repaire:
    11 780
    Recos reçues:
    20
    Messages:
    4 261
    Appréciations:
    +2 / 13 / -0
    ExtendScript Toolkit

    En replongeant dans les anciens messages du forum pour voir tous ce que j'avais un peu loupé par manque de temps ces derniers mois. Je me dis qu'il faudrait vraiment faire quelques pages de tut sur les scripts.

    Il faudrait se pencher aussi sur ce qui concerne la:
    "Création d’éléments pour l’interface utilisateur" voir dans le Scripting Guide.pdf

    Ce script est excellent pour ça car il aurait besoin de pas mal de paramètres.

    Nom seulement le nombre de cotés et le rayon, mais aussi la taille du solide et sa couleur.

    Le script va prendre de l'importance dans After Effects, avec l'éditeur de script d'Adobe l'ExtendScript Toolkit (que l'on peut découvrir avec la suite Cs2) et qui sera utile pour After Effects 7
     
    #2 Sequelles, 12 Novembre 2005
    Dernière édition: 12 Novembre 2005
  3. bildebool

    Points Repaire:
    1 450
    Recos reçues:
    0
    Messages:
    940
    Appréciations:
    +0 / 1 / -0
    Hi !

    Il m'a l'air bien ce script j'essaye ça des que j'ai le temps !

    En passant Sequelles, je ne sais pas si t'as vu, mais dans cette discussion, on parlant d'une éventuelle sous rubrique, pour les script et/ou expressions... Lis un peu pour voir, je pense que ce serait pas mal ! (dans les 4 derniers posts)

    Bill
     
  4. Sequelles

    Sequelles Modérateur
    Modérateur So

    Points Repaire:
    11 780
    Recos reçues:
    20
    Messages:
    4 261
    Appréciations:
    +2 / 13 / -0
    Je ne suis pas pour créer une sous rubrique au forum, il y a déjà une ribambelle de forum dans le repaire!
    Donc il faut fonctionner sur les discussions, penser à mettre "Script" au début du titre par exemple.

    Ensuite pour rassemble les scripts, nab ou moi pouvons créer une page sur le serveur du repaire pour les héberger.
     
  5. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    du style quelque chose qui pourrait ressemblait a cela :

    [​IMG]
     
  6. bildebool

    Points Repaire:
    1 450
    Recos reçues:
    0
    Messages:
    940
    Appréciations:
    +0 / 1 / -0
    Oui je comprend comme c'est ecrit dans la chartre ou qqchose comme ça que trop de rubriques est compliqué, par contre je trouverais effectivement interessant si on pouvait retrouver à un endroit tout les scripts (et expressions ?) mis en ligne dans le forum, qui serait validé comme utile et fonctionnant par les modos.

    Pour ma part j'ai essayé un peu de reprendre les expressions du jeu des expressions, mais étant plutot debutant en la matiere, j'avoue avoir du mal a vous suivre parfois car vous vous comprenez mais le detail de l'expression ou de l'utilisation n'est parfois pas super clair pour quelqu'un qui reprend la discussion au milieu...

    Bref je ferme cette parenthese en disant que je trouverais cela utile de tout regroupé dans une page.

    Bill

    PS : c'est quoi ce "Scripting Guide.pdf" ?
     
  7. Sequelles

    Sequelles Modérateur
    Modérateur So

    Points Repaire:
    11 780
    Recos reçues:
    20
    Messages:
    4 261
    Appréciations:
    +2 / 13 / -0
    exactement nab! c'est ça :bravo:

    La grande classe je trouve,
    avec une petite interface pour entrer les paramètres ça fait tous de suite super pro!

    bildebool,
    le Scripting Guide.pdf est dans la documentation d'After Effects

    nab, as-tu essayé l' ExtendScript Toolkit
     
  8. bildebool

    Points Repaire:
    1 450
    Recos reçues:
    0
    Messages:
    940
    Appréciations:
    +0 / 1 / -0
    Ah ben oui.... [​IMG]
     
  9. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    non j ai pas essayé car je n ai pas cette version recente de photoshop
    mais j ai trouve un ptit peu d info sur le net concernant l'ExtendScript Toolkit et cela a l air vraiment chouette, en tout cas pour ce qui est de la creation d'interface.
    D apres ce que j ai lu, tu as la possibilite de mettre des icones dans les fenetres, des barres de chargements, des menus...mais ce que j ai surtout remarqué c est qu il ya apparemment un "AutoLayoutManager" qui permet de gerer facilement l'emplacement des elements .
    car pour le monent dans le scripting AE, tous les elements que tu places dans une fenetre, tu dois ecrire les coordonnees de chacun d entre eux pour les positionner.....et c est HORRIBLE a faire je trouve.
    si tu prends mon exemple plus haut, il a fallu que j ecrive les coordonnees de tous les "champs", y compris les 'textes fixes' bien sur (en precisant les coords du point en haut a gauche et les coords du point en bas a droite, pour delimiter une zone rectangulaire), du style "attend là je décale de 10 pixel, donc il faut que j enleve 10 pixel là bas, et puis apres je laisse un espace de 20 pixel, ah oui mais là ca va dépasser de la fenetre, etc..puFF

    ce kit sera-il inclus a coup sur dans AE 7.0 ? et quelles autres infos as tu concernant le scripting et cette nouvelle version d'AE ?

    ps: pour le polygone, j ai juste codé l interface pour le moment, c est chiant mais pas le plus dur...apres il faut associer les "evenements", dire que lorsque tu rentres des valeurs, c est pris en compte; qd tu cliques là ca doit faire ca, etc... là-dessus je galere encore un peu :D
     
  10. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    PolygonsUI

    ah ca y est , je crois que c est bon :)

    voila donc mon premier "vrai outil", avec sa petite palette/interface pour parametrer le polygone.

    on ouvre un projet, une nouvelle comp et on lance le script.

    on peut bien entendu appliquer le script autant de fois qu on veut suivant le nombre de figures que l on souhaite créer.

    les commentaires des premiers testeurs sont les bienvenus :)

    LE LIEN : PolygonsUI.jsx
     
  11. rog

    rog

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    16
    Appréciations:
    +0 / 0 / -0
    très bien!

    Le script fonctionne bien chez moi,
    même si à un moment j'ai eu un message d'erreur à propos e "null à la ligne 300" que je n'ai pas réussi à reproduire, après avoir viré les 3 calques que j'ai créé précédement avec le script.
    Depuis, ça marche sans problèmes, et quelle belle interface!
     
  12. bildebool

    Points Repaire:
    1 450
    Recos reçues:
    0
    Messages:
    940
    Appréciations:
    +0 / 1 / -0
    #12 bildebool, 17 Novembre 2005
    Dernière édition: 5 Avril 2006
  13. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    salut :)

    merci a vous deux ...
    bon c est cool alors, ca semble bien fonctionner :)

    bill, pour le plus a ajouter, tu voudrais quoi ? je vois pas trop...
     
  14. bildebool

    Points Repaire:
    1 450
    Recos reçues:
    0
    Messages:
    940
    Appréciations:
    +0 / 1 / -0
    Ben en fait lorsqu'on execute le script, forcément il crée un nouveau calque. ça aurait pu etre interessant de pouvoir choisir si on veut appliquer la forme à un calque existant ou en créer un nouveau.

    Bill

    -------
    edit :
    j'aimerais bien aussi apprendre à faire tes anims :
    http://perso.numericable.fr/~ebordenave35/nab17connection/movies/anim_mask.swf
    http://perso.numericable.fr/~ebordenave35/nab17connection/movies/anim_mask2.swf
    http://perso.numericable.fr/~ebordenave35/nab17connection/movies/anim_mask3.swf
    http://perso.numericable.fr/~ebordenave35/nab17connection/movies/anim_mask_roto.swf

    à voir dans cette discussion
     
  15. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    oui mais si tu as deja un masque disons en forme de triangle sur ton calque, si tu decides de lui ajouter un carré, tu n auras plus grand chose....ou alors il faudrait (comme dans ton exemple je suppose) mettre des points cles sur la forme du masque. du style a t=0 on veut un triangle, a t=1 un carré, a t=2 etc etc
    ce serait tres facile de faire cela, mais je pense qu il est preferable de laisser un peu de "generalite" dans ce script, plutot que de faire quelquechose de trop ciblé en rapport a un type precis d animation...tu vois ce que je veux dire...

    ps:pour les anims sur les masques, je t avais mis une sorte d exemple, "pret a remplir" ou tu n avais qu a mettre les equations de ton choix; a la base dans l exemple en question j avais fait un cercle qui se deformait il me semble
    pps: c etait là : anim_mask_exemple.jsx , ce que tu peux changer c est l equation pour x[j] et y[j], vers la fin du script, et les tangentes aussi si tu veux...c est bien commenté (enfin j avais essayé ;))
     
Chargement...

Partager cette page