"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > بعد التأثيرات برمجة البرمجة النصية ودليل التوليف

بعد التأثيرات برمجة البرمجة النصية ودليل التوليف

نشر في 2025-05-01
تصفح:851

Scripting: After Effects Projects and Compositions

محتويات
مقدمة
Application
مشروع
مجلدات وتراكيب
مثال
نصائح سريعة
خاتمة

مقدمة

في هذه المقالة ، سأمر عبر بعض أساسيات التنقل بعد المشاريع والتراكيب باستخدام البرنامج النصي. سأشير إلى بعض الأجزاء الأكثر فائدة في دليل البرمجة النصية ، وأظهر بعض الأمثلة العملية لكيفية عملها.

لنبدأ.


طلب

app

يشير التطبيق إلى التطبيق بعد التأثيرات نفسها. للإشارة إلى أي شيء داخل الآثار بعد التأثيرات ، ستحتاج إلى البدء بإخبار البرنامج النصي الخاص بك للنظر في التطبيق.

بينما يمكنك الرجوع إلى الإعدادات والملفات ونظام الكمبيوتر بعد التأثيرات التي يتم تثبيتها (سأذهب إلى هذه الخيارات في مقالة أخرى) ، فمن المحتمل أن يكون الكائن الرئيسي الذي ستحتاج إلى الإشارة إليه بعد أن يكون التطبيق مشروعًا بعد التأثيرات.

app.newProject()

NewProject () ينشئ مشروعًا جديدًا فارغًا. ستتم مطالبتك بعد آثار إذا كنت ترغب في حفظ عملك الحالي قبل حدوث ذلك.

app.open(file)

Open () في هذه الأثناء يتيح لك فتح مشروع موجود. ترك الأقواس فارغة ، سوف يطرح مربع حوار المشروع المفتوح كما لو كان التنقل إلى ملف> فتح المشروع ... في قائمة آثار بعد. بدلاً من ذلك ، يمكنك الرجوع إلى ملف داخل الأقواس لفتح مشروع معين.

project = new File ("...FilePath/AE Project.aep");
app.open(project);

ستحتاج إلى إنشاء ملف جديد () لتحديد موقع الملف من داخل البرنامج النصي الخاص بك. أفضل تخزين هذا في متغير للحفاظ على الأشياء مرتبة. مرة أخرى ، ستتم مطالبتك بحفظ مشروعك الحالي قبل فتح الملف.


مشروع

app.project

يشير المشروع إلى Project Current Open in After Effects. من هنا ، يمكننا الوصول إلى جميع العناصر من داخل مشروعنا ، وإنشاء العناصر الجديدة ، والوصول إلى قائمة انتظار العرض.

app.project.save([file])

حفظ () يحفظ المشروع. دون إضافة خيار ملف ، أو إذا لم يتم حفظ المشروع مسبقًا ، فستظهر هذه الطريقة حوار حفظ المستخدم لحفظ مشروعه. تذكر - تحتاج إلى إنشاء ملف جديد في مشروعك قبل أن تتمكن من الرجوع إليه في هذه الطريقة.

app.project.importFile(importOptions)

importFile () يعمل قليلاً مثل هذا:

new ImportOptions().file = new File("...FilePath/My File.jpg");
app.project.importFile(file)

سأذهب إلى استيراد الملفات بمزيد من التفصيل في مقال آخر. ولكن كنظرة عامة سريعة ، يمكنك استخدام هذه الطريقة لاستيراد الملفات في مشروعك. لا تحتاج فقط إلى إنشاء ملف جديد ، ولكن عليك أيضًا إنشاء استيرادات جديدة لتحديد ما تستورده وكيف. هذا يتيح لنا القيام بأشياء مثل استيراد تسلسل الصور ، وملفات استيراد كأمر ، وترتيب أبجدي.

app.project.importFileWithDialog()


app.project.renderqueue
app.project.renderQueue
يمنحنا Renderqueue الوصول إلى قائمة انتظار العرض ، ويسمح لنا بتعيين إعدادات العرض وحتى التراكيب. سأذهب أكثر في هذا في مقال آخر.


app.project.activeItem
app.project.renderQueue
يشير ActiveItem إلى العنصر الحالي الذي يتم عرضه ، وعادة ما يكون تكوين أو طبقة لقطات أو عنصر نائب أو صلب. إنه يشير فقط إلى عنصر واحد في وقت واحد ، ويعيد فارغًا إذا كانت عناصر متعددة نشطة ، أو إذا لم تكن أي منها نشطة. قد يكون من المفيد الإشارة إلى التكوين النشط ، بالنسبة للبرامج النصية التي تضيف طبقات أو تؤثر على ما يعمل عليه المستخدم حاليًا بطريقة ما. لاحظ أن هذا ليس مثل عنصر يجري

تحديد .

app.project.selection
app.project.selection
إلى جميع العناصر المحددة حاليًا داخل لوحة المشروع. هذا ما تحتاجه عند الرجوع إلى العناصر المحددة ، بدلاً من العنصر النشط.


app.project.item (فهرس)
app.project.renderQueue
يشير العنصر () على وجه التحديد إلى عنصر واحد داخل مشروعك - سواء كان ذلك تكوينًا أو صلبًا أو ماذا لديك. مثل ذلك:


app.project.item (1) app.project.item ("Comp 01")
app.project.renderQueue
يمثل الفهرس إما رقم الفهرس للعنصر الموجود داخل نافذة المشروع ، أو يمكنه أيضًا الرجوع إلى اسم الطبقة.


app.project.items
app.project.renderQueue
تشير العناصر في هذه الأثناء إلى مجموعة

للعناصر الموجودة داخل مشروعك. يتم استخدامه لإنشاء مؤلفات ومجلدات جديدة.


المجلدات والتراكيب

هذا يقودنا بشكل جيد إلى المجلدات والتركيبات.


app.project.items.addfolder (name) ؛ app.project.items.addcomp (الاسم ، العرض ، الارتفاع ، البكسل ، المدة ، الإطار) ؛
app.project.renderQueue
addfolder () ينشئ مجلد جديد لمشروعك. تأكد من أن وسيطة الاسم هي سلسلة (في "" أو "').

addComp () ومع ذلك لديه العديد من الحجج التي يجب مراعاتها. هذا لأن هناك الكثير من المعلومات اللازمة لإنشاء تكوين جديد:

وسيطة وصفاسم اسم التكوين. يجب أن تكون سلسلة (في "" أو "') عرض عرض تكوينك ارتفاع ارتفاع تكوينك pixelaspect نسبة العرض إلى ارتفاع البيكسل. من شبه المؤكد أنك تتطلع إلى تعيين هذا إلى وحدات البكسل المربعة ، والتي يمكنك القيام بها عن طريق تحديد النسبة إلى 1. يمكن تعيين أي نسبة عرضة للبكسل الأخرى عن طريق إدخال النسبة الصحيحة (على سبيل المثال ، يمكن تعيين Anamorphic 2: 1 عن طريق إدخال 2 ، ويمكن تعيين D1/DV Pal Widescreen عن طريق إدخال 1.46). مدة Framerate
مدة التكوين في ثوان
معدل الإطار للتكوين
يمكنك إنشاء شركات جديدة داخل المجلدات من خلال الرجوع إلى المجلد بدلاً من ذلك ، مثل هذا:


Folder01 = app.project.items.addfolder ("comps") ؛ comp01 = folder01.items.addcomp ("comp 01" ، 1920 ، 1080 ، 1 ، 5 ، 25) ؛

folder01 = app.project.items.addFolder("Comps");
Comp01 = folder01.items.addComp("Comp 01", 1920, 1080, 1, 5, 25);


Folder01 = app.project.items.addfolder ("comps") ؛ comp01 = app.project.items.addcomp ("comp 01" ، 1920 ، 1080 ، 1 ، 5 ، 25) ؛ comp01.ParentFolder = Folder01 ؛

folder01 = app.project.items.addFolder("Comps");
Comp01 = app.project.items.addComp("Comp 01", 1920, 1080, 1, 5, 25);

Comp01.parentFolder = folder01;


comp1.openinviewer () ؛

comp1.openInViewer();
مثال

باستخدام القليل مما غطيته ، إليك برنامج نصي قصير يتيح لك فتح مشروع جديد ، وإنشاء مجلدان وموزعة ، وإضافة شركات واحدة إلى الآخر كمؤشر مسبق.


app.newproject () ؛ المجلد 1 = app.project.items.addfolder ("_ Final") ؛ المجلد 2 = app.project.items.addfolder ("precomps") ؛ comp1 = folder1.items.addcomp ("comp 01" ، 1920 ، 1080 ، 1 ، 10 ، 25) ؛ comp2 = folder2.items.addcomp ("Comp 02" ، 1920 ، 1080 ، 1 ، 10 ، 25) ؛ comp1.openinviewer () ؛ app.project.activeItem.layers.add (comp2) ؛

comp1.openInViewer();
نصائح سريعة

ستجد ، بعد تشغيل هذا البرنامج النصي ، إذا كنت ستضغط على التراجع بعد التأثيرات ، فسيقوم فقط بالتراجع عن كل إجراء في وقت واحد. في معظم الأحيان ، هذا ليس مثاليًا ، حيث تخضع البرامج النصية في كثير من الأحيان إلى العديد من الإجراءات ، مما يجعل هذا الوقت يستغرق وقتًا طويلاً ومزعجًا للمستخدم النهائي.


app.beginundogroup (Undostring) app.endundogroup (Undostring)

app.beginUndoGroup(undoString)
app.endUndoGroup(undoString)

خاتمة


آمل أن يكون هذا قد ساعد في إلقاء بعض الضوء على كيفية الرجوع إلى مشاريع وتأثيرات التأثيرات بعد إجراء نصوص بعد التأثيرات. في المقالة التالية ، سأقوم بإنشاء Windows منبثقة للمستخدمين للتفاعل مع البرامج النصية الخاصة بك.

هل لديك أي أسئلة؟ شيء خاطئ هنا أم لا يعمل؟ اسمحوا لي أن أعرف في التعليقات.

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/kocreative/scripting-after-effects-projects-and-compositions-18jb؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3