控制列 - 互動
每個 Layer 包含多個屬性,這些屬性具有可以設定關鍵影格或與其他值建立連接的值。屬性在 UI 中由兩個元素組成:Control Row 和 Control。Control Row 是整個屬性行,可以包含多個 Controls([x, y]、[r, g, b] 等)。
當游標放置在 Control Row 上時,幾個 UI 元素將出現/高亮顯示。
設定 Control 值
标题为“設定 Control 值”的章节設定 Control:
- 將游標懸停在 Control 上。
- 按一下。
- 輸入一個值。

Controls 也可以透過 “scrubbed” 來設定。
- 將游標懸停在 Control 上。
- 按一下並按住。
- 左右移動游標。

請注意,當游標到達顯示屏邊緣時,scrubbing 值可能會受到限制。為防止出現這種情況,請在 Preferences 視窗中啟用「Infinite Scrubbing」。
對於具有多個欄位的 Control Rows(例如 Position X 和 Y),在 scrubbing 或提交值時按住 Option/Alt 鍵可同時影響所有欄位。
要同時為具有匹配屬性的多個 Layers 設定值:
- 將一個 Layer 載入到 Attribute Editor 中。
- 在 Scene Tree 中選擇所有其他要更新的 Layers。
- 在 Attribute Editor 中更新屬性。
使用 ⇥(Tab 鍵)將焦點移至下一個 Control,或使用 Shift + ⇥ 將焦點移至上一個 Control。請注意,macOS 使用者可能需要設定一個偏好才能使其工作。操作如下:
- 開啟「System Settings…」。
- 導航到「Keyboard」。
- 啟用「Keyboard navigation」。
此設定可以使用快捷鍵 control + F7 或 fn + control + F7(取決於 Function Keys 偏好)來開啟/關閉。
約束比例
标题为“約束比例”的章节某些 int2 Controls 還包括約束兩個值比例的功能。

開啟/關閉約束比例。
當約束比例按鈕啟用時(綠色),更改任一維度時,兩個值的原始寬高比將得到維持。例如,如果 Rectangle 的 Width 為 100,Height 為 200,將 Width 增加到 200 將把 Height 按比例增加到 400(維持 1:2 的比例)。
內聯表達式
标题为“內聯表達式”的章节可以在 Control 中編寫簡單的數學表達式。例如,輸入 12∗312*312∗3 將得到值 36。
設定關鍵影格
标题为“設定關鍵影格”的章节設定關鍵影格:
- 將游標懸停在 Control 上。
- Control 中將出現一個小菱形輪廓圖示。
- 將游標移到此圖示上方並按一下。
- 圖示將變為綠色填充。這表示已設定關鍵影格。

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

- 無關鍵影格 - 表示該 Control 上沒有動畫。
- 已有關鍵影格 - 表示該 Control 上已設定了動畫。
- 已有關鍵影格(在目前影格)- 表示在 Timeline 的目前影格該 Control 上有動畫設定。
Cavalry 預設將 Auto Key 設定為開啟。這意味著一旦設定了關鍵影格,對 Control 中值的任何更改將設定新關鍵影格,或者當播放頭位於現有關鍵影格的同一影格上時,更新該關鍵影格。
也可以使用 Control Row 的上下文功能表設定關鍵影格。
- 將游標懸停在 Control Row 上。
- 以右鍵按一下以調出上下文功能表。
- 選擇「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 Array、Color Array 等)。
- Reorder - 重新排序 Array Layers 的索引(Value Array、Color 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 - 選擇一個 Math 或 JavaScript 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。
設定屬性表達式
标题为“設定屬性表達式”的章节設定屬性表達式:
- 建立一個 Rectangle
- 連接 position.x→rotation.z
- 以右鍵按一下 Rotation。
- 選擇 Add Expression…。
- 在 Z 輸入框(底行)中輸入 ∗2* 2∗2。
- 按 Enter。
- 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- 加 10sqrt(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。
Edit Limits…
标题为“Edit Limits…”的章节屬性可以設定為接受自訂值範圍。這對於作為 Components 或 Pre-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.x 和 pivot.y。
如果現有值超出所定義的限制範圍,則在提交限制後,該值將更新為限制範圍內的值。請注意,這可能會更改您的 Composition。