・下載點
①適合想客製化的攝影人、AE使用者語言為非英語系(例如日文)、AE版本不同於2022,匯入時腳本出現問題
「製作自己專用的工具箱(模板).jsx」
②適合想當沙發馬鈴薯的攝影人(已經置入常用的六個內建ae效果,包含color key、OLM Smoother、FL Out Of Focus、Brightness & Contrast_16位元用、Curves、Color Balance (HLS))
「Orange Magazine_free plugin.jsx」
・如何啟動腳本
File > Scripts > Run Script File > 選擇「製作自己專用的工具箱(模板).jsx」或「Orange Magazine_free plugin.jsx」檔案
・該腳本客製化的設定方法
步驟1.下載 Visual Studio Code(已經有軟體的人可以跳過)
步驟2.在 Visual Studio Code裡開啟腳本檔案
File > Open File > 選擇「製作自己專用的工具箱(模板).jsx」檔案
步驟3.修改腳本內容
目前可修改的內容有
①【重新命名腳本在AE顯示的名稱】
到第3行文字列,可以看到下一行的內容。
w.text = "請在這裡重新命名工具箱名字";
將「請在這裡重新命名工具箱名字」改成自己想要的內容。
②【重新命名標籤1的名稱】
到第10行文字列,可以看到下一行的內容。
var tab1 = tp.add('tab', undefined, "請在這裡重新命名標籤1的名字");
將「請在這裡重新命名標籤1的名字」改成自己想要的內容。
③【重新命名標籤2的名稱】
到第13行文字列,可以看到下一行的內容。
var tab2 = tp.add('tab', undefined, "請在這裡重新命名標籤2的名字");
將「請在這裡重新命名標籤2的名字」改成自己想要的內容。
*補足
不需要標籤2的話,可以把第12行~第13行的內容刪掉。
第12行~第13行的內容如下。
// 創建 Layer 標籤
var tab2 = tp.add('tab', undefined, "請在這裡重新命名標籤2的名字");
④【添加想要的AE的效果A在標籤1內】,效果名字需要取代4次
到第21行文字列,可以看到下一行的內容。
tab1.colorKeyBtn = tab1Group.add("button", [0, 0, 150, 40], "效果A");
將「效果A」改成自己想要的插件名字。(第1次完成)
到第37行文字列,可以看到下一行的內容。
app.beginUndoGroup("效果A");
將「效果A」改成自己想要的插件名字。(第2次完成)
到第41行文字列,可以看到下一行的內容。
var 效果AEffect = layer.property("Effects").addProperty("效果A");
將「效果A」改成自己想要的插件名字。(第3、4次完成)
⑤【添加想要的AE的效果B在標籤1內】,效果名字需要取代4次
到第49行文字列,可以看到下一行的內容。
tab1.colorKeyBtn = tab1Group.add("button", [0, 0, 150, 40], "效果B");
將「效果B」改成自己想要的插件名字。(第1次完成)
到第65行文字列,可以看到下一行的內容。
app.beginUndoGroup("效果B");
將「效果B」改成自己想要的插件名字。(第2次完成)
到第69行文字列,可以看到下一行的內容。
var 效果BEffect = layer.property("Effects").addProperty("效果B");
將「效果B」改成自己想要的插件名字。(第3、4次完成)
*補足
如果要在標籤1內繼續追加其他效果,可以把第20行~第46行的內容再複製一次,再重複④的方法,就可以再追加一個帶效果的按鈕。
第20行~第46行的內容如下。
// 在 tab1 標籤內添加 效果 按鈕
tab1.colorKeyBtn = tab1Group.add("button", [0, 0, 150, 40], "效果A");
// 設置 效果 按鈕行為
tab1.colorKeyBtn.onClick = function () {
var comp = app.project.activeItem;
if (comp == null || !(comp instanceof CompItem)) {
alert("請選擇一個合成。");
return;
}
if (comp.selectedLayers.length == 0) {
alert("請選擇至少一個圖層。");
return;
}
app.beginUndoGroup("效果A)");
for (var i = 0; i < comp.selectedLayers.length; i++) {
var layer = comp.selectedLayers[i];
var 效果AEffect = layer.property("Effects").addProperty("效果A");
}
app.endUndoGroup();
};
⑥【添加想要的AE的效果C在標籤2內】,效果名字需要取代4次
到第86行文字列,可以看到下一行的內容。
tab2.colorKeyBtn = tab2Group.add("button", [0, 0, 150, 40], " 效果C");
將「效果C」改成自己想要的插件名字。(第1次完成)
到第102行文字列,可以看到下一行的內容。
app.beginUndoGroup("效果C");
將「效果C」改成自己想要的插件名字。(第2次完成)
到第106行文字列,可以看到下一行的內容。
var 效果CEffect = layer.property("Effects").addProperty("效果C");
將「效果C」改成自己想要的插件名字。(第3、4次完成)
⑦【添加標籤3】
把第9行~第10行的內容再複製一次。
到第9行~第10行文字列,可以看到下一行的內容。
// 創建 Layer 標籤
var tab1 = tp.add('tab', undefined, "請在這裡重新命名標籤1的名字");
將「tab1」改成「tab3」。
將「請在這裡重新命名標籤1的名字」改成自己想要的內容。
把第15行~第18行的內容再複製一次。
到第15行~第18行文字列,可以看到下一行的內容。
// 將按鈕組合到一個分組(group)以便居中對齊
var tab1Group = tab1.add("group", undefined);
tab1Group.orientation = "column"; // 垂直排列按鈕
tab1Group.alignChildren = "center"; // 讓按鈕在分組內水平居中
將「tab1」改成「tab3」,共取代4次。
把第21行~第46行的內容再複製一次。
到第21行~第46行文字列,可以看到下一行的內容。
tab1.colorKeyBtn = tab1Group.add("button", [0, 0, 150, 40], "效果A");
// 設置 效果 按鈕行為
tab1.colorKeyBtn.onClick = function () {
var comp = app.project.activeItem;
if (comp == null || !(comp instanceof CompItem)) {
alert("請選擇一個合成。");
return;
}
if (comp.selectedLayers.length == 0) {
alert("請選擇至少一個圖層。");
return;
}
app.beginUndoGroup("效果A)");
for (var i = 0; i < comp.selectedLayers.length; i++) {
var layer = comp.selectedLayers[i];
var 效果AEffect = layer.property("Effects").addProperty("效果A");
}
app.endUndoGroup();
};
將「tab1」改成「tab3」,共取代3次。
將「效果A」改成自己想要的插件名字,共取代4次。
後記
這種自製快捷小工具的腳本,網路上其實好像有類似的,這裡分享的只是按照個人需求、測試和另外搭配ChatGPT修正後得到的腳本內容,純免費分享勿做商業用途。謝謝閱讀。