-
-
[AE脚本]独显小助手
介绍 有时候需要独显图层查看不同效果. 独显小助手, 用来保存当前独显的图层, 基于图层的索引 使用方法 添加设置: 选择图层, 在文字输入框内设置名字, 按回车/随便其他地方单击 删除设置: ctrl 单击设置, 即可恢复设置的独显图层 使用: 直接单击设置 脚本源码 'use strict'; // https://cg.yuelili.com/ae/ae-dev/ae-dev-script/ae-script-unique-display-assistant/ var activeComp = function activeComp() { return app.project.activeItem; }; function arrIndexOf(target, arr) { for (var i_2 = 0; i_2 < arr.length; i_2++) { var item = arr[i_2]; if (item == target) { return i_2; } } return -1; } var panelGlobal = this; (function () { var presetStore = panelGlobal instanceof Panel ? panelGlobal : new Window('palette', undefined, undefined, { resizeable: true, }); if (!(panelGlobal instanceof Panel)) presetStore.text = '独显小助手'; presetStore.preferredSize.width = 200; presetStore.preferredSize.height = 150; presetStore.orientation = 'column'; presetStore.alignChildren = ['left', 'center']; presetStore.spacing = 0; presetStore.margins = 0; var group1 = presetStore.add('group', [0, 0, 200, 50], { name: 'group1', }); group1.orientation = 'row'; group1.alignChildren = ['left', 'center']; group1.spacing = 10; group1.margins = 0; var listbox = presetStore.add('listbox', [0, 0, 200, 150], undefined, { name: 'listbox1', multiselect: true, }); listbox.onChange = soloLayers; var nameControl = group1.add('edittext', [0, 0, 95, 30]); var disableSoloBtn = group1.add('button', [0, 0, 95, 30], undefined, { name: 'button1', }); disableSoloBtn.text = '禁用'; disableSoloBtn.onClick = disableSolo; var LayerStore = (function () { function LayerStore() { this.layers = {}; } LayerStore.prototype.add = function (key, layers) { if…- 0
- 0
- 141
-
[AE脚本] 储存效果/图层样式 等等
使用方法 只需将storeStyleLayer 传入顶级需要保存的属性组名称即可, 因为原本只想储存图层样式的, 懒得改函数名了 typescript版本 import { activeLayer } from 'base/variables'; class PropertyItem { script: string; constructor(prop: Property, parent: PropertyCollection) { let tmpScript = ''; const propertyMatchName = prop.matchName; const propertyValue = prop.value; const propertyString = parent.name + '.property("' + propertyMatchName + '")'; // 储存值 if (prop.expressionEnabled) { try { const expressionValue = prop.expression; tmpScript += propertyString + '.expression="' + expressionValue + '";\n'; tmpScript += propertyString + '.expressionEnabled=true;\n'; } catch (error) {} } else { // 没有表达式 直接复制值 tmpScript += propertyString + '.setValue(' + propertyValue + ');\n'; } // TODO 储存关键帧 if (prop.numKeys > 0) { } this.script = tmpScript; } parse(): string { return this.script; } } class PropertyCollection { name: string = ''; // 当前层级属性的脚本名称 props: (PropertyItem | PropertyCollection)[] = []; // 储存的属性与属性组 constructor(name: string) { this.name = name; } parse(): string { let tmpScript = ''; for (const prop of this.props) { tmpScript += prop.parse(); } return tmpScript; } add(prop: PropertyItem | PropertyCollection) { this.props.push(prop); } } function storeStyleLayer(layer: Layer, groupName = 'ADBE Layer Styles') { const styles = layer.property(groupName); const rootPropertyCollection = new PropertyCollection(`.property('${groupName}')`); loopPropertyClass(styles, rootPropertyCollection); let tmpScript = rootPropertyCollection.parse(); alert(tmpScript); } function loopPropertyClass(px: _PropertyClasses, parent: PropertyCollection) { // 判断是不是属性 if (px.propertyType === PropertyType.PROPERTY) {…- 0
- 0
- 101
-
[AE脚本]导入剪切板图片
js版本 /** * docs: https://cg.yuelili.com/ae/ae-script-import-clipboard-image/ * author: yuelili * platform: windows */ 'use strict'; function parseFile(file) { if (typeof file === 'string') { return new File(file); } else { return file; } } function writeFile(file, text, encoding, includeBOM) { if (encoding === void 0) { encoding = 'UTF-8'; } if (includeBOM === void 0) { includeBOM = false; } file = parseFile(file); try { file.open('w'); file.encoding = encoding; if (includeBOM && encoding.toUpperCase() === 'UTF-8') { var bom = '\uFEFF'; file.write(bom); } file.write(text); file.close(); return true; } catch (error) { return false; } } (function main() { var psContent = '\uFEFFAdd-Type -AssemblyName System.Drawing\nAdd-Type -AssemblyName System.Windows.Forms\n\n\nif ($args.Count -eq 0) {\n Write-Host "\u8BF7\u63D0\u4F9B\u4E00\u4E2A\u6587\u4EF6\u8DEF\u5F84\u4F5C\u4E3A\u53C2\u6570\u3002"\n exit\n}\n\n\n$filePath = $args[0]\n\n$image = [System.Windows.Forms.Clipboard]::GetImage()\n\n\nif ($image) {\n try {\n $bitmap = New-Object System.Drawing.Bitmap($image)\n $bitmap.Save($filePath, [System.Drawing.Imaging.ImageFormat]::Png)\n Write-Host "\u56FE\u7247\u5DF2\u4FDD\u5B58\u81F3 $filePath"\n } catch {\n Write-Host "\u4FDD\u5B58\u56FE\u7247\u65F6\u53D1\u751F\u9519\u8BEF: $_"\n }\n} else {\n Write-Host "\u526A\u8D34\u677F\u4E2D\u6CA1\u6709\u56FE\u7247"\n}\n '; var psScriptPath = Folder.temp.fsName + '/' + 'tmp.SaveClipboardImage.ps1'; var psScriptFile = File(psScriptPath); if (!psScriptFile.exists) { var ok = writeFile(psScriptPath, psContent, 'UTF-8', true); if (!ok) { alert('生成ps脚本失败'); return; } } var projectFile = app.project.file; if (!projectFile.exists) { alert('请先保存项目'); return; } var projectFolder = projectFile.parent.fsName; var footageFolder = new Folder(projectFolder + '/footage'); if (!footageFolder.exists) { footageFolder.create(); } var timestamp = new Date().valueOf();…- 0
- 0
- 71
-
『一分钟技巧』水花转场
创建分形杂色作为基础 创建线性擦除,使用StencilAlpha遮罩 CC水银创建粒子, 在中间阶段粒子出生 CC Glass Wipe|玻璃擦除加强玻璃质感 CC Cplatic|塑料强化高光 调整水色, 使用VC Color Vibrance(Ak插件) 预合成->复制一份->颜色调整->使用两种颜色 预合成->复制一份->缩放->调整底部阴影 使用Glow|发光以及颜色调整结尾- 0
- 0
- 61
-
-
-
AE脚本-颜色选择器
这是smallpath大佬为Adobe脚本重建的颜色选择器。 支持所有Adobe软件,例如PS,AI,AE等。 引入方法 #include './colorPicker.js' 或者复制粘贴js文件中的所有代码; 调用 resultColor; //得到一个 RGB数组 如[0.5,0.5,0.5] 你也可以传入参数让面板预先选中某个颜色,示例: var resultColor = colorPicker('4a4a4a'); 预选颜色支持 RGB、HEX 和 HSB 选项 类型 描述 RGB 数组 范围从 [0,0,0] 至 [1,1,1] 大RGB 数组 范围从 [0,0,0] 至 [255,255,255] Hex 字符串 范围从 �00000 至 FFFFFF 短Hex 字符串 F7C 同于 FF77CC HSB 数组 范围从 [0,0,0,hsb] 至 [360,100,100,hsb] 支持软件 PS、AI、AE、ESTK- 0
- 0
- 47
-
AE颜色盘更新
/** * @file * ,----, ,-.----. * .' .`| ,---, ,----.. ,--, \ / \ ,-. * .' .' ; .' .' `\ / / \ ,--.'| | : \ ,--, ,--/ /| * ,---, ' .',---.' \ | : : ,---. | | : ,---. __ ,-. | | .\ :,--.'| ,--. :/ | __ ,-. * | : ./ | | .`\ | . | ;. / ' ,'\ : : ' ' ,'\ ,' ,'/ /| . : |: || |, : : ' / ,' ,'/ /| * ; | .' / : : | ' | . ; /--` / / || ' | / / |' | |' | | | \ :`--'_ ,---. | ' / ,---. ' | |' | * `---' / ; | ' ' ; : ; | ; . ; ,. :' | | . ; ,. :| | ,' | : . /,' ,'| / \ ' | : / \ | | ,' * / ; / ' | ; . | | : | ' | |: :| | : ' | |: :' : / ; | |`-' ' | | / / '…- 0
- 0
- 24
-
研究一下AEP的二进制02
实际上昨天的结论已经差不多了,问题就出在CPPL数据上 这个文章写了一般被刷新吞了所以没那么多心思重新写长篇大论了,直接说结论吧 这个话题之前就有人研究过,点击查看 然后虽然文章里的链接都点不了了,但是bryful咱们还是有点熟悉的,毕竟那可是f's系列插件的创造者 而相关的两个项目,CPPl_Remover_Jack和AE_del_CPPl也是理所当然的在他的Github项目里 前者是走的aep=>aepx=>删除字符串=>转回aep的操作 后者则是更为简单粗暴的删除并修正二进制数据 不过缺点大概是一次只能修正一个aep吧,但是讲道理源码都放这里了,大佬的话有兴趣可以自己改改,我已经三四年没正儿八经碰C#了就不凑热闹了 软件我单独提出来放网盘了,见文章下载链接,还有放了一个打算自用的不看中文不舒服版本(划掉)- 0
- 0
- 30
-
研究一下AEP的二进制01
https://cg-method.com/aftereffects-delete-cppl/ 和光大讨论AEP屎山问题,讨论到了一个问题,AEP经过多版本迭代后,即使删除项目里的所有文件文件的空工程也会异常的大. 这不管对于文件传输还是项目迭代都是一个非常困扰的问题.关键是这个屎山居然是可以继承的,在空工程拖入一个屎山工程,即使删除后文件的大小也不会恢复如初 虽然不期盼能解决它,但至少希望搞清楚一下缘由--本文章为边拆解边随笔笔记的产物,因此可能有诸多废话 新建一个工程,创建一个文件夹后删除并保存,当前文件大小为8.5kb再新建一个合成并删除,当前文件大小为9kb 非常神奇的在于,短短两步操作就增加了0.5kb的占用大小 直接比较一下文件,先看明文部分,会发现这字节占用并非无中生有的,而是实打实的因此而增加了xml数据在里面 二进制部分只有个位数的不连续字节的变动并且是非增量的改动,因此暂且略过 单纯的新建[合成1]并删除已经无法再让数据增量了,下面测试新建多个不同的合成 1.新建了10个同样配置的合成,因为实际数据增加了所以工程直接涨到了447k,然后再将他们删除,数据又恢复到了9.01k,说明问题并不是单纯的历史记录 2.新建了10个不同配置的合成,结果同上 3.把内置的新建图层的全试了一次,结果同上 4.新建几个工程然后套娃进去,结果仍然同上,说明问题并不是新工程的问题 5.导入图片,结果同上,不过不确定是否是图片比较“干净” 6.导入PSD,终于发生了变化,数据中出现了极其大量的CPPL数据,仅靠二进制部分的变化让文件足足增长了6.5KB 数据源头反正在这是清楚了,直接来进行一波风险操作打开今天聊天用到的这个25MB却只有一点点东西的工程,另存为aep为aepx(50mb),并直接vscode中删除这9K行的cppl数据,删除后工程仅剩下1.5mb(这还是因为aepx格式本身储存空间比较大)搞笑的是,完全不影响工程重新打开,虽然报了一个错误 不过xml貌似是不能直接另存回aep来着?虽然绕一下转版本或者在新建工程里导入就行?另存为后的aep仅有700+kb既然测试工程能过那么再来波风险操作,开一个正儿八经做过的片子而不是测试用的屎山 正常流程过了一遍的项目确实东西多,光找到cppl目录就要到144662行才能找到,不过这个片子我没导过任何工程,只是有少量的包X网素材和blender渲染素材和两个画师的PSD文件,因此实际上冗余的数据也就只有500行不到 搞笑的是这次连报错都没报 问题有解决方案,虽然有风险,原理不明,猜测是PS带来的元数据,但不知道为什么图片的元数据带不过来,天晚了,明天再研究- 0
- 0
- 20
-
[AE脚本]使用可执行文件给脚本源码加密
ae脚本源码基本上就是jsx 或者jsxbin, 但是现在很多破解工具, 源码基本上裸奔... 可以通过ae脚本执行exe文件, 其中源码包含在exe文件内部, 再通过exe与ae通信执行脚本, 可以一定程度提高脚本破解难度 大致流程 AE->运行脚本->调用exe->执行真正脚本内容->发送给ae 其中调用exe可以使用cnd直接调用 exe发送给ae 可以使用 cmd AfterFX-脚本- 0
- 0
- 46
-
Mocode汉化补丁
实际上其他地方早就发过了,这边做一个留档/曝光.我早就不记得我这边的源是lookae还是书生下载的了所以一开始就没提供过本体.软件本体自己去下一个然后替换下汉化文件即可.有需要使用该软件的应该都会操作(- 0
- 0
- 83
-
AE[脚本](颜色选择器)
项目地址 源代码 (function() { "use strict"; var const_undef = void 0; var rgbNormalize = function(rgb) { return [ rgb[0] / 255, rgb[1] / 255, rgb[2] / 255 ]; }; var hsbNormalize = function(hsb) { return [ hsb[0] / 360, hsb[1] / 100, hsb[2] / 100 ]; }; var rgbToHex = function(rgb) { return "#" + ((rgb[0] << 16) + (rgb[1] << 8) + rgb[2]).toString(16); }; function hsbToRgb(hsb) { var _a = hsbNormalize(hsb), h = _a[0], s = _a[1], b = _a[2]; var r, g, _b; if (0 === s) { r = g = _b = b; } else { var i = Math.floor(6 * h); var f = 6 * h - i; var p = b * (1 - s); var q = b * (1 - s * f); var t = b * (1 - s * (1 - f)); switch (i % 6) { case 0: r = b, g = t, _b = p; break; case 1: r = q, g = b, _b = p; break; case 2: r = p, g = b, _b = t; break; case 3: r = p, g = q, _b = b; break; case 4: r…- 0
- 1
- 117
-
[After Effect] 装逼 Tips: AE更换界面主题
ctrl f12 打开控制台, 右键右上角三角, 选择Debug Database view 搜索skin 勾选即可 效果展示 偶尔换换风格, 挺好的!- 0
- 0
- 290
-
[AE表达式]数字添加千分位
表达式 x=parseFloat(text.sourceText).toFixed(2); x.replace(/\B(?=(\d{3})+(?!\d))/g, ',') 解析 parseFloat: 将字符串转为浮点数 toFixed(2): 将一个小数按位截取, 2代表截取2位 后面的是每3位增加一个,, 可以换成其他字符- 0
- 0
- 146
-
[AE脚本] 如何快速修改AE版本语言?
众所周知,修改AE版本的语言是到AE的安装目录下,修改一个名叫application.xml的文件 那既然涉及到了XML,那这个时候就有人问了?怎么读取XML? 那也是非常的简单,先new一个XML,然后把读取到的内容,放在XML里就行了,也是非常的简单,好像eval也行,不过推荐new XML,因为我没试过eval 那怎么调用XML的属性和值呢?推荐去看文档 那既然获得了XML对象,那怎么获得AE的安装目录呢?也是非常的简单,new一个File或者Folder出来,打印一下,你会发现内容是这样的: alert(new File().fsName) // F:\Adobe\Adobe After Effects 2024\Support Files\tmp00000001 那么开始写代码了 if (confirm('确定要切换AE语言吗?')) { var f = new File(new File().parent.toString() + '/AMT/application.xml'), l = prompt('请输入语言', app.isoLanguage); if (l && l.length >= 4) { f.open('r'); var t = new XML(f.read()); t.xpath("/Payload[@adobeCode='{AEFT-24.2.1-64-ADBEADBEADBEADBEADBEA}']/Data[@key='installedLanguages']")[0] = l; f.open('w'); if (f.write('<?xml version="1.0" encoding="utf-8"?>\n' + t)) { f.close(); alert('切换成功请重启AE'); } else { f.close(); alert('切换失败'); } } } 那么到这里就结束了- 0
- 1
- 243
-
[AE脚本]给ui快速添加右键菜单
粗略演示 这是代码 function ringhtClickMenu(container, window) { if (container.orientation === stack) { window.addEventListener(blur, function (event) { window.hide(); }); container.addEventListener(mouseup, function (event) { if (event.button === 2 && event.detail === 1) { window.frameLocation = [event.screenX, event.screenY]; window.show(); } }); } else if (container.orientation === row || undefined) { container.orientation = stack; ringhtClickMenu(container, window); } else { return alert(已设置orientation,请单独打组,再把orientation设置为stack, + \n + 再监听组.); } } function myMenu() { var $win = new Window(palette, undefined, undefined, { borderless: true }); var button1 = $win.add(button, undefined, 1); var button2 = $win.add(button, undefined, 2); var button3 = $win.add(button, undefined, 3); var button4 = $win.add(button, undefined, 4); button1.onClick = function () { $win.hide(); alert(1); }; button2.onClick = function () { $win.hide(); alert(2); }; button3.onClick = function () { $win.hide(); alert(3); }; button4.onClick = function () { $win.hide(); alert(4); }; return $win; } var win = new Window(palette); var group = win.add(group); group.size = [360, 240]; group.graphics.backgroundColor = group.graphics.newBrush(group.graphics.BrushType.SOLID_COLOR, [1, 0, 1]); ringhtClickMenu(group, myMenu()); win.show();- 0
- 4
- 215
-
[AE脚本开发]合并多条路径为一条
使用方法 选择要合并的路径, 运行脚本即可 脚本源码 'use strict'; var comp = app.project.activeItem; if (comp && comp instanceof CompItem) { var selectedShapes = comp.selectedProperties; var extend = function extend(array1, array2) { var newArray = []; for (var index = 0; index < array1.length; index++) { newArray.push(array1[index]); } for (var index = 0; index < array2.length; index++) { newArray.push(array2[index]); } return newArray; }; var selectedShapes = comp.selectedProperties; var propertyArrays = { featherInterps: [], featherRadii: [], featherRelCornerAngles: [], featherRelSegLocs: [], featherSegLocs: [], featherTensions: [], featherTypes: [], inTangents: [], outTangents: [], vertices: [], closed: false, }; for (var i = 0; i < selectedShapes.length; i++) { var prop = selectedShapes[i]; if (prop.matchName === 'ADBE Vector Shape') { var propV = prop.value; for (var key in propertyArrays) { if (key == 'closed') { propertyArrays[key] = propV[key]; continue; } if (propertyArrays.hasOwnProperty(key)) { propertyArrays[key] = extend(propertyArrays[key], propV[key]); } } } } var myShape = new Shape(); for (var key in propertyArrays) { if (propertyArrays.hasOwnProperty(key) && (propertyArrays[key].length > 0 || key == 'closed')) { myShape[key] = propertyArrays[key]; } } var newShapeLayer = comp.layers.addShape(); newShapeLayer.name = 'Merged Shapes'; var shapeGroup = newShapeLayer.property('ADBE Root Vectors Group'); var pGroup = shapeGroup.addProperty('ADBE Vector Shape - Group'); pGroup.property('ADBE Vector Shape').setValue(myShape); } else { alert('请在合成中选择路径!'); }…- 0
- 0
- 174
-
[Adobe开发] 注册表: 通过python获取软件安装路径
使用python内置模块访问注册表: winreg Adobe各种软件都在 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Adobe 里, 具体你可以windows搜索注册表编辑器打开并访问具体位置, 查看更多信息 以PS为例 import winreg ps_registry_path = "SOFTWARE\\Adobe\\Photoshop" ps_key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, ps_registry_path) num_subkeys = winreg.QueryInfoKey(ps_key)[0] versions = [] for i in range(num_subkeys): subkey_name = winreg.EnumKey(ps_key, i) versions.append(subkey_name) # 选择最新版本的 Photoshop latest_version = max(versions) ps_key_latest_version = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, ps_registry_path + "\\" + latest_version) # 获取最新版本 Photoshop 的安装路径(也可以指定) PS_APP = winreg.QueryValueEx(ps_key_latest_version, "ApplicationPath")[0] + "Photoshop.exe" print("最新版本的 Photoshop 安装路径:", PS_APP)- 0
- 0
- 139
-
[AE脚本源码]快速选择图层
介绍 文本框输入内容按回车 或者失焦, 就可以选择当前合成包含此文本的图层 js源码 /** * name:Fast Select * version: 0.0.1 * description: You can input some text, then this script will select all layer that contain this text * author: yueli * link: https://www.yuelili.com/ae/ae-dev/ae-dev-script/ae-script-source-code-quickly-select-layers/ */ var panelGlobal = undefined; (function () { var fast_select = panelGlobal instanceof Panel ? panelGlobal : new Window('palette', undefined, undefined, { resizeable: true, }); if (!(panelGlobal instanceof Panel)) fast_select.text = 'Fast Select'; fast_select.preferredSize.width = 104; fast_select.preferredSize.height = 61; fast_select.orientation = 'row'; fast_select.spacing = 10; fast_select.margins = 16; var input = fast_select.add('edittext'); input.text = '输入图层名'; input.onChange = selectLayers; function selectLayers() { if (input.text.length === 0 || input.text == '输入图层名') { return; } var activeComp = app.project.activeItem; if (!activeComp || !(activeComp instanceof CompItem)) { return; } else { app.executeCommand(2004); for (var i = 1; i <= activeComp.layers.length; i++) { var layer = activeComp.layer(i); if (layer.name.indexOf(input.text) !== -1) { layer.selected = true; } } } } fast_select.layout.layout(true); fast_select.layout.resize(); fast_select.onResizing = fast_select.onResize = function () { this.layout.resize(); }; if (fast_select instanceof Window) fast_select.show(); return fast_select; })(); typescript源码 const panelGlobal: any = this; (function () { /* Code for Import https://scriptui.joonas.me — (Triple click to select): {"activeId":1,"items":{"item-0":{"id":0,"type":"Dialog","parentId":false,"style":{"enabled":true,"varName":"fast_select","windowType":"Palette","creationProps":{"su1PanelCoordinates":false,"maximizeButton":false,"minimizeButton":false,"independent":false,"closeButton":true,"borderless":false,"resizeable":true},"text":"Fast Select","preferredSize":[104,61],"margins":16,"orientation":"row","spacing":10,"alignChildren":["right","center"],"item-1":{"id":1,"type":"EditText","parentId":0,"style":{"enabled":true,"varName":"input","creationProps":{"noecho":false,"readonly":false,"multiline":false,"scrollable":false,"borderless":false,"enterKeySignalsOnChange":false},"softWrap":false,"text":"EditText","justify":"left","preferredSize":[0,0],"alignment":null,"helpTip":null},"order":[0,1],"settings":{"importJSON":true,"indentSize":false,"cepExport":false,"includeCSSJS":true,"showDialog":true,"functionWrapper":true,"afterEffectsDockable":true,"itemReferenceList":"None" */ // FAST_SELECT // =========== var fast_select = panelGlobal instanceof…- 0
- 2
- 181
-
[AE] AE内置插件图鉴 cc2015
说明 滤镜中文名称以AE CC 2015为基础。 CC开头的滤镜没有中文名称,仅个人对其理解并翻译。 有几个AE里面的滤镜还没试出效果,所以没进行图片展示。 图例的洋红色代表透明。 由于个别滤镜含有“/”符号,无法写在文件名 以空格代替,搜索滤镜请局部单词来搜索滤镜。 图片效果制作 BY:@光学核心 图示 A B C D E F 1.Bilateral Blur 双向模糊 2.Box Blur 方框模糊 3.Camera Lens Blur 摄像机镜头模糊 4.CC Cross Blur CC十字模糊 5.CC Radial Blur CC径向模糊 6.CC Radial Fast Blur CC径向快速模糊 7.CC Vector Blur CC矢量模糊 8.Channel Blur 通道模糊 9.Compound Blur 复合模糊 10.Directional Blur 定向模糊 11.Fast Blur 快速模糊 12.Gaussian Blur 高斯模糊 13.Radial Blur 径向模糊 14.Reduce Interlace Flicker 减少交错闪烁 15.Sharpen 锐化 16.Smart Blur 智能模糊 17.Unsharp Mask 钝化蒙版 18.Arithmetic 算术 19.Blend 混合 20.Calculations 计算 21.CC Composite CC复合 22.Channel Combiner 通道合成器 23.Compound Arithmetic 复合运算 24.Invert 反转反色 25.Minimax 最小最大 26.Remove Color Matting 移除颜色遮罩 27.Set Channels 设置通道 28.Set Matte 设置遮罩 29.Shift Channels 转换通道 30.Solid Composite 固态层合成 31.Auto Color 自动颜色 32.Auto Contrast 自动对比度 33.Auto Levels 自动色阶 34.Black White 黑色和白色 35.Brightness Contrast 亮度和对比度 36.Broadcast Colors 广播颜色 37.CC Color Neutralizer CC颜色中和 38.CC Color Offset CC颜色偏移 39.CC Kernel CC内核修正 40.CC Toner CC色调 41.Change Color 更改颜色 42.Change to Color 更改为颜色 43.Channel Mixer 通道混合器 44.Color Balance 颜色平衡 45.Color Balance (HLS) 颜色平衡 (HLS) 46.Color Link 颜色链接 47.Color Stabilizer 颜色稳定器 48.Colorama 色光 49.Curves 曲线 50.Equalize 色调均化 51.Exposure 曝光度 52.Gamma Pedestal Gain 灰度系数基值增益 53.Hue Saturation 色相饱和度 54.Leave Color 保留颜色 55.Levels 色阶 56.Levels (Individual Controls) 色阶 (单独控件) 57.Photo Filter 照片滤镜 58.PS Arbitrary Map PS任意映射 59.Selective Color…- 0
- 3
- 437
-
[AE表达式] 当前帧秒显示 | 动画摄影
效果 粘贴表达式到当前合成的文字图层表达式里即可 表达式 // 补零函数 function PrefixZero(num, n) { var zeros = new Array(n + 1).join('0'); return (zeros + num).slice(-n); } // 当前合成帧率(可以手改为24) fps = 1.0 / thisComp.frameDuration; // 当前秒整数/帧数 second = PrefixZero(Math.floor(time), 2); current_frame = PrefixZero((time * fps) % fps + 1, 2); // 总帧数 total_frames = PrefixZero(timeToFrames(), 4); // 合成静态总秒 comp_seconds = Math.floor(thisComp.duration); // 合成静态总帧 comp_frame = PrefixZero(timeToFrames(thisComp.duration) % fps, 2); // 输出 second + " + " + current_frame + " " + total_frames+ "k" + " " + "(总时长 " + comp_seconds + "+" + comp_frame +"k)"- 0
- 0
- 402
-
[AE]关于AE, 你要知道的各种路径
插件/脚本/预设 插件: AE安装目录\Support Files\Plug-ins 脚本: AE安装目录\Support Files\Scripts 脚本: AE安装目录\Support Files\Scripts\ScriptUI Panels 预设: AE安装目录\Support Files\Presets 拓展:C:\Program Files (x86)\Common Files\Adobe\CEP\extensions Adobe插件通用路径: C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore 其他 配置(工作区之类的): C:\Users\用户名\AppData\Roaming\Adobe\After Effects\AE版本号- 0
- 0
- 283
❯
Profile
Check-in
Search
Customer service
Scan to open current page
Top
Checking in, please wait...
Click for today's check-in bonus!
You have earned {{mission.data.mission.credit}} points today
My Coupons
-
¥CouponsLimitation of use:Expired and UnavailableLimitation of use:
before
Limitation of use:Permanently validCoupon ID:×Available for the following products: Available for the following products categories: Unrestricted use:Available for all products and product types
No coupons available!
Unverify
Daily tasks completed