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

Scripting : projets et compositions After Effects

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-08 16:31:10308parcourir

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

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
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])

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])
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)

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!

Déclaration:
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