Перейти к содержимому



  • Вы не можете создать новую тему
  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1
OFFLINE   rungun3

rungun3

    Junior Member

  • Пользователи
  • Pip
  • 11 сообщений

Всем привет!!!

есть экспрешен

и текстовый слой отображает RGBA пикселя

у нас на работе монтажёры монтируют и оставляют чёрные дырки для меня

спомощью этого экспрешена можно замечательно искать их. А если мы вместе подумаем то, сможем автоматом резать планы.

 

-----------------------------------------------------------Форум не грузит мои скрины---

 

выдавил из себя вот это

 

function blackHoles(){
dur=app.project.item(1).duration/0.04/25 ;
alert(dur);
i=0;
app.project.item(1).time=i;
targetLayer =app.project.item(1).layer(2);
while (i <dur) {
app.project.item(1).time=i;
asd=app.project.item(1).layer(1).property("sourceText").value;
i=i+1;
if(asd==48){
app.project.item(1).time=i;

do{ i=i-0.04;app.project.item(1).time=i;
asd=app.project.item(1).layer(1).property("sourceText").value; }while(asd==48);
app.project.item(1).time=i=i+0.04;

targetLayer.outPoint=i;
//targetLayer.duplicate();
//targetLayer.inPoint=i;
if(asd!==48){
app.project.item(1).time=i;

do{ i=i+1;app.project.item(1).time=i;
asd=app.project.item(1).layer(1).property("sourceText").value; }while(asd==48);
targetLayer.duplicate();
targetLayer.inPoint=i;
}
}

}


do{ i=i+1;app.project.item(1).time=i;
asd=app.project.item(1).layer(1).property("sourceText").value; }while(asd==48);
targetLayer.duplicate();
targetLayer.inPoint=i;
}
}

}

 

 

 

в композиции два слоя

1 текст с экспрешеном который выдаёт RGB

targetLayer = thisComp.layer(thisLayer.index+1);
samplePoint = targetLayer.effect("Point Control")("Point");
sampleRadius = [1,1];
sampledColor_8bpc = 255 * targetLayer.sampleImage(samplePoint, sampleRadius);
R = Math.round(sampledColor_8bpc[0]);
G = Math.round(sampledColor_8bpc[1]);
B = Math.round(sampledColor_8bpc[2]);
A = Math.round(sampledColor_8bpc[3]);
outputString = " R: " +R+ "r G: " +G+ "r B: " +B+ "r A: " +A

 

последнюю строку я записал так parseFloat( R+G+B); сумма R=16 G=16 B=16- это чёрное поле = 48

 

2 футаж с эфектом Point Control

 

и работет)))) 

 

Есть проблемы!!!

1 как обойтись без текстового слоя с экспрешеном, чтобы просто запускать скрипт и он всё делает?

2 sampleImage не работает в отдельном скрипте?

3 ну если без тектового слоя никак... то как в созданный текст вписать  этот экспрешн- чтобы был експрешеном а не текстом

 

так не получается

app.project.item(1).layer(1).property("sourceText").setValue('targetLayer =thisComp.layer(thisLayer.index+1);

samplePoint = targetLayer.effect("Point Control")("Point");sampleRadius = [1,1];sampledColor_8bpc = 255 * targetLayer.sampleImage([1,1]);R = Math.round(sampledColor_8bpc[0]);G = Math.round(sampledColor_8bpc[1]);B = Math.round(sampledColor_8bpc[2]);A = Math.round(sampledColor_8bpc[3]);parseFloat( R+G+B);');

 


#2
OFFLINE   pavelusha

pavelusha

    Gold Expert

  • Администраторы
  • 537 сообщений
  • Seattle, WA

Чтобы добавить экспрешен к текстовому слою надо делать примерно так: 

 

app.project.activeItem.layer(1).text.sourceText.expression= "timeToCurrentFormat(time)";

 

Вот тут я игрался с динамическим изменением экспрешена для свойств слоев.

линк где проект можно скачать:

https://blueplatedig...4o3z8b1d69ndljm



#3
OFFLINE   monter

monter

    Человечище

  • Модераторы
  • 57 сообщений

ну...... может просто порезать слой по шотам, типа скрипта Магнум, расставить маркеры, и по маркерам удалить черные шоты?

или я что-то не так понял?



#4
OFFLINE   rungun3

rungun3

    Junior Member

    Топикстартер
  • Пользователи
  • Pip
  • 11 сообщений

Чтобы добавить экспрешен к текстовому слою надо делать примерно так: 

 

app.project.activeItem.layer(1).text.sourceText.expression= "timeToCurrentFormat(time)";

 

Спасибо! Буду создавать слой с экспрешеном и после его удалять


Кстати в PDF по скриптингу в AE ничего нет про sampleImage 

это потому что javascriptовская фигня?






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных