Внимание! Вы находитесь в архиве форума aeclub.net
Действующий форум находится здесь

История благодарностей участнику monter ::: Спасибо сказали: 31 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
09.08.2012, 9:55 Запуск AE
AlexA, правильно описал действия.
только полностью полагаться на автомат не стОило бы.
в Вашем случае, я еще бы добавил в самом конце скрипта, после рендера, отправку СМС на мобилу. и в случае ошибки рендера, тоже.
тогда Вы смогли бы оперативно проверить результат автоматической работы АЕ.
как-то так!
john#,
08.06.2012, 9:21 изменение коррекции пикселей у группы секвенции
если нужен не стандартный PAR, то есть скрипт
Скрипты и готовые решения для AE
bochargin,
30.05.2012, 11:38 Можно ли объявлять мега глобальные функции?
вот подробное описание, как можно пользоваться своими и не только утилитами.
_http://www.redefinery.com/ae/rd_utilities/
vasilyis, xlabuchi,
12.05.2012, 10:52 Срипт Effect Fill
вот для одного выделенного слоя, без проверок на дураков и без CTRL+Z

CODE
// Create Color
function ColorPicker() {
var defaultColor =rgb;
var colorInt = 255 * (65536 * defaultColor[0] + 256 * defaultColor[1] + defaultColor[2]);
var c = $.colorPicker(colorInt);
if (c == -1) return;
var r = ((c >> 16) & 0xFF) / 255;
var g = ((c >> 8) & 0xFF) / 255;
var b = (c & 0xFF) / 255;
return rgb = [r, g, b];
}

// Start
var rgb = [1,1,1];
var comp = app.project.activeItem;
myLayer = comp.selectedLayers[0];
eff =myLayer.Effects.addProperty("ADBE Fill");
var color = ColorPicker();
eff.property(3).setValue(color);


добавлено через 19 минут:

Вот вариант для всех выделенных слоев.

CODE
// Create Color
function ColorPicker() {
var defaultColor =rgb;
var colorInt = 255 * (65536 * defaultColor[0] + 256 * defaultColor[1] + defaultColor[2]);
var c = $.colorPicker(colorInt);
if (c == -1) return;
var r = ((c >> 16) & 0xFF) / 255;
var g = ((c >> 8) & 0xFF) / 255;
var b = (c & 0xFF) / 255;
return rgb = [r, g, b];
}

function ColorFill() {
app.beginUndoGroup("Monter Fill Layer");
var comp = app.project.activeItem;
color =ColorPicker()
if (color) {
var LayerNum = comp.selectedLayers.length;
for (i = 0; i < LayerNum; i++) {
StepLayer = comp.selectedLayers[i];
myLayer = comp.selectedLayers[i];
eff =myLayer.Effects.addProperty("ADBE Fill");
eff.property(3).setValue(color);
}
}else{return }
app.endUndoGroup();
}

// Start
var rgb = [1,1,1];
var color;
ColorFill();
kovblood,
16.06.2011, 11:02 Скрипты и готовые решения для AE
AutoRender
[attachmentid=10922]

[attachmentid=10921]

Auto Render helps you keep track of your work and to keep renders organized. Things that often fall apart on tight deadlines and people start naming their renders to "test_final_final" etc.

In order for the script to work you will need to use strict naming conventions (which you should do anyway).

The script does the following:

-File paths. The script sets up correct file paths automatically. It will look for a (chosen) name in the project file file path and create a render folder "two steps back" in the path. For example, if the file path to your project file is "Volumes/show/shot/projectfiles/ae/shot01_v001.aep, the script will setup a render to "Volumes/show/shot/renders/. By default the script will look for a folder called "projectfiles" in the path, but you can easily change this by opening the script and edit the user variables to something that fits your pipeline.

- Sub folders. In the render folder the script will create a sub folder with the name of the project file. In the above example it would create "Volumes/show/shot/renders/shot01_v001/.

- Naming and user initials. The script saves the render based on the project file name and prompts the user for initials. In the above example your full render path would be "Volumes/show/shot/renders/shot01_v001/shot01_v001_sb_####.exr. If you click the custom name checkbox, the script will ask for a custom file name instead. This applies to both the file and the sub folder.

- Incremental saves. Every time you render a script it automatically saves a new version of your script so you can easily go back to earlier versions.

- Network render submitter (Rush). If you have Rush network render setup on your machine you can send your project file to Rush and get your renders into the correct file paths.

Be sure to open the script and edit the user variables to fit your needs, it should be easy even if you don't know anything about scripting.

Press the "?" or post here if you have any questions.

The script might contain some bugs as it is the first version, but it seems to work for me without any problems. Tested on CS5 and CS5.5, but I think it should work on CS4 as well.

Feel free to ask for feature requests.
videofestival,
11.03.2011, 11:03 Скрипты и готовые решения для AE
# Create3DBox.jsx
# Create3DSphere.jsx
# Create3DCylinder.jsx
# Create3DPyramid.jsx
# Create3DMengerSponge.jsx
# Create3DFallingDominoes.jsx
# Create3DPlatonicSolid.jsx

[attachmentid=10622]
videofestival,
21.01.2011, 20:07 Шрифты
QUOTE(semski) [snapback]95725[/snapback]
Пожалусто если еше мнения есть отпишите


[attachmentid=10431]

[attachmentid=10432]

ЗЫ.
Ну и лентяи же некоторые....
все БКК хотят.
NickB, redsaz,
29.10.2010, 10:39 Скрипты в АЕ , Документация
в CS5 заменили команды теперь
fileGetDialog надо заменить на File.openDialog
для совместимости со старыми версиями надо делать проверку релиза.
videofestival,
18.03.2010, 20:34 Камера
у тебя не линейная интерполяция ключей, сделай линейную и будет нормально.
ЗЫ
и без хренов.

[attachmentid=8844]
martindnb,
19.01.2010, 18:12 Tips & Tricks АЕ
Для получения звука "козы"

[attachmentid=8479]
Nerevar,
16.07.2009, 0:56 Скрипты и готовые решения для AE
[attachmentid=6978]
Barsuk,
05.07.2009, 14:00 Скрипты в АЕ , Документация
Общие положения

Создание пользовательского интерфейса немного изменилось с версии 6.5 (версия скрипта, на которой эти строки основывались). Однако информация, которая здесь представлена, сохраняет свою работоспособность. Даже если некоторые методы являются устаревшими, они все равно всегда поддерживаются новыми версиями АЕ (которые предлагают больше элементов и "упрощенное" их построение).
After Effects предлагает структуру языка Javascript, позволяющую создать элементы для пользовательского интерфейса. Существуют различные типы элементов (кнопки, текстовые поля, элементы управления, слайдеры, и т.д.), которые используются для взаимодействия с пользователем, что позволяет ему в свою очередь напрямую контролировать действие скрипта.
Элементы пользовательского интерфейса включены в контейнер Window. Этот объект обладает несколькими атрибутами (bounds).
Существует два типа окна: типовое окно palette и типовое окно dialog. Все элементы, которые мы можем поместить в окно, расположеные в этом контейнере с учетом их координат (задаются координаты верхнего левого угла и правого нижнего угла).
Когда добавляются элементы (такие, как типовые элементы button например), то можно ассоциировать с ними какое-либо действие. К каждому из этих действий соответствует функция, которая выполняет определенные действия.
Каждый элементарный тип обладает своими собственными методами: метод onClick(), например, для типового элемента button и метод onChange() - для текстового поля. Scripting Guide и руководство Javascript (для версий, начиная с CS3) дают подробное описание всех элементарных типов, а так же их методов.

Пример

Эта часть показывает полный пример скрипта, создающего пользовательский интерфейс. В нем создается окно и действия, связанные с обеими кнопками. Это совсем маленький пример приведен для того, чтобы дать общую идею построения интерфейса.
[attachmentid=6902]
Пример интерфейса

Код
Начнем с того, что посмотрим на код в целом, для того, чтобы получить общее представление.
CODE
// Эта функция объявляет описание скрипта
function aboutBt_OnClick()
{
var aboutText = "\"Demo.jsx\".\r\Create solid.";
alert(aboutText);
}

// Эта функция создает слой случайного цвета
function solidBt_OnClick()
{
var myProj = app.project;
if(!myProj)
{
alert("Ouvrez un projet.");
return;
}
var myComp = myProj.activeItem;
if (!myComp || !(myComp instanceof CompItem))
{
alert ("выбирите композицию. ");
return;
}
var W = myComp.width;
var H = myComp.height;
var PAR = myComp.pixelAspect;
var R = Math.random();
var G = Math.random();
var B = Math.random();
app.beginUndoGroup("Demo.jsx");
myComp.layers.addSolid([R,G,B],"Solide",W,H,PAR);
app.endUndogroup();
}

// Главный Скрипт (создание окна)
var pal = new Window("palette","Demo",[0,0,150,60]);
pal.aboutBt = pal.add("button",[115,5,140,25],"?");
pal.solidBt = pal.add ("button", [10,30,140,50],"Создать");
pal.aboutBt.onClick = aboutBt_OnClick;
pal.solidBt.onClick = solidBt_OnClick;

pal.center();
pal.show();


Объяснения

Когда скрипт запущен, выполнение всегда начинается с главной части, что иногда в программировании называется "главной точкой входа" или "main". В этом скрипте, точка входа представлена фазой строительства окна, то есть всем тем, что не определено в функциях. Что касается функций, то они выполняются только тогда, когда их вызывают из главной программы.

Главный Скрипт

Определяется переменная величина "pal" которая представляет объект Window типа palette. Напрямую указывается при его заявлении имя, которое будет отображено в шапке окна, а также размер окна. Затем добавляем к этому объекту два типовых элемента button благодаря методу add(). Эти два элемента - кнопки, далее назначаем функции, которые будут выполнены при нажатии этих кнопок (click). Две последние строки позволяют разместить окно по центру экрана и отобразить окно.

Функции

Первая функция вызывается, когда щелкаем по кнопке помощи ("?"). Эта функция использует alert() чтобы вывести описание скрипта.
Вторая функция вызывается, когда щелкаем по кнопке "Создать". Эта функция проверяет, открыт ли проект и является ли композиция активной. Если это не сделано, то выдается ошибочное сообщение и происходит возврат из функции при помощи ключевого слова return. Когда композиция активна, создается слой случайного цвета, и обладающего теми же характеристиками как и композицияом (размер, формат элементов изображения).
Отметим, что часть инструкций в функции solidBt_OnClick() отмечена с помощью методов beginUndoGroup() и endUndoGroup(). Данный подход используется для того, чтобы при нажатии Ctrl+Z можно было бы отменить действие, произведенное этой совокупностью инструкций.

Scripting

Официальная документация по скриптингу вы можете найти в этом файле - Scripting Guide (pdf). В этой инструкции описаны все объекты и методы. Это руководство кажется немного сложным, но оно определенно полезно, когда нужно найти больше информации об конкретном объекте или методе.
atoa, KostyanKad, videofestival,
05.07.2009, 13:52 Скрипты в АЕ , Документация
Объект очереди просчета

Объект очереди просчета renderQueue открывает доступ к информации, относящейся к очереди просчета. Этот объект - коллекция элементов, как и элементы окна проекта или слои в композиции. Добавляем элемент в очередь просчета методом add(). Напрямую нельзя добавить элемент в очередь, но его можно добавить к коллекции элементов, отмеченной items.

Добавляем активную композицию в очередь просчета:

myProj = app.project;
myComp = myProj.activeItem;
myRenderQueue = myProj.renderQueue;
myQueueItem = myRenderQueue.items.add(myComp);
[attachmentid=6894]
Добавление элемента в очередь просчета

Параметры очереди просчета

Как только элемент был добавлен в очередь, он становится элементом его коллекции. Атрибут numItems укажет количество элементов, оказавшихся в очереди просчета. Получить доступ к элементам можно методом item(), уточняя индекс элемента (значение между 1 и numItems).

Следующие функции позволяют настроить параметры рендеринга.

applyTemplate()
Метод applyTemplate() позволяет выбрать настройки рендаринга из ранее сохраненного шаблона. Она требует единственный параметр, который является именем шаблона. Если указать шаблон параметров, который называется "best", то пишем:
myQueueItem.applyTemplate("best");
[attachmentid=6895]
настройка параметров рендеринга

outputModules и outputModule()

Объект outputModules содержет все выходные модули для одного элемента из очереди просчета. numOutputModules - количество модулей выхода для элемента очереди просчета (в общем случае оно равно 1).
Метод outputModule() позволяет получить доступ по шаблону выхода, индекс которого необходимо уточнить в параметре. Например, если желаем применить шаблон выходного модуля " QT_sorenson3_high ", можно написать:
myOM = myQueueItem.outputModule(1);
myOM.applyTemplate("QT_sorenson3_high");
[attachmentid=6896]
шаблон выходного модуль

logType

Хотя опции отчета в общем не обладает большой полезностью, но и их можно задать при помощи атрибута logType. Его значение - перечисленный тип, который может принимать значения LogType.ERRORS_ONLY, LogType.ERRORS_AND_SETTINGS или LogType.ERRORS_AND_PER_FRAME_INFO (соответственно только ошибки, дополнительные параметры или дополнительная информация по кадрам).
myQueueItem.logType = LogType.ERRORS_AND_SETTINGS;
[attachmentid=6897]
Отчет

file
Чтобы определять файл на выходе, надо создать новый объект файл new File(), уточняя имя файла (полный путь). В данном примере, чтобы определить файл вывода, пользователю с помощью диалогового окна предлагают выбрать папку. Далее имя файла формируется из пути папки, имени композиции и ее размеров.
myPath = folderGetDialog("Choisir un dossier de destination:");
myOM.file = new File(myPath.toString() + "/[compName]_[width]x[height].[fileExtension]");
[attachmentid=6898]
Выходной файл


timeSpanStart и timeSpanDuration

Атрибут timeSpanStart позволяет определить момент времени, с которого начнется просчет композиции. Атрибут timeSpanDuration указывает длительность просчета.
myQueueItem.timeSpanStart = 2;
myQueueItem.timeSpanDuration = 5;
[attachmentid=6899]
настройка длительности просчета


Просчет(Rerder)

Чтобы запустить просчет используется метод render(). Элементы в списке ожидании будут поочередно просчитываться, соблюдая порядок, в котором они оказались в очереди просчета.
myRenderQueue.render();
[attachmentid=6900]
просчет
videofestival,
05.07.2009, 13:42 Скрипты в АЕ , Документация
Добавление выражений

Скрипт может использовать выражения и добавлять их в поле для выражения, для этого нужно воспользоваться атрибутом свойства expression. Это - очень интересные виды манипуляций, так как позволяет использовать всю мощь выражения внутри скрипта.
Следующий пример добавляет выражение " random (100);" на прозрачности(Opasity) первого активного слоя композиции:
myLayer = app.project.activeItem.layer(1);
myLayer.opacity.expression = "random(100);";
[attachmentid=6892]
Добавление выражения

Часто случается, что выражение написано в нескольких строках. В скриптах возможно это реализовать с помощью символа Javascript воплотить " \r "(возврат каретки). Всегда обращайте внимание и не забывайте ставить точку с запятой "; " в конце строки выражения, например:
myLayer.position.expression =myLayer.position.expression =
"pos = 5;\r" +"offset = width + pos;\r" +
"position + [(index - 1) * offset,0];";
[attachmentid=6893]
Выражение со многими строками
videofestival,
05.07.2009, 13:26 Скрипты в АЕ , Документация
Добавление Эффекта

Эффекты, как и маски, принадлежакт к группе свойств (PropertyGroup. Обратиться к конкретному эффекту в PropertyGroup можно, используя запись property("Effects") или просто Effects.
Добавить эффект к слою можно при помощи метода addProperty(). В качестве параметра этого метода задается название эффекта. Название эффекта можно уточнить в интерфейсе программы или использовать запись matchName (Каждое свойство в Аfter Effects имеет уникальный matchName - идентификатор (базовые эффекты, предоставленные программой идут с префиксом "ADBE"). Этот второй способ уточнить имя эффекта, каким бы ни был язык версии. Чтобы узнать matchName - идентификатор эффекта, который вы пожелали добавить в скриптинг, примените эффект вручную и выполните следующий скрипт:
alert(app.project.activeItem.selectedLayers[0].selectedProperties[0].matchName);
Если желаем добавить размытие, например Fast Blur, можем написать:
myEffect = myLayer.Effects.addProperty("ADBE Fast Blur");
[attachmentid=6887]
Добавление эффекта

Чтобы присвоить значение не анимированному параметру, используйте метод setValue(). Когда параметр должен содержать ключи анимации, используем setValueAtTime() или setValuesAtTimes() (см. подраздел «создание ключевых кадров»). Например:
myEffect.property(1).setValue(3);
[attachmentid=6888]
Задание параметров

Создание ключей анимации
Чтобы создавать ключи анимации для любого параметра, можно использовать метод setValueAtTime(), который требует два параметра: момент времени, куда должен быть помещен ключ, и значение, которое нужно присвоить данному параметру, либо setValuesAtTimes(), который функционирует по тому же принципу, но позволяет добавить несколько ключей одновременно (указанные выше параметры должны быть соответственно предствалены в виде массива).
Доступ к геометрическим параметрам слоя можно осуществить, либо используя property(), либо напрямую уточняя имя параметра (например myLayer.property("position") или myLayer.position).
Следующий пример анимирует масштаб(scale) и вращение(rotation) первого слоя композиции:
mySolid = app.project.activeItem.layer(1);
myScale = mySolid.scale;
myRotation = mySolid.rotation;
Если надо добавить ключи анимации, можно написать следующее (медленный метод):
myScale.setValueAtTime(0,[0,0]);
myScale.setValueAtTime(2,[70,70]);
myScale.setValueAtTime(4,[0,0]);
myRotation.setValueAtTime(0,0);
myRotation.setValueAtTime(2,-180);
myRotation.setValueAtTime(4,-360);
или эквивалентным образом (бымтрый метод):
keyTimes = [0,2,4];
scaleValues = [[0,0],[70,70],[0,0]];
rotationValues = [0,-180,-360];
myScale.setValuesAtTimes(keyTimes,scaleValues);
myRotation.setValuesAtTimes(keyTimes,rotationValues);
[attachmentid=6889]
Создание ключей анимации

Интерполяция и доводка


Чтобы определять тип интерполяции для ключевого кадра, можем прибегнуть к методу setInterpolationTypeAtKey(), который использует в качестве параметров индекс ключа, который надо изменять, тип интерполяции на входе и тип интерполяции в выходе. Если этот последний параметр не уточнен, то берется то же значение, что и для интерполяции, указанный на входе. Параметр типа интерполяции может принимать следующие значения KeyframeInterpolationType.LINEAR (линейная), KeyframeInterpolationType.BEZIER (Безье) или KeyframeInterpolationType.HOLD (удерживающий).
Атрибут numKeys указывает количество ключевых кадров, которое создано для данного свойства.
Если, например, надо определить для всех ключевых кадров масштаба(scale) тип интерполяции Bézier во входе и на выходе, можем написать так:
for (i = 1; i <= myScale.numKeys; i++)
{
myScale.setInterpolationTypeAtKey(i,KeyframeInterpolationType.BEZIER);
}
Кроме этого можно контролировать временную доводку ключевого кадра методом setTemporalEaseAtKey(). При этом надо уточнить индекс ключа, а так же параметры доводки в подходе и в удалении (в виде таблицы). Если параметр доводки в удалении не уточнен, то берется такое же значение, как и на входе.
Параметр доводки соответствует объекту KeyframeEase(), который является массивом из двух значений. Первое задает скорость, второе - влияние ключевого кадра. Параметр влияния выражается численным данным в пределах от 0 до 100.
Следующий пример иллюстрирует доводку ключа анимации вращения(rotation):
myEase = new KeyframeEase(1,30);
for (i = 1; i <= myRotation.numKeys; i++)
{
myRotation.setTemporalEaseAtKey(i,[myEase]);
}
[attachmentid=6890]
Интерполяция и доводка ключевых кадров
videofestival,
05.07.2009, 13:18 Скрипты в АЕ , Документация
Маски

Свойства Масок - группа свойств (PropertyGroup), на которую мы можем сослаться, используя property("Masks") или просто Masks.
Добавить маску к слою можно при помощи метода addProperty(). Если добавить маску к первому выбранному слою (selectedLayers), можно написать примерно так:
myComp = app.project.activeItem;
myLayer = myComp.selectedLayers[0];
myMask = myLayer.Masks.addProperty("Mask");
Если маска уже существует, можно сослаться на нее, уточняя ее положение (т.е. индекс) внутри группы свойств, к которой она принадлежит.
[attachmentid=6884]
Добавление маски

Следующая строка присваивает переменной величине "myMaskShape" параметры формы маски, которая только что была создана:
myMaskShape = myMask.maskShape;
Можно также написать
myMaskShape = myMask.property(1);
или
myMaskShape = myMask.property("maskShape");
Чтобы придать форму маске, надо предварительно создать объект Shape(). Этот объект обладает четырьмя следующими атрибутами: closed, vertices, inTangents и outTangents.

Атрибут closed укажет маске, закрыта она или нет.
Атрибут vertices назначает положение всех точек маски.
Атрибуты inTangents и outTangents - массивы, каждый элемент которых - пара, представляющая координаты касательных, приближающейся (inTangents) или удаляющеся (outTangents) от точки маски. По умолчанию эти два атрибута нулевые.

В случае маски типа rotoBezier (myMask.rotoBezier = true;), эти атрибуты могут не указываться, так как они считаются автоматически. Как только форма создана, она присваевается форме маски при помощи метода setValue(), setValueAtTime() или setValuesAtTimes() (см. раздел ключи анимации). Для создания прямоугольной маски размера 200*100, в композиции размера 320*240, можем написать примерно так:
myShape = new Shape();
myShape.vertices = [[60,70],[60,170],[260,170],[260,70]];
myShape.closed = true;
myMaskShape.setValue(myShape);
[attachmentid=6885]
Создание формы маски

Если нужно создать маску с кривыми, необходимо уточнить параметры касательных. например:
myShape = new Shape();
myShape.vertices = [[20,120],[160,220],[300,120],[160,20]];
myShape.inTangents = [[0,-100],[-120,0],[0,100],[120,0]];
myShape.outTangents = [[0,100],[120,0],[0,-100],[-120,0]];
myShape.closed = true;
myMaskShape.setValue(myShape);
Можно также параметризовать способ маски. Этот атрибут отмечен maskMode и его значение - перечисленный тип, который может быть MaskMode.SUBTRACT или MaskMode.INTERSECT (см. Scripting Guide для других доступных способов). Можем переключить (инвертировать) маску используя булевский атрибут inverted.

Можно анимировать точки маски так же, как и параметры их касательных. Чтобы осуществлять это, пользуемся методом setValueAtTime() или setValuesAtTimes():
myMaskShape.setValueAtTime (t, myShape);

Маркеры слоя

Вся информация маркера слоя содержится в объекте MarkerValue(). Этот объект обладает четырьмя параметрами: Комментарий, Глава, URL и Цель изображения. Три последних необязательные и, следовательно, могут быть опущены. Каждый представлен последовательностью букв. Вначале надо создать новый объект MarkerValue() и затем назначить ему свойства Marker с помощью метода setValueAtTime(). Ссылаемся на параметр Marker либо используем property("Marker"), либо просто Marker.
Чтобы, например, создать маркер слоя в t = 1сек, содержащий только комментарий, можем написать:
myMarker = new MarkerValue("myComment");
myLayer.Marker.setValueAtTime(1,myMarker);
[attachmentid=6886]
Создание маркера слоя
valeriban, videofestival,
05.07.2009, 13:08 Скрипты в АЕ , Документация
Опции и атрибуты слоя

В этом разделе рассмотрим изменяемые опции слоя такие, как точка входа, режим смешивания, видимость, и т.д.. В большинстве случаев нужно будет просто указать значение параметра true или false, что будет указывать на включение или отключение конкретной опции. Рассмотрим в скрипте, присвоение значений опциям, для начала определим слой, с которым мы будем работать, например:
mySolid = app.project.activeItem.layer (2);

Включаем/отключаем слой (активный/неактивный)
mySolid.enabled = true; // mySolid.enabled = false;
[attachmentid=6863]


Включаем/отключаем индивидуальный слой
mySolid.solo = true; //mySolid.solo = false;
[attachmentid=6864]


Включаем/отключаем защиту от изменения слоя
//mySolid.locked = true; mySolid.locked = false;
[attachmentid=6865]

Присваиваем имя слою
mySolid.name = "345678";
[attachmentid=6866]


Проверяем: применен ли к слою Блендинг мода
if(mySolid.frameBlending){};

Устанавливаем режим смешивания
mySolid.blendingMode = BlendingMode.ADD;
[attachmentid=6867]

Возможные варианты присваивания:
//mySolid.blendingMode = BlendingMode.ADD;
//mySolid.blendingMode = BlendingMode.ALPHA_ADD;
//mySolid.blendingMode = BlendingMode.CLASSIC_COLOR_BURN;
//mySolid.blendingMode = BlendingMode.CLASSIC_COLOR_DODGE;
//mySolid.blendingMode = BlendingMode.CLASSIC_DIFFERENCE;
//mySolid.blendingMode = BlendingMode.COLOR;
//mySolid.blendingMode = BlendingMode.COLOR_BURN;
//mySolid.blendingMode = BlendingMode.COLOR_DODGE;
//mySolid.blendingMode = BlendingMode.DANCING_DISSOLVE;
//mySolid.blendingMode = BlendingMode.DARKEN;
//mySolid.blendingMode = BlendingMode.DIFFERENCE;
//mySolid.blendingMode = BlendingMode.DISSOLVE;
//mySolid.blendingMode = BlendingMode.EXCLUSION;
//mySolid.blendingMode = BlendingMode.HARD_LIGHT;
//mySolid.blendingMode = BlendingMode.HARD_MIX;
//mySolid.blendingMode = BlendingMode.HUE;
//mySolid.blendingMode = BlendingMode.LIGHTEN;
//mySolid.blendingMode = BlendingMode.LINEAR_BURN;
//mySolid.blendingMode = BlendingMode.LINEAR_DODGE;
//mySolid.blendingMode = BlendingMode.LINEAR_LIGHT;
//mySolid.blendingMode = BlendingMode.LUMINESCENT_PREMUL;
//mySolid.blendingMode = BlendingMode.LUMINOSITY;
//mySolid.blendingMode = BlendingMode.MULTIPLY;
//mySolid.blendingMode = BlendingMode.NORMAL;
//mySolid.blendingMode = BlendingMode.OVERLAY;
//mySolid.blendingMode = BlendingMode.PIN_LIGHT;
//mySolid.blendingMode = BlendingMode.SATURATION;
//mySolid.blendingMode = BlendingMode.SCREEN;
//mySolid.blendingMode = BlendingMode.SILHOUETE_ALPHA;
//mySolid.blendingMode = BlendingMode.SILHOUETTE_LUMA;
//mySolid.blendingMode = BlendingMode.SOFT_LIGHT;
//mySolid.blendingMode = BlendingMode.STENCIL_ALPHA;
//mySolid.blendingMode = BlendingMode.STENCIL_LUMA;
//mySolid.blendingMode = BlendingMode.VIVID_LIGHT;

Переключение Основной прозрачности слоя в композиции
mySolid.preserveTransparency = true;
//mySolid.preserveTransparency = false;
[attachmentid=6868]

Установка TrackMatte:
mySolid.trackMatteType = TrackMatteType.ALPHA;
[attachmentid=6869]

// mySolid.trackMatteType = TrackMatteType.ALPHA;
// mySolid.trackMatteType = TrackMatteType.ALPHA_INVERTED;
// mySolid.trackMatteType = TrackMatteType.LUMA;
// mySolid.trackMatteType = TrackMatteType.LUMA_INVERTED;
// mySolid.trackMatteType = TrackMatteType.NO_TRACK_MATTE;

Скрыть/показать на экране слой
mySolid.shy = true;
//mySolid.shy = false;
mySolid.hideShyLayers = true;
//mySolid.hideShyLayers = false;
[attachmentid=6870]

Расторизация каждого кадра на таймлайне
if(mySolid.canSetCollapseTransformation){mySolid.collapseTransformation = true;};
//if(mySolid.canSetCollapseTransformation){mySolid.collapseTransformation = false;};
[attachmentid=6871]


Установка Качества слоя
mySolid.quality = LayerQuality.BEST;
[attachmentid=6872]

// mySolid.quality = LayerQuality.BEST;
// mySolid.quality = LayerQuality.DRAFT;
// mySolid.quality = LayerQuality.WIREFRAME;

Включение/Выключение всех эффектов на слое(если они присутствуют)
mySolid.effectsActive = true;
//mySolid.effectsActive = false;
[attachmentid=6873]


Включение/выключение frame Blending (если он присутствуют)
mySolid.frameBlending = true;
//mySolid.frameBlending = false;
[attachmentid=6874]


Включение/выключение размытия движения (Motion Blur)
mySolid.motionBlur = true;
//mySolid.motionBlur = false;
[attachmentid=6875]

Включение/выключение adjustmentLayer
mySolid.adjustmentLayer = true;
//mySolid.adjustmentLayer = false;
[attachmentid=6876]


Включение/выключение 3Dслоя
mySolid.threeDLayer = true;
//mySolid.threeDLayer = false;
[attachmentid=6877]


Подрезаем слой, начало на 2 сек, конец на 8 сек.
mySolid.inPoint = 2; mySolid.outPoint = 8;
[attachmentid=6878]

То же самое.
[attachmentid=6879]

Сдвигаем слой относительно начала ТаймЛайна на 1 сек.
mySolid.startTime = 1;
[attachmentid=6880]

Ускорение/Замедление слоя(видео) в процентах(%)
mySolid.stretch = 12;
[attachmentid=6881]

Включение/Отключение Time Remapping
Не на всех слоях можно включить режим Time Remapping, поэтому предварительно проверяем флаг включения режима:
if( mySolid.canSetTimeRemapEnabled ) { mySolid.timeRemapEnabled = true; };
if( mySolid.canSetTimeRemapEnabled ) { mySolid.timeRemapEnabled = false; };
[attachmentid=6882]

Присвоим ширину и высоту слоя переменным x y, и выведем их на экран
x = mySolid.width;
y = mySolid.height;
alert ( x + " " + y );

[attachmentid=6883]
valeriban, videofestival,
05.07.2009, 12:30 Скрипты в АЕ , Документация
Интерпретация
Можем также получить доступ к интерпретации элемента. Весь набор доступен и изменяем: альфа канал, поле, количество кадров в секунду или размер пикселя.
app.project.item(2).pixelAspect = 1.09;
[attachmentid=6857]
Интерпретация слоя

Для изменения интерпретации, используется объект mainSource, который объединяет всю информацию, связанную с интерпретацией элемента. Для изменения типа поля можно написать:
app.project.item (2) .mainSource.fieldSeparationType = FieldSeparationType. UPPER_FIELD_FIRST;
[attachmentid=6858]
Интерпретация поля

Замена слоя
Возможно заменить файл в проекте на другой. Для этого используется метод replace() для типового элемента FootageItem, указывая в качестве параметра имя нового файла. Предварительно, этот файл должен быть заявлен как объект File.
myFile = new File("H:/After Effects/footages/test.avi");
app.project.item(2).replace(myFile);
[attachmentid=6859]
Замена слоя

Активный элемент
Важный атрибут объекта project, который также очень часто будет встречаться в скриптах, это атрибут activeItem. Он назначает активный элемент проекта, тот который выбран в данный момент в проекте. Речь может идти об одном элементе футажа FootageItem окна проекта или в общем о композиции CompItem (активной композиции):
alert ("активный элемент " + app.project.activeItem.name);
[attachmentid=6860]
Активный элемент

[attachmentid=6861]
Активный элемент


Создание композиции
Новую композицию можно создать, используя метод addComp(). Здесь важно заметить, что напрямую мы не добавим композицию к объекту project, мы добавляем ее в коллекцию элементов (items). Этот метод требует шесть параметров: имя, ширина композиции, высота композиции, форма пикселя, длительность и, наконец, количества кадров в секунду.
myProj.items.addComp ("MyCompTest", 720, 576, 1, 10, 25);
[attachmentid=6862]
Создание композиции

Можем использовать методы duplicate() и remove(), чтобы дублировать и удалять объект композиции, к которому применяется метод.

Создание слоев
Как и для создания композиции в проекте, мы добавляем слой не напрямую к объекту композиции, а к коллекции слоев (layers). Слои могут быть различной природы: камера, свет, слой (слой с эффектами, если такая опция применена) или еще одну композицию.

Создание слоя
Слой создается благодаря методу addSolid(), который учитывает шесть параметров: цвет, имя, ширина, высота, форма пикселя и длительность (если длительность не указана, то она будет равна по умолчанию длительности композиции, в котором создан слой). Предполагая, что композиция уже была создана и что она активена, можем написать строку, чтобы эту команду хранить в переменной:
myComp = app.project.activeItem;
Теперь добавим новый слой с именем "MySolid", цвета #97BC9E или [151,188,158] (в scripting каждый цвет должен быть выраженным о масштабе от 0 до 1, поэтому делим на 255, проект 8 бит), размера 160*120, с квадратнй формой пикселя и длительностью 10сек. Хранится этот слой будет в переменной "mySolid ":
mySolid = myComp.layers.addSolid ([151/255,188/255,158/255], "MySolid ", 160,120,1,10);

Создание текстового слоя
Чтобы создать текстовый слой, используется метод addText(). В параметре указываем строку, которая и будет содержимым текстогого слоя. Этот параметр необязательный, если его не указывать, то просто создастся слой с пустым текстом.
myTextLayer = myComp.layers.addText("www.aeclub.net");

Создание камеры
Создается камера методом addCamera(). Она требует два параметра: первый – имя "МyCamera ", которое прописывается в названии слоя, а второй соответствует координатам "точки направления"
myCamera = myComp.layers.addCamera("МyCamera",[160,120]);

Создание света
Чтобы создавать свет, воспользуемся методом addLight(). Этот метод требует те же параметры, что и метод addCamera().
myLight = myComp.layers.addLight("MyLight ",[160,120]);
Создание нулевого объекта
Создание нулевого объекта осуществляется при помощи addNull(), который из параметра берет длительность слоя в секундах. Этот параметр необязательный и, если он опущен, у слоя будет та же длительность, как у композиции, в которой слой создан.
myNull = myComp.layers.addNull ();myNull = myComp.layers.addNull();

Прекомпозиция слоев
Метод precompose() позволяет объединить все слои в одну, вновь созданную композицию. Он также действует на слои композиций. В качестве параметров данный метод использует образы данных (данные слоев, которые нужно объединить в прекомпоз), имя композиции и в случае необходимости параметр true или false, что соответсвует включению опции "Переносить все атрибуты в новую композицию" или нет (это, необязательный параметр, по умолчанию он равен true)
videofestival,
05.07.2009, 11:30 Скрипты в АЕ , Документация
Скрипты
Когда мы работаем в After Effects, то в процессе работы мы создаем проекты, композиции, слои, маски, добавляем эффекты, и т.д. В скриптинге каждый такой элемент называется объектом. Каждый объект обладает своими собственными атрибутами и своими значениями параметров, которые отличают его от других объектов.
Скрипт будет следовать всем инструкциям, манипулирующими этими объектами: создание, отмена, копирование, анимация, рендеринг и т.д.. Иными словами, то, что мы вынуждены обычно делать с помощью мыши или клавиатуры, может быть представлено в виде инструкций внутри скрипта (однако некоторые действия все-таки бывают недоступны).
Скриптинг хорошо справляется с повторяющимися процедурами, которые утомительно осуществлять вручную. То, что могло бы занять долгие минуты или часы, может иногда быть выполненным за доли секунды при помощи нескольких строк скрипта.
Он автоматизирует все задачи, кроме того, позволяет проводить некоторые манипуляции, которые, не прибегая к скриптингу, при создании проекта невозможно осуществить (например, на уровне масок).
Скрипт пишется в редакторе текста. Убедитесь в том, что текстовый редактор не добавляет заголовки в течение записи и сохраняет файл с кодированием Unicode UTF-8. Интегрированные программы (такие как "блокнот" на Windows или "Textedit" на Макинтоше) по умолчанию позволяют написать Скрипт (отметим, что с версии 7.0 в After Effects есть встроенный редактор скриптов - ExtendScript Toolkit, доступ к которому можно получить через меню Файл).
Скрипт After Effects использует язык Javascript. У файлов этого типа есть расширение ".js", в случае скриптов в After Effects, расширение файлов - ".jsx".
Как только Скрипт был написан, мы можем его сохранить в папке" \Scripts " (который располагается в директории установки программы), и тогда он появится в интерфейсе программы. Если его поместить в папку " \Scripts\Startup ", он выполнится при запуске приложения (или в "\Scripts\Shutdown" тогда он выполнился при закрытии). Наконец, можно просто сохранить Скрипт в своей папке, например "\ myScripts ", в которой будут храниться Ваши скрипты.

Скриптинг — Введение — используемый Язык
Javascript

Скрипт After Effects использует язык программирования Javascript. Чтобы подробно узнать о технических особенностях, о ключевых словах и об операторах норм ECMA, которых придерживаются разработчики языка скрипта After Effects, можно проконсультироваться с Ecma-262. (http://www.ecmainternational.org/publications/standards/Ecma-262.htm)
Ключевые слова Javascript, которые мы видим в выражениях, действительны и для скриптов. Например, циклы "for/while", условные инструкции "if/else ", таблицы, строковые функции, и т.д. Тем не менее, язык скриптов намного богаче языка выражений.
Выражения и скрипты основаны на том же языке, но их функционирование и использование отличаются между собой. Прежде чем двигаться дальше, давайте рассмотрим различия между скриптами и выражениями.

Скрипты или Выражения
Выражения - все инструкции, написанные для свойства слоя с целью присвоить определенное значение этому свойству. Выражение достаточно часто осуществляет динамичную связь между различными свойствами слоя. Выражение расчитывается на каждом шаге рендеринга изображения, и то, что просчиталось в кадре, незамедлительно забыто в следующем шаге просчета кадра (у выражений нет списка данных). Выражение не способно создать объект: оно не может, например, создать слой.
Скрипт в After Effects внешний. Он написан в другом текстовом редакторе, он независим и разнообразен в предоставляемых возможностях. При запуске скрипт выполняет свою работу, освобождая нас при этом от рутины. Он позволяет контролировать исполнение, создавать объекты (композиции, слои, рендеринг, и т.д.), анимировать параметры объектов, вставлять ключи анимации или выражения, автоматизировать процедуры, отправлять файл на рендер, и т.д. Переменные в скриптах глобальные, скрипт может хранить данные, которые ему нужны. Но скрипт в некотором смысле статичный: он действует только тогда, когда он запущен.
Мы можем пользоваться выражениями, не зная особо о языке Javascript, например, просто связывая параметр с селектором выражений или просто написать математическую операцию, чтобы вычислить параметр. Скриптинг же требует больше усилий и лучшего понимания языка. В то время, как выражение содержит часто менее пяти строк, скрипт намного длиннее, и написание скрипта может быть сравнимо с написанием программы, информационной в полной мере.
Однако есть некоторые задачи, которые могут быть осуществленны одновременно с применением выражений и скриптом. В общем, выбор между выражениями или скриптами надо делать в соответствии с поставленной задачей.

Переменные величины
Если Вы уже рассматривали скрипты, то могли заметить, что в них очень часто используется зарезервированное слово var (хотя оно и не обязательно с синтаксической точки зрения). Данное слово используется для объявления переменной величины. Большинство скриптов создано из функций, которые можно подразделить на локальные и глобальные. К глобальной функции можно обратиться в любой строке скрипта, локальные определяются в теле другой функции и, соответственно, доступ к ней может быть осуществлен только в пределах этой «родительской» функции.
Функции обозначаются ключевым словом function и именем функции (которое может быть опущенным в некоторых случаях), списка его параметров между скобками (этот список может быть пустым) и всех инструкций в блоке, ограниченном фигурными скобками. Т.е так:
function ИмяФункции (параметр1, параметр2, ..) {
}

Переменные также могут быть локальные и глобальные. Если вы вводите новую переменную в теле какой-то функции, используя для этого слово var, то данная переменная будет носить локальный характер. Иными словами, в этой функции теперь вы не сможете случайно присвоить новое значение другой глобальной переменной, определенной в главной части скрипта и носящей такое же имя.
С другой стороны, между переменными величинами, заявленными в главной части скрипта с использованием var так и без него, не будут принципиально ничем отличаться. Доступ к ним открыт во все скрипте.

Замечания
В скриптах рекомендуется давать ясные имена переменным величинам. Например, добавлять к именам переменным префикс my. Для переменной, предоставляющей текущий проект, можно использовать имя - myProj, для переменной величины, представляющей композицию - myComp, для слоя - myLayer, и т.д. Можно, разумеется, выбрать любые имена, которые захотим.

Запуск скрипта на выполнение.
Написав скрипт в редакторе текста и сохранив его с расширением ".jsx ", можно запустить его на выполнение через меню "Файл "
[attachmentid=6835]

Если Скрипт был сохранен в папке " \Scripts ", то он появится в меню и его не надо будет искать через окно выбора файлов. В случае, если скрипт был помещен в папку " \Scripts\Startup ", он автоматически выполнится при запуске After Effects.

Замечание
Возможно выполнить скрипт и из командной строки, не прибегая к интерфейсу программного обеспечения. Синтаксис зависит от операционной системы. Под Windows, например, (для синтаксиса под Mac, обращайтеся к Scripting Guide), скрипт может быть выполнен из командной строки двумя способами. В первом случае нужно напрямую написать скрипт между кавычками (с специальным символом "\"), используя параметр "-s"
afterfx -s "alert (\" строка команды. \")";
Во втором случае - указать его имя (полный путь) используя параметр "-r "
afterfx -r "C:\ ...\monScript.jsx"
С версии 7.0 возможно также выполнить скрипт, используя ExtendScript Toolkit.


Глобальные функции
Перед тем как приступить к рассмотрению скриптов, рассмотрим различные способы вывода окон на экране. Это может понадобиться, чтобы просто вывести сообщение на экране, запрос пользователю, запрос на подтверждение или диалоговое окно для позволения открытия файла. Не будем здесь говорить об элементах пользовательского интерфейса, которые можем создать сами для взаимодействия с пользователем. Эта тема будет рассмотрена далее в уроке по созданию пользовательского Интерфейса.
alert(), prompt(), ...
Функция alert()
позволяет вывести сообщение в окне. Параметром функции является строка символов заключенная между кавычками. Эта функция очень полезна, чтобы предупреждать пользователя в случае некоректного выполнения операций или напоминать ему, в каких условиях скрипт должен выполниться.
alert ("Это - мой первый Скрипт.");
[attachmentid=6839]

Функция confirm()
выводит окно, требующее подтверждение (да/нет?), и возвращает булевое (boolean) значение (true или false).
confirm ("Хотите ли Вы изучить scripting AE?");
[attachmentid=6840]

Функция prompt()
выводит окно, содержащее зону для ввода текста. Это необходимо, например, для того, чтобы уточнить параметр скрипта. Она требует два аргумента, первый, будет текстом сообщения и второй текст этот тот, который по умолчанию отобразится в окне ввода.
prompt ("Пожалуйста, уточните ваш запрос:", "текст");
[attachmentid=6841]

Функция fileGetDialog()
используется для того, чтобы открыть файл. Она требует два аргумента, которые являются заголовком окна и типом файла который надо открывать (можем оставить пустой "", если не желаем указывать расширение extenion). Эта функция возвращает объект File или null, если никакой файл не был выбран.
fileGetDialog ("Пожалуйста, выбирите ваш файл", "");
[attachmentid=6842]

Функция folderGetDialog()
используется для выбора папки. Аргументом функции является строка, которая будет заголовком окна. Эта функция возвращает объект Folder или null, если папка не была выбрана.
folderGetDialog ("Выберите вашу директорию:");
[attachmentid=6843]

Функция write()
Упомянем еще одну функцию - , которая может быть полезной для отображения информации в интерфейсе After Effects. Аргументом является строка символов, которая выводится в палитре "Информация".
write ("Сообщение в палитре Информация");
[attachmentid=6844]

Существует также функция writeLn()для вывода сообщния на нескольких строках и функция clearOutput(), чтобы стирать содержание окна Info.

Замечание
Большинство этих функций имеет дополнительный строковый параметр, который указывается последним в списке аргументов. Этот текст представляет название окна (вместо стандартного). Помещать туда имя скрипта - хорошее средство идентификации.


Объект application

Объект app открывает доступ к данным и методам. Среди параметров этого объекта есть такие, которые дают информацию о версии или используемом языке, и его методы позволяют, например, открыть или закрыть проект или очистить память.
alert("Вы используете версию" + app.version);
[attachmentid=6845]

Чтобы создавать новый проект используется метод newProject(). Если проект уже открыт, окно запросит пользователя, желает ли он сохранить проект или отказаться от сохранения.

app.newProject();
[attachmentid=6846]
Метод newProject()

Можно закрыть существующий проект, используя метод close(). Есть следующие опции для закрытия проекта: CloseOptions.PROMPT_TO_SAVE_CHANGES, CloseOptions.DO_NOT_SAVE_CHANGES или CloseOptions.SAVE_CHANGES, их можно применять, когда не надо выводить диалоговое окно, а сразу указать каким образом проект должен закрыться.
app.project(CloseOptions.PROMPT_TO_SAVE_CHANGES);
Метод open() позволяет открыть проект. Если имя файла не уточнено, то показывается диалоговое окно, чтобы пользователь сам открыл требуемый проект
app.open();

Объект project, это объект, который присутствует практически во всех скриптах, так как он назначает открытый проект. Если проект не существует, то app.project возвращает значение null. В случае если cкрипт действует на открытом проекте, то этот объект мы можем присвоить нашей переменной и в дальнейшем работать с этой переменной.
myProj = app.project;

Элементы проекта (Items)
Совокупности элементов в окне проекта обозначаются как items. Элементы проекта могут быть различными: папка, футаж, слой или композиция. Каждый элемент обладает своими свойствами.
Атрибут numItems указывает количество элементов в проекте.
alert ("Ваш проект содержит " + app.project.numItems + " элементов");
[attachmentid=6847]

Доступ к элементу осуществляется в частности благодаря объекту item(), для этого нужно в скобках указать индекс элемента. У этого индекса есть значение между 1 и numItems.
Каждый элемент обладает несколькими атрибутами. Можем, например, определить размеры третьего элемента проекта следующим образом:
myItem = app.project.item(3);
alert ("Элемент 3 равен размеру: " + myItem.width + "x" + myItem.height);
[attachmentid=6848]

Если рассмотренный элемент - композиция или слой, можем, например, определить количество кадров в секунду (frameRate) или длительность (duration) следующим образом:
myItem = app.project.item(1);
alert("Элемент 1: темп = " + myItem.frameRate + "кадр/сек, длительность = " + myItem.duration + "сек");
[attachmentid=6849]
videofestival,
25.06.2009, 17:30 Скрипты в АЕ , Документация
Совместное творчество monter и Tatsiana
Введение, Глобальные функции, Объект application, Элементы проекта (Items)
Интерпретация, Замена слоя, Активный элемент, Создание композиции, Созданl
Опции и атрибуты слоя
Маски, Маркеры слоя
Добавление Эффекта, Создание ключей анимации, Интерполяция и доводка
Добавление выражений
Объект очереди просчета, Просчет(Rerder)
Общие положения, Пример

Предупреждение от модератора monter
Распространение материала на других сайтах ЗАПРЕЩЕНА одним из авторов.
Все вопросы решаются ТОЛЬКО с согласия авторов и администрации форума!


UPD: Вы находитесь в архиве форума, регистрация здесь закрыта.
Эта же тема с открытым обсуждением, где вы можете задать вопросы, доступна на новом форуме по адресу https://aeclub.net/topic/101-skripty-v-ae-dokumentaciia/
gary_cooper, videofestival,
14.12.2006, 20:14 Скрипты и готовые решения для AE
audioAmpMarkers.jsx
[attachmentid=937]
[attachmentid=938]
[attachmentid=939]

createProxies.jsx
[attachmentid=942]
[attachmentid=940]
[attachmentid=941]


itemsRenamer.jsx
[attachmentid=943]

[attachmentid=944]
[attachmentid=945]

positioningViaMask.jsx
[attachmentid=947]
[attachmentid=946]
DEMO

randomTransform.jsx
[attachmentid=948]
[attachmentid=949]
[attachmentid=950]
m1gUn0v,
28.09.2006, 11:24 Скрипты и готовые решения для AE
createChrono.jsx
[attachmentid=924]
[attachmentid=8286]

отсчет времени " Часы:Минуты:Секунды ":

createCube.jsx
[attachmentid=615]
IPB Image
DEMO
Создание куба из слоев

createMatrix.jsx
[attachmentid=616]
IPB Image
IPB Image


divideImage.jsx
[attachmentid=617]
[attachmentid=929]
IPB Image
Разделяет слой на несколько слоев
из этой же серии
splitImage.jsx
[attachmentid=930]
DEMO

copypasteKeys.jsx
[attachmentid=618]
IPB Image
IPB Image
Копирование/вставка ключей

RotoTool_v1.5.jsx
[attachmentid=619]
IPB Image
IPB Image

centerMasks.jsx
[attachmentid=620]
IPB Image
IPB Image

inverseDirectionMasques.jsx !!!
[attachmentid=621]
[attachmentid=932]
IPB Image
linsli,
02.12.2005, 14:32 Привязка слоев
привязываешь парентом (Parent) или каждый параметр можно привязать (берешь кнутик и тянешь на слой иили на параметр)
короче F1-> Search->Parent
Открыть эту колонку можно кликнув на таймлайне правой кнопкой мышки по Sourse Name и выбрать Columns->Parent
Alexsandr,
06.04.2005, 12:07 Что такое Guide Layer?..
Guide Layer - виден в процессе работы (с масками, альфаканалом) и не виден на рендеренге, если в настройках рендера укажешь рендерить Guide Layer.
Удобная штука при работе с большими проектамии не только.
Mondler,

Внимание! Вы находитесь в архиве форума aeclub.net, регистрация и авторизация здесь недоступны!
Действующий форум находится здесь