Property 屬性

AE_內建表達式

#版本說明

筆者使用的是Adobe After Effects 2022,隨著版本變化更新,以下內容或多或少會有不同,可以使用跟筆者相同的版本,減少問題的發生。


value

類型:屬性

說明:返回某屬性在當前時間的值

参数:無

返回:根據屬性

示範:

thisComp.layer("Solid 2").transform.position.value //返回位置值[960,540]

valueAtTime(t)

類型:函數

說明:屬性在指定時間(以秒為單位)的值。

参数:t 是數值。

返回:數值或數組。

示範:

thisComp.layer("Solid 2").transform.position.valueAtTime(2) //返回位置第2秒的位置值
thisComp.layer("Solid 2").transform.position.valueAtTime(time-1) //位置的延遲動畫

velocity

類型:函數

說明:某屬性的速度值

参数:

返回:數值或數組。返回當前時間的臨時速度值。對於空間屬性(例如位置),它返回正切矢量值。結果與屬性的維度相同。

示範:

thisComp.layer(1).transform.position.velocity //返回[-100,-150]

velocityAtTime(t)

類型:

說明:某屬性的速度值

参数:

返回:數值或數組。返回指定時間的臨時速度值。

示範:

thisComp.layer(1).transform.position.velocityAtTime(1) //返回[-100,-150]

speed

類型:

說明:返回 1維的的正速度值。如果對一維屬性使用,那速度可為負

参数:

返回:1維數值。

示範:

thisComp.layer(1).transform.position.speed //返回250。勾股定理會不會? x移動300,y移動400,空間移動500,2秒 >>> 250/s

speedAtTime(t)

類型:

說明:返回指定時間的 1維的正速度值。如果對一維屬性使用,那速度可為負

参数:

返回:1維數值。

示範:

thisComp.layer(1).transform.position.speedAtTime(1) //返回250。勾股定理啦? x移動300,y移動400,空間移動500,2秒 >>> 250/s

wiggle(freq,amp,octaves=1,amp_mult=.5,t=time)

類型:

說明:隨機搖動(擺動)屬性值。

参数:

freq、amp、octaves、amp_mult 和 t 是數值。

  • Freq:頻率。每秒隨機變化的次數。數值越高,變化的次數就越多。
  • amp: 振幅。隨機波動的大小。例如,旋轉屬性的參數值為100,振幅輸入50,它將在50到150之間隨機。
  • octaves : 八度音階,默認為1。像其他隨機方法一樣,wiggle()基於噪波進行計算,就像分形噪波一樣。如果該參數變大,則噪波更細緻,也就是頻率之間會更細緻。
  • amp_mult:默認為0.5。每個八度的振幅乘以0到1的次數。像八度音階一樣,越接近0,細節越少;越接近1,細節越多。
  • t:默認情況下這是另一個參數,定義此方法根據哪個時間點進行隨機。 如果使用time,將使用當前時間進行隨機;如果輸入5,則使用屬性的第5秒來返回隨機值,此時相當於一個隨機的”固定”值。參考隨機數種子。

返回:

數值或數組。 Wiggle放入某個屬性中,將返回與屬性具有相同類型的值。

  • 放入旋轉屬性,將返回數值;
  • 放入2D屬性,如2D位置,將返回二維數組值;
  • 放入3D屬性,如3D位置,返回三維數組值,
  • 放入4D屬性,如顏色,返回四維數組值,
  • 以此類推。

示範:

示例1:position屬性上使用

wiggle(5, 20, 3, .5) //每秒產生 約5 次擺動,大小約 20 像素。除了主要擺動之外,其他兩個級別的詳細擺動發生的頻率為每秒 10 次和 20 次擺動,各自的大小為 10 和 5 像素。

示例2:對於二維屬性(例如縮放),按相同值擺動兩個維度:

v = wiggle(5, 10);   [v[0], v[0]]

示例3:二維屬性,只能在 Y 軸上搖擺:

freq = 3;
amp = 50;
w = wiggle(freq,amp);
[value[0],w[1]];

temporalWiggle(freq,amp,octaves=1,amp_mult=.5,t=time)

類型:

說明:在擺動的時間對屬性進行採樣。此函數採樣的是時間,而wiggle擺動的是值。其他跟wiggle一樣

参数:freq、amp、octaves、amp_mult 和 t 是數值。詳見wiggle()

返回:數值或數組。

示範:

temporalWiggle(1,2) //1秒波動一次,一次波動範圍在2秒之內,在2秒時,有可能波動2秒,位置直接搖擺到[200,200]

smooth(width=.2,samples=5,t=time)

類型:

說明:隨著時間的推移平滑屬性值,將值的大而短的偏差轉換為更小、分佈更均勻的偏差。

参数:

width、samples 和 t 是數值。此平滑通過在指定時間向屬性值應用框濾鏡來完成。

width 。指定以秒為單位的當前幀在平滑計算中平均的時間量。這個不太理解

samples 。均勻分佈的關鍵幀數目;想要更大的平滑度應使用更大的值(性能會下降)。選擇一個奇數會把當前幀也包括在計算中

time為採樣時間,默認為當前時間

返回:數值或數組。

示範:

smooth(0.5,5)//採樣平均時間維0.5s。紅點是當前關鍵幀,藍色為sample個數,如果是奇數,則算上紅色。

loopIn(type=”cycle”,numKeyframes=0)

類型:

說明:

参数:

循環類型

cycle(默認)重複指定段。

pingpong 重複指定段,向前和向後交替。

offset 重複指定段,但會按段開始和結束時屬性值的差異乘以段已循環的次數偏移每個週期。

continue 不重複指定段,但繼續基於第一個或最後一個關鍵幀的速度對屬性進行動畫製作。此類型不接受 keyframes 或 duration 參數。

返回:數值或數組。

示範:



loopOut(type=”cycle”,numKeyframes=0)

類型:

說明:

参数:

循環類型

cycle(默認)重複指定段。

pingpong 重複指定段,向前和向後交替。

offset 重複指定段,但會按段開始和結束時屬性值的差異乘以段已循環的次數偏移每個週期。

continue 不重複指定段,但繼續基於第一個或最後一個關鍵幀的速度對屬性進行動畫製作。此類型不接受 keyframes 或 duration 參數。

返回:數值或數組。

示範:


loopInDuration(type=”cycle”,duration=0)

類型:

說明:跟loopIn一樣,只不過不是按關鍵幀計算,而是以秒來計算循環

参数:

返回:

示範:


loopOutDuration(type=”cycle”,duration=0)

類型:

說明:跟loopOut一樣,只不過不是按關鍵幀計算,而是以秒來計算循環

参数:

返回:

示範:


key(index)

類型:函數

說明:

参数:

返回:

示範:



key(markerName)

類型:函數

說明:前者用於調用關鍵幀或標記,後者只能用於標記。一般要與其他屬性一起使用

参数:index為數值,markerName為字符串。注意,標記名可以在標記設置-評論,進行改變。不過AE2020最新版本好像不可以用標記名調用了

返回:無

示範:

thisLayer.marker.key(1).time //返回圖層第1個標記的時間
transform.key(2).value //如返回[960,540],位置屬性第2個的關鍵幀值(如果沒有關鍵幀會報錯)
marker.key("標記1").time //如返回15,返回圖層標記1的時間

nearestKey(t)

類型:

說明:返回最接近指定時間的 Key 或 MarkerKey 對象。

参数:

返回:Key 或 MarkerKey。一般要配合其他屬性使用

示範:

nearestKey(4).time //返回最接近的關鍵幀的時間,也就是3秒
nearestKey(4.1).time//返回最接近的關鍵幀的時間,也就是5秒

nearestKey(t)

類型:

說明:返回最接近指定時間的 Key 或 MarkerKey 對象。

参数:

返回:Key 或 MarkerKey。一般要配合其他屬性使用

示範:

nearestKey(4).time //返回最接近的關鍵幀的時間,也就是3秒
nearestKey(4.1).time//返回最接近的關鍵幀的時間,也就是5秒

name

類型:

說明:屬性或屬性組的名稱。

参数:

返回:字符串。

示範:

effect("Threshold")("Level").name //返回Level

active

類型:

說明:是否激活屬性

参数:

返回:布爾值

示範:

effect("Threshold").active //如果效果前的FX打開,且當前效果作用於時間軸上,則返回true

enabled

類型:

說明:是否開啟屬性

参数:

返回:布爾值

示範:

effect("Threshold").enabled //如果效果前的FX打開,則返回true

propertyGroup(countUp=1)

類型:

說明:向上級進行索引,返回包含該屬性的上一級

参数:countUp為數值,默認為1

返回:組。

示範:

r = thisComp.layer("形狀圖層 1").content("橢圓 1").transform.rotation; //定義變量r,為橢圓的一個旋轉屬性

r.propertyGroup(1).name; //返回 變換。旋轉的上1級是變換
r.propertyGroup(2).name; //返回 橢圓1。旋轉的上2級是橢圓1

propertyIndex

類型:

說明:屬性在屬性組的索引,屬性組一般在蒙版、效果、文本動畫、選擇器、形狀、跟踪器以及跟踪點。

参数:

返回:數值。

示範:

effect("Radial Wipe")("Start Angle").propertyIndex //starAngle在Radial Wipe效果的第2個,故返回2
Tags: