Maison interface Web js tutoriel Scripting : projets et compositions After Effects

Scripting : projets et compositions After Effects

Dec 08, 2024 pm 04:31 PM

Scripting: After Effects Projects and Compositions

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
Copier après la connexion
Copier après la connexion
Copier après la connexion

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()
Copier après la connexion
Copier après la connexion
Copier après la connexion

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)
Copier après la connexion
Copier après la connexion
Copier après la connexion

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);
Copier après la connexion
Copier après la connexion
Copier après la connexion

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
Copier après la connexion
Copier après la connexion
Copier après la connexion
Le

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])
Copier après la connexion
Copier après la connexion

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)
Copier après la connexion
Copier après la connexion

importFile() fonctionne un peu comme ceci :

new ImportOptions().file = new File("...FilePath/My File.jpg");
app.project.importFile(file)
Copier après la connexion

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()
Copier après la connexion

importFileWithDialog() ouvre quant à lui la boîte de dialogue d'importation de séquences, permettant à l'utilisateur final de sélectionner son fichier.

app
Copier après la connexion
Copier après la connexion
Copier après la connexion

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()
Copier après la connexion
Copier après la connexion
Copier après la connexion

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)
Copier après la connexion
Copier après la connexion
Copier après la connexion

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);
Copier après la connexion
Copier après la connexion
Copier après la connexion

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
Copier après la connexion
Copier après la connexion
Copier après la connexion

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])
Copier après la connexion
Copier après la connexion
Les

é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)
Copier après la connexion
Copier après la connexion

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
Copier après la connexion
Copier après la connexion
Copier après la connexion

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()
Copier après la connexion
Copier après la connexion
Copier après la connexion

Une fois que vous avez créé une composition, vous pouvez la définir comme élément actif en utilisant openInViewer()

app.open(file)
Copier après la connexion
Copier après la connexion
Copier après la connexion

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);
Copier après la connexion
Copier après la connexion
Copier après la connexion

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
Copier après la connexion
Copier après la connexion
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Apr 04, 2025 pm 02:42 PM

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

Démystifier javascript: ce qu'il fait et pourquoi c'est important Démystifier javascript: ce qu'il fait et pourquoi c'est important Apr 09, 2025 am 12:07 AM

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.

Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

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.

Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido?
ou:
Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido? ou: Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Apr 04, 2025 pm 05:36 PM

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/) ...

L'évolution de JavaScript: tendances actuelles et perspectives d'avenir L'évolution de JavaScript: tendances actuelles et perspectives d'avenir Apr 10, 2025 am 09:33 AM

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.

JavaScript est-il difficile à apprendre? JavaScript est-il difficile à apprendre? Apr 03, 2025 am 12:20 AM

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 utilisant JavaScript? Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Apr 04, 2025 pm 05:09 PM

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

Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Apr 04, 2025 pm 02:06 PM

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

See all articles