Scripting : projets et compositions After Effects
Contents |
---|
Introduction |
Application |
Project |
Folders And Compositions |
Example |
Quick Tips |
Conclusion |
Introduction
Dans cet article, je vais passer en revue certaines des bases de la navigation dans les projets et compositions After Effects à l'aide d'un script. Je ferai référence à certaines des parties les plus utiles du guide de script et montrerai quelques exemples pratiques de son fonctionnement.
Commençons.
Application
app
l'application fait référence à l'application After Effects elle-même. Pour référencer quoi que ce soit dans After Effects, vous devrez commencer par demander à votre script de consulter l'application.
Bien que vous puissiez référencer les paramètres, les fichiers et le système informatique sur lequel After Effects est installé (j'aborderai ces options dans un autre article), il s'agit très probablement de l'objet principal que vous devrez référencer après l'application. est un projet After Effects.
app.newProject()
newProject() crée un nouveau projet vide. After Effects vous demandera si vous souhaitez enregistrer votre travail actuel avant que cela ne se produise.
app.open(file)
open() permet quant à lui d'ouvrir un projet existant. En laissant les crochets vides, la boîte de dialogue d'ouverture du projet apparaîtra comme si vous naviguiez vers Fichier > Ouvrez le projet... dans le menu After Effects. Alternativement, vous pouvez référencer un fichier entre parenthèses pour ouvrir un projet spécifique.
project = new File ("...FilePath/AE Project.aep"); app.open(project);
Vous devrez créer un nouveau File() pour localiser le fichier à partir de votre script. Je préfère stocker cela dans une variable pour garder les choses en ordre. Encore une fois, vous serez invité à enregistrer votre projet actuel avant l'ouverture du fichier.
Projet
app.project
projet fait référence au projet actuel ouvert dans After Effects. À partir de là, nous pouvons accéder à tous les éléments de notre projet, en créer de nouveaux et accéder à la file d'attente de rendu.
app.project.save([file])
save() enregistre le projet. Sans ajouter l'option d'un fichier, ou si le projet n'a pas été préalablement enregistré, cette méthode fera apparaître la boîte de dialogue de sauvegarde permettant à l'utilisateur de sauvegarder son projet. N'oubliez pas : vous devez créer un nouveau fichier dans votre projet avant de pouvoir le référencer dans cette méthode.
app.project.importFile(importOptions)
importFile() fonctionne un peu comme ceci :
new ImportOptions().file = new File("...FilePath/My File.jpg"); app.project.importFile(file)
J'aborderai l'importation de fichiers plus en détail dans un autre article. Mais pour un aperçu rapide, vous utilisez cette méthode pour importer des fichiers dans votre projet. Non seulement vous devez créer un nouveau fichier, mais vous devez également créer de nouvelles ImportOptions pour spécifier ce que vous importez et comment. Cela nous permet de faire des choses comme importer des séquences d'images, importer des fichiers sous et forcer l'ordre alphabétique.
app.project.importFileWithDialog()
importFileWithDialog() ouvre quant à lui la boîte de dialogue d'importation de séquences, permettant à l'utilisateur final de sélectionner son fichier.
app
renderQueue nous donne accès à la file d'attente de rendu et nous permet de définir les paramètres de rendu et même de rendre les compositions. J'en parlerai davantage dans un autre article.
app.newProject()
activeItem fait référence à l'élément actuellement visualisé, généralement une composition, un calque de métrage, un espace réservé ou un solide. Il ne fait référence qu'à un élément à la fois et renvoie une valeur nulle si plusieurs éléments sont actifs ou si aucun n'est actif. Il peut être pratique de référencer la composition active, pour les scripts qui ajoutent des calques ou affectent d'une manière ou d'une autre ce sur quoi l'utilisateur travaille actuellement. Notez que ce n'est pas la même chose qu'un élément sélectionné.
app.open(file)
la sélection fait référence à tous les éléments actuellement sélectionnés dans le panneau du projet. C'est ce dont vous avez besoin pour référencer les éléments sélectionnés, plutôt que l'élément actif.
project = new File ("...FilePath/AE Project.aep"); app.open(project);
item() fait spécifiquement référence à un seul élément à l'intérieur de votre projet - qu'il s'agisse d'une composition, d'un solide ou autre. Comme ça :
app.project
L'index représente soit le numéro d'index de l'élément à l'intérieur de la fenêtre du projet, soit peut également faire référence au nom du calque.
app.project.save([file])
éléments font quant à eux référence à la collection d'éléments à l'intérieur de votre projet. Il est utilisé pour créer de nouvelles compositions et dossiers.
Dossiers et compositions
Cela nous amène joliment aux dossiers et aux compositions.
app.project.importFile(importOptions)
addFolder() crée un nouveau dossier pour votre projet. Assurez-vous que l'argument du nom est une chaîne (dans " " ou ' ').
addComp() a cependant beaucoup plus d'arguments à considérer. En effet, de nombreuses informations sont nécessaires pour créer une nouvelle composition :
Argument | Description |
---|---|
name | The name of the composition. Needs to be a string (in " " or ' ') |
width | The width of your composition |
height | The height of your composition |
pixelAspect | The pixel aspect ratio. You are almost certainly looking to set this to Square Pixels, which you can do by setting the ratio to 1. Any other pixel aspect ratio can be set by entering the correct ratio (for example, Anamorphic 2:1 can be set by entering 2, and D1/DV PAL Widescreen can be set by entering 1.46). |
duration | The duration of the composition in seconds |
frameRate | The frame rate of the composition |
Vous pouvez créer de nouvelles compositions à l'intérieur de dossiers en référençant le dossier à la place, comme ceci :
app
Et peut déplacer des éléments dans le dossier après coup, en définissant l'attribut parentFolder de l'élément :
app.newProject()
Une fois que vous avez créé une composition, vous pouvez la définir comme élément actif en utilisant openInViewer()
app.open(file)
Exemple
En utilisant un peu de ce que j'ai couvert, voici un court script qui vous permet d'ouvrir un nouveau projet, de créer 2 dossiers et 2 compositions, et d'ajouter une composition à l'autre en précomp.
project = new File ("...FilePath/AE Project.aep"); app.open(project);
Conseils rapides
Vous constaterez qu'après avoir exécuté ce script, si vous appuyez sur Annuler dans After Effects, il n'annulera chaque action qu'une par une. La plupart du temps, ce n'est pas idéal, car les scripts subissent souvent de nombreuses actions, ce qui rend cela très long et ennuyeux pour l'utilisateur final.
app.project
C'est là qu'interviennent beginUndoGroup() et endUndoGroup(). Ils vous permettent de regrouper les actions du script, afin qu'elles puissent être annulées en un seul mouvement. L'undoString est ce que vous verrez à côté de l'option d'annulation dans After Effects. Bien que vous n'ayez pas nécessairement besoin d'ajouter endUndoGroup() si vous n'avez qu'une seule instance de beginUndoGroup() dans votre script (car il se fermera automatiquement), il est recommandé de l'ajouter à la fin de votre script, pour conserver votre script bien rangé.
Conclusion
J'espère que cela vous a aidé à faire la lumière sur la façon de référencer des projets et des compositions After Effects lors de la création de vos scripts After Effects. Dans le prochain article, j'aborderai la création de fenêtres contextuelles permettant aux utilisateurs d'interagir avec vos scripts.
Vous avez des questions ? Quelque chose ne va pas ici ou ne fonctionne pas ? Faites-le-moi savoir dans les commentaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

La discussion sur la réalisation des effets de défilement de parallaxe et d'animation des éléments dans cet article explorera comment réaliser le site officiel de Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ...

Les dernières tendances de JavaScript incluent la montée en puissance de TypeScript, la popularité des frameworks et bibliothèques modernes et l'application de WebAssembly. Les prospects futurs couvrent des systèmes de type plus puissants, le développement du JavaScript côté serveur, l'expansion de l'intelligence artificielle et de l'apprentissage automatique, et le potentiel de l'informatique IoT et Edge.

Apprendre JavaScript n'est pas difficile, mais c'est difficile. 1) Comprendre les concepts de base tels que les variables, les types de données, les fonctions, etc. 2) Master la programmation asynchrone et les implémenter via des boucles d'événements. 3) Utilisez les opérations DOM et promettez de gérer les demandes asynchrones. 4) Évitez les erreurs courantes et utilisez des techniques de débogage. 5) Optimiser les performances et suivre les meilleures pratiques.

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

Explorez la mise en œuvre de la fonction de glisser et de réglage du panneau de type VScode dans le frontal. Dans le développement frontal, comment implémenter un VScode comme ...
