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

Le choix de Python ou JavaScript doit être basé sur le développement de carrière, la courbe d'apprentissage et l'écosystème: 1) le développement de carrière: Python convient à la science des données et au développement de back-end, tandis que JavaScript convient au développement frontal et complet. 2) Courbe d'apprentissage: la syntaxe Python est concise et adaptée aux débutants; La syntaxe JavaScript est flexible. 3) Ecosystème: Python possède de riches bibliothèques informatiques scientifiques, et JavaScript a un puissant cadre frontal.

La puissance du cadre JavaScript réside dans la simplification du développement, l'amélioration de l'expérience utilisateur et les performances des applications. Lorsque vous choisissez un cadre, considérez: 1. Taille et complexité du projet, 2. Expérience d'équipe, 3. Écosystème et soutien communautaire.

INTRODUCTION Je sais que vous pouvez le trouver étrange, que doit faire exactement JavaScript, C et Browser? Ils semblent sans rapport, mais en fait, ils jouent un rôle très important dans le développement Web moderne. Aujourd'hui, nous discuterons du lien étroit entre ces trois. Grâce à cet article, vous apprendrez comment JavaScript fonctionne dans le navigateur, le rôle de C dans le moteur du navigateur et comment ils fonctionnent ensemble pour stimuler le rendu et l'interaction des pages Web. Nous connaissons tous la relation entre JavaScript et Browser. JavaScript est la langue principale du développement frontal. Il fonctionne directement dans le navigateur, rendant les pages Web vives et intéressantes. Vous êtes-vous déjà demandé pourquoi javascr

Node.js excelle dans des E / S efficaces, en grande partie grâce aux flux. Streams traite les données progressivement, en évitant la surcharge de mémoire - idéal pour les fichiers volumineux, les tâches réseau et les applications en temps réel. Combiner les flux avec la sécurité de type dactylographié crée un powe

Les différences de performance et d'efficacité entre Python et JavaScript se reflètent principalement dans: 1) comme un langage interprété, Python fonctionne lentement mais a une efficacité de développement élevée et convient au développement rapide des prototypes; 2) JavaScript est limité au thread unique dans le navigateur, mais les E / S multi-threading et asynchrones peuvent être utilisées pour améliorer les performances dans Node.js, et les deux ont des avantages dans les projets réels.

JavaScript est originaire de 1995 et a été créé par Brandon Ike, et a réalisé que la langue en langue C. 1.C offre des capacités de programmation élevées et au niveau du système pour JavaScript. 2. La gestion de la mémoire de JavaScript et l'optimisation des performances reposent sur le langage C. 3. La fonctionnalité multiplateforme du langage C aide JavaScript à s'exécuter efficacement sur différents systèmes d'exploitation.

JavaScript s'exécute dans les navigateurs et les environnements Node.js et s'appuie sur le moteur JavaScript pour analyser et exécuter du code. 1) Générer une arborescence de syntaxe abstraite (AST) au stade d'analyse; 2) Convertir AST en bytecode ou code machine à l'étape de compilation; 3) Exécutez le code compilé à l'étape d'exécution.

Les tendances futures de Python et JavaScript incluent: 1. Python consolidera sa position dans les domaines de l'informatique scientifique et de l'IA, 2. JavaScript favorisera le développement de la technologie Web, 3. Le développement de plate-forme multiplié deviendra un sujet brûlant, et 4. L'optimisation des performances sera le focus. Les deux continueront d'étendre les scénarios d'application dans leurs champs respectifs et de faire plus de percées dans les performances.


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

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

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

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

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel
