跳到內容

控制列 - 互動

每個 Layer 包含多個屬性,這些屬性具有可以設定關鍵影格或與其他值建立連接的值。屬性在 UI 中由兩個元素組成:Control RowControlControl Row 是整個屬性行,可以包含多個 Controls[x, y][r, g, b] 等)。

當游標放置在 Control Row 上時,幾個 UI 元素將出現/高亮顯示。

設定 Control

  1. 將游標懸停在 Control 上。
  2. 按一下。
  3. 輸入一個值。

Controls 也可以透過 “scrubbed” 來設定。

  1. 將游標懸停在 Control 上。
  2. 按一下按住。
  3. 左右移動游標。

請注意,當游標到達顯示屏邊緣時,scrubbing 值可能會受到限制。為防止出現這種情況,請在 Preferences 視窗中啟用「Infinite Scrubbing」。

對於具有多個欄位的 Control Rows(例如 Position X 和 Y),在 scrubbing 或提交值時按住 Option/Alt 鍵可同時影響所有欄位。

要同時為具有匹配屬性的多個 Layers 設定值:

  1. 將一個 Layer 載入到 Attribute Editor 中。
  2. Scene Tree 中選擇所有其他要更新的 Layers。
  3. 在 Attribute Editor 中更新屬性。

使用 ⇥(Tab 鍵)將焦點移至下一個 Control,或使用 Shift + ⇥ 將焦點移至上一個 Control。請注意,macOS 使用者可能需要設定一個偏好才能使其工作。操作如下:

  1. 開啟「System Settings…」。
  2. 導航到「Keyboard」。
  3. 啟用「Keyboard navigation」。

此設定可以使用快捷鍵 control + F7 或 fn + control + F7(取決於 Function Keys 偏好)來開啟/關閉。

某些 int2 Controls 還包括約束兩個值比例的功能。

開啟/關閉約束比例。

當約束比例按鈕啟用時(綠色),更改任一維度時,兩個值的原始寬高比將得到維持。例如,如果 Rectangle 的 Width100Height200,將 Width 增加到 200 將把 Height 按比例增加到 400(維持 1:2 的比例)。

可以在 Control 中編寫簡單的數學表達式。例如,輸入 12∗312*312∗3 將得到值 36

設定關鍵影格:

  1. 將游標懸停在 Control 上。
  2. Control 中將出現一個小菱形輪廓圖示。
  3. 將游標移到此圖示上方並按一下。
  4. 圖示將變為綠色填充。這表示已設定關鍵影格。

對於具有多個 Controls 的 Control Rows,在按一下時按住 Option/Alt 可在所有 Controls 上建立關鍵影格。

關鍵影格圖示有 3 種狀態:

  1. 無關鍵影格 - 表示該 Control 上沒有動畫。
  2. 已有關鍵影格 - 表示該 Control 上已設定了動畫。
  3. 已有關鍵影格(在目前影格)- 表示在 Timeline 的目前影格該 Control 上有動畫設定。

Cavalry 預設將 Auto Key 設定為開啟。這意味著一旦設定了關鍵影格,對 Control 中值的任何更改將設定新關鍵影格,或者當播放頭位於現有關鍵影格的同一影格上時,更新該關鍵影格。

也可以使用 Control Row 的上下文功能表設定關鍵影格。

  1. 將游標懸停在 Control Row 上。
  2. 以右鍵按一下以調出上下文功能表。
  3. 選擇「Set Keyframe」可在所有通道上建立關鍵影格。要在單個通道上建立關鍵影格,請選擇視窗右側的相關通道。

此視窗也可以完全相同的方式用於刪除關鍵影格

要刪除屬性/通道上的所有關鍵影格,請使用 Delete Animation 選項。

如果 timeline 位於與關鍵影格相同的影格上,使用 Cmd/Ctrl + 按一下可以刪除該關鍵影格。

以右鍵按一下 Control Row 將彈出一個功能表,其中包含各種選項,具體取決於行類型以及它是否包含連接:

  • Set Keyframe - 在目前影格為屬性設定關鍵影格。當屬性行包含多個 Control(例如 int2 或 double2)時,選擇相關 Control 或按一下該行可為所有 Controls 建立關鍵影格。
  • Delete Keyframe - 刪除目前影格的關鍵影格。當屬性行包含多個 Control(例如 int2 或 double2)時,選擇相關 Control 或按一下該行可刪除所有 Controls 的關鍵影格。
  • Delete Animation - 刪除所有關鍵影格。當屬性行包含多個 Control(例如 int2 或 double2)時,選擇相關 Control 或按一下該行可刪除所有 Controls 的所有關鍵影格。
  • Disconnect Input - 移除輸入連接。當屬性行包含多個 Control(例如 int2 或 double2)時,選擇相關 Control 或按一下該行可刪除所有 Controls 的連接。
  • Duplicate and Replace - 複製輸入連接的 Layer 並用新 Layer 替換該連接。
  • Reset Attribute to Default - 當屬性值已更改時,將其恢復為預設值。
  • Rename… - 自訂屬性名稱。
  • Edit Limits… - 自訂可輸入值的範圍。參見 Edit Limits…
  • Delete Selected Attributes - 刪除 Array Layers 的選定索引(Value ArrayColor Array 等)。
  • Reorder - 重新排序 Array Layers 的索引(Value ArrayColor Array 等)。
  • Add Expression - 參見 Attribute Expressions
  • Add to Control Centre - 將選定的屬性新增到 Control Centre
  • Add Pre-Comp Override - 為選定的屬性新增 Pre-Comp Override
  • Control with Null - 建立一個 Null 並將其 Position 連接到選定的屬性。
  • Add Behaviour - 選擇一個 Behaviour 來建立並將其 Id 連接到選定的屬性。
  • Add Array - 選擇一個 Array 來建立並將其 Id 連接到選定的屬性。
  • Add Math/Script - 選擇一個 MathJavaScript Layer 來建立並將其 Id 連接到選定的屬性。
  • Add Utility - 選擇一個 Utility 來建立並將其 Id 連接到選定的屬性。
  • Set Selected Attributes - 使用最後選定屬性的值設定所有選定的屬性。使用 Cmd/Ctrl 可選擇多個屬性。
  • Set Selected Layers - 將包含此屬性的任何選定 Layers 設定為其值。例如,在 Scene Tree 中選擇 3 個 Shapes,然後以右鍵按一下其中之一的 Position。
  • Copy Value - 將選定屬性的值複製到剪貼簿。
  • Copy Layer Id - 將 Layer 的 Id 複製到剪貼簿,以便用於 scripting
  • Copy Scripting Path - 將屬性的路徑複製到剪貼簿,以便用於 scripting。請注意,這些路徑區分大小寫。
  • Copy Generator Type - 將 Generator 的類型複製到剪貼簿,以便用於 scripting
  • Paste Values - 將複製到剪貼簿的值貼上到選定屬性。請注意,資料類型必須匹配。
  • Reveal Generator - 將 Generator(例如 Primitive Type、Distribution、Noise Type 等)顯示到 Scene Tree 中,以便將其連接到其他 Layers。請注意,一旦 Generator 被顯示,就無法再次從 Scene Tree 中隱藏。

可以向具有輸入連接的屬性新增表達式,以對值執行數學運算。與 controls 具有的內聯表達式不同,這些表達式會被記住,並在屬性值每次更改時執行。表達式也會與 Scene 一起儲存。

屬性表達式只能新增到具有輸入連接的屬性上。使用內聯表達式在 control 中執行簡單的、一次性計算。

當一個屬性的輸出值連接到另一個屬性的輸入時,該傳入值會在計算屬性表達式之前轉換為輸入屬性的資料類型。

例如,如果輸出值 2.34 連接到 int(如 Duplicator 的 Count),則在計算表達式之前將轉換為 2;如果連接到 bool(例如核取方塊),則將轉換為 1

設定屬性表達式:

  1. 建立一個 Rectangle
  2. 連接 position.x→rotation.z
  3. 以右鍵按一下 Rotation
  4. 選擇 Add Expression…
  5. 在 Z 輸入框(底行)中輸入 ∗2* 2∗2。
  6. Enter
  7. Scrub Position X

來自 Position X 的值被傳遞給 Rotation,並由表達式加倍。例如,Position X 值為 120 將導致 Rotation 值為 120∗2=240120 * 2 = 240120∗2=240

有效表達式的範例:

  • *2 - 乘以 2
  • /3 - 除以 3
  • %100 - 取模 100
  • ^2 - 2 次冪
  • +10 - 加 10
  • sqrt(9) - 9 的平方根

也可以將傳入值用作屬性表達式的一部分。使用字串 value 來引用輸入值。有效表達式的範例:

  • -(value) - 將輸入值從負值反轉為正值(反之亦然)。
  • sqrt(value) - 計算輸入值的平方根。如果輸入值為 9,結果將為 3。
  • clamp(-45, value, 45) - 即使輸入值超過限制,也要防止輸出值低於 -45 或高於 45。
  • round(value/10)*10 - 將輸入值四捨五入到最接近的 10。round(value) 預設四捨五入到最接近的整數。
  • if(value < 0, 0, value) - 如果輸入值小於 0,返回 0,否則返回輸入值。

更多可用選項參見 ExprTk

一旦表達式存在,可以使用屬性的 Control Row 上的 π 按鈕進行編輯或刪除。

  • 停用表達式 - 按一下 π 按鈕開啟表達式視窗,然後取消勾選相關屬性。

  • 清除/刪除表達式 - 按一下 π 按鈕開啟表達式視窗,然後刪除表達式或按一下 x

屬性可以設定為接受自訂值範圍。這對於作為 ComponentsPre-Comp Overrides 一部分的屬性特別有用。

以右鍵按一下屬性並選擇 Edit Limits... 來定義以下屬性:

  • Hard Minimum - 欄位不能低於的值。
  • Hard Maximum - 欄位不能超過的值。
  • Soft Minimum - 當 scrubbed 時欄位將停止的最小值,但可以透過輸入值手動覆蓋。
  • Soft Maximum - 當 scrubbed 時欄位將停止的最大值,但可以透過輸入值手動覆蓋。
  • Step - 當 scrubbing 值或使用 ⬆︎ ⬇︎ 鍵時值增加/減少的增量。

請注意,Cavalry 已定義 Hard Minimum 或 Maximum 的屬性不能被覆蓋。例如,Shape 的 Opacity 由 Cavalry 設定為 0..100,因此不能將其設定為超出該預設範圍的 -20..120 等值。

Soft limits 應被視為參考線。如果手動將值設定在 Soft limit 之外,則該限制將被移除,直到值被重新設定回其限制範圍內。

對於具有單個值的數值屬性,設定 Hard Minimum 和 Maximum 將導致在下次將 UI 載入到 Attribute Editor 時 UI 更新為 Slider

所有限制都會與檔案一起儲存,並且是「per attribute」的,這意味著編輯 ellipse 上的 radius 不會影響任何其他 ellipse shapes,只會影響您正在編輯的那個。

編輯 Double2 屬性(例如 Pivot)將同時編輯 X 和 Y 屬性。目前無法單獨設定例如 pivot.xpivot.y

如果現有值超出所定義的限制範圍,則在提交限制後,該值將更新為限制範圍內的值。請注意,這可能會更改您的 Composition。