Troszkę się nudziłem i postanowiłem dopomóc koledze
corass, który pytał o jakiś szybki sposób na tworzenie nowej warstwy zaraz nad aktualnie zaznaczoną w kompozycji.
Stworzyłem zatem na szybko skrypcik, który tworzy ruchomy panelik do tworzenia warstw.
Jest to oczywiscie wstępna wersja i zdaje sobie sprawę z jej niedoskonałości. Wszelkie uwagi mile widziane.
Skrypt odpalamy raz i dopóki jest nam potrzebny panel może pozostać otwarty. (Pisałem skrypt pod AE7 więc jeszcze nie wiem jak umożliwić "zadokowanie" panelu - możliwość ta pojawiła się w AE CS3).
Skrypt nie będzie działał poprawnie jeżeli w oknie projektu nie jest zaznaczona żadna kompozycja,a w kompozycji żadna warstwa.
oto kod:
Kod:
{
function onValChange() {
if (isNaN(parseFloat(this.text)) || (parseFloat(this.text) < 0)) {
this.text = "1";
return;
} else {
this.text = parseFloat(this.text);
}
}
function DodajWarstwe(){
var myComp = app.project.activeItem;
if (myComp == null || !(myComp instanceof CompItem)){
alert("Zaznacz kompozycję i warstwe, a potem dopiero klikaj. \r ...i bez numerów Bruner");}
else
{
var myLayers = myComp.selectedLayers;
if (myLayers.length < 1){
alert("A jakas warstwa? Zaznacz jakas i nie kombinuj");}
else
{
app.beginUndoGroup("Wstawienie warstwy");
PAR = myComp.pixelAspect;
My = myComp.layers.addSolid([0,0,0], "Solid" , parseInt(LWidth.text), parseInt(LHeight.text), PAR);
My.motionblur = true;
My.adjustmentLayer = ALayer.value;
My.threeDLayer = Layer3D.value;
My.guideLayer = GLayer.value;
My.moveBefore(myLayers[0]);
app.endUndoGroup();
}
}
}
WindowW = 230; WindowH = 65;
WindowAnchorX = 100; WindowAnchorY = 100;
var myProj = app.project;
var myPalete = new Window("palette");
myPalete.bounds = [WindowAnchorX,WindowAnchorY,WindowAnchorX+WindowW,WindowAnchorY+WindowH];
myPalete.add("statictext",[25,5,105,20],"Adiustment Layer");
myPalete.add("statictext",[25,25,105,40],"3D Layer");
myPalete.add("statictext",[25,45,105,60],"Guide Layer");
var ALayer = myPalete.add("checkbox",[10,3,20,20]);
var Layer3D = myPalete.add("checkbox",[10,23,20,40]);
var GLayer = myPalete.add("checkbox",[10,43,20,60]);
myPalete.add("statictext",[120,13,140,30],"Size");
var LWidth = myPalete.add("edittext",[150,8,190,28],app.project.activeItem.width);
var LHeight = myPalete.add("edittext",[195,8,225,28],app.project.activeItem.height);
var GOButton = myPalete.add("button",[120,35,225,60],"CREATE LAYER");
LWidth.onChange = onValChange;
LHeight.onChange = onValChange;
GOButton.onClick = DodajWarstwe;
myPalete.show();
}
Plik z rozszerzeniem .jsx powinien znaleść się w katalogu Scripts After Effects'a - ułatwi to jego uruchamianie. (Jak dotrę do domu to postaram się podwiesić gdzieś plik .jsx, żebyście nie musieli bawić się w przeklejanie)
Zatem proszę się częstować...
HOWGH
Tutaj podczepiony gotowy pliczek
Dodawacz_warstw.jsx