我們之前使用螺旋紋建立簡單的Expression, 但是只能選擇畫面中存在的物件及其特性(屬性), 例如Comp的特性frameDuration就無法選擇,因為它不存在於畫面中.
什麼是物件
物件就是一個容器,裡面可裝其他物件與特性,以及函式.
例如Comp就是AE的一個物件, 裡面包含其他物件(圖層)或是Comp本身的特性,如duration(時間)或width(寬度)等. 在AE中有物件:Comp,layer...等,及特性:opacity,duration,width...等
全域物件(Global Object)與全域特性(Global Atttribute)
不需定義,直接取用
全域物件與屬性 | 物件種類 |
thisLayer | 燈光,影像,聲音 或 攝影幾等物件 |
thisComp | Comp 物件 |
comp("name") | Comp 物件 |
footage("name") | Footage 物件 |
time | Number 屬性 |
value | Number 屬性 |
舉 thisComp 為例:
thisComp.layer("Solid 1") 可以取得目前Comp裏面,名為"Solid 1"的layer.
還可接著往下取得特性, 例如layer圖層的rotation.
thisComp是全域物件,layer("Solid 1")是裡面的一個layer,此expression取得該layer的rotation特性.
可用拉螺旋紋到Solid 1的rotation, AE直接填入expression.
用螺旋紋時要小心,expression的欄位游標要放對, 或是被取代的字串也要選對. 底下是layer的常用特性;
預設物件
如 thisLayer, 你可以不需寫 thisLayer.opacity, 直接寫 opacity, AE會自動參考用這個 opacity 的 layer.
但若要存取其他 layer 的 opacity . 必須加上其他 layer名稱及 thisComp, 也就是用螺旋紋直接連.
方法(Method,中文或稱函式)與特性(Attributes)
以 opacity的valueAtTime 為例
AE Expressions教學-4
參考與引用:http://www.jjgifford.com/expressions/basics/objects.html#Anchor-Global-35882
還可接著往下取得特性, 例如layer圖層的rotation.
thisComp.layer("Solid 1").rotation
thisComp是全域物件,layer("Solid 1")是裡面的一個layer,此expression取得該layer的rotation特性.
可用拉螺旋紋到Solid 1的rotation, AE直接填入expression.
有transform是正規寫法,但也可忽略
用螺旋紋時要小心,expression的欄位游標要放對, 或是被取代的字串也要選對. 底下是layer的常用特性;
圖層特性與函式 | 值的類型 | 維度 | 單位 |
width 寬度 | Number | 1 | pixels |
height 高度 | Number | 1 | pixels |
startTime 圖層開始播放時間 | Number | 1 | seconds |
inPoint 圖層啟用時間 | Number | 1 | seconds |
outPoint 圖層失效時間 | Number | 1 | seconds |
hasVideo 是否有影像 | Boolean | 1 | Boolean |
hasAudio 是否有聲音 | Boolean | 1 | Boolean |
active 是否顯示 | Boolean | 1 | Boolean |
audioActive 聲音是否開啟 | Boolean | 1 | Boolean |
audioLevels 聲音層數 | Property | 2 [left, right] | decibels |
index 圖層索引值(第幾層) | Number | 1 | Number |
parent 父物件 | Layer, Light or Camera | ||
source 來源(指向poject面板) | Comp or Footage | ||
mask(index or name) 遮罩 | Mask | ||
effect(index or name) 特效 | Effect |
存取圖層特性的小例子
預設物件
如 thisLayer, 你可以不需寫 thisLayer.opacity, 直接寫 opacity, AE會自動參考用這個 opacity 的 layer.
但若要存取其他 layer 的 opacity . 必須加上其他 layer名稱及 thisComp, 也就是用螺旋紋直接連.
方法(Method,中文或稱函式)與特性(Attributes)
- 方法(Method) : 是一組內部運算,最後得到值, 如 valueAtTime(time);
有括弧的都是"方法" - 特性 : 就是一個值, 如 width, opacity...
以 opacity的valueAtTime 為例
thisComp.layer("Shape Layer 1").opacity.valueAtTime(time)
time 是全域特性, 是時間軸的所指的時間, 以秒為單位, time作為輸入參數, 用來取得Shape Layer 1圖層的opacity 在 5秒5 的值, 如圖是52.01... , 並將此值以字串顯示在工作視窗.AE Expressions教學-4
參考與引用:http://www.jjgifford.com/expressions/basics/objects.html#Anchor-Global-35882
沒有留言:
張貼留言