接続
コネクション(Connections)は Cavalry の中核機能であり、他の属性を駆動する属性を設定するために使用します。
Cavalry の UI はレイヤーベースの操作を提供しますが、その内部は実際には「ノードベース」のアーキテクチャです。つまり、コネクションが作成されると、あるレイヤーの属性データが別のレイヤーの属性に直接渡されます。
コネクションはコネクションアンカー(Connection Anchor)からクリック&ドラッグして作成します。コネクションアンカーとは、ロールオーバー時に青色に変わる要素のことです。

属性にホバーすると、コネクションアンカーが青色でハイライトされます。
After Effects からの移行ユーザーにとって重要な点は、Cavalry でのコネクション作成は JavaScript 式を記述するショートカットではないということです。コネクションはレイヤー間で直接結ばれ、高速な計算と高い汎用性を実現します。
コネクションの作成
「コネクションの作成」という見出しのセクションアトリビュートエディターでコネクションを作成する手順:
- 属性にカーソルを重ねます(コネクションアンカーアイコンが状態 2 に変わります)。
- コネクションアンカーアイコンにカーソルを移動し(アイコンが状態 3 に変わります)、クリック&ドラッグします。
- 別の属性にカーソルを移動します(接続可能になると「コネクション」が青色に変わります)。
- マウスを放します。

コネクションアイコンは、コネクションを開始した属性と手順 4 でドロップ先となった属性の両方に表示され、コネクションが確立されたことを示します。
id と言及される場合、それはレイヤーの属性エディター UI のヘッダーバーにあるコネクションアンカーを指します。これはレイヤーの出力です。
シーンウィンドウでの手順も非常に似ています:
- レイヤーにロールオーバーします(コネクションアンカーアイコンが状態 2 に変わります)。
- コネクションアンカーアイコンにカーソルを移動し(アイコンが状態 3 に変わります)、クリック&ドラッグします。
- 別のレイヤーにカーソルを移動します(接続可能になると「コネクション」が青色に変わります)。
- マウスを放します。
- ポップアップウィンドウが表示されます。
- 接続先の行(属性)を選択します。
- マウスをクリックします。
コネクションアイコンは、手順 6 でドロップ先となったレイヤーに表示され、コネクションが確立されたことを示します。

シーンウィンドウでのコネクション作成
Option/Alt キーを使用すると、複数のレイヤーに同時にコネクションを作成できます:
- 3 つの Shape(Shape1、Shape2、Shape3)を作成します。
- Value Behaviour を作成します。
- Value と Shape1 をアトリビュートエディターにロードします。
- シーンウィンドウで 3 つの Shape をすべて選択します。
- Option/Alt キーを押したまま、アトリビュートエディターで value.id から shape1.position.x へコネクションをドラッグします。
これにより、Value から各 Shape の position.x 属性へのコネクションが作成されます。
入力と出力
「入力と出力」という見出しのセクションコネクションは入力または出力になり得ます。
- 入力(Input) は、ある属性が別の属性によって駆動されている状態です。
- 出力(Output) は、ある属性が別の属性を駆動している状態です。
1 つの属性は複数の出力を持てますが、入力は 1 つだけです。アニメーションカーブ(キーフレーム)は入力と見なされるため、別の入力でコネクションを上書きするとアニメーションカーブが置き換えられ、キーフレームデータは失われます。
入力は左向きの黄色のアイコンで示されます。出力は右向きの紫色のアイコンで示されます。

コネクションアイコンをクリックするとポップオーバーが開き、既存のコネクション一覧が表示されます。行をダブルクリックすると接続先のレイヤー/属性が表示され、×印をクリックするとコネクションを切断できます。

ポップオーバー内で、Cmd/Ctrl キーを押しながらコネクションをダブルクリックするか、「x」をクリックして属性を切断すると、ウィンドウが開いたままになり、一度に複数の操作が可能です。
既存のコネクションを上書きするには、コネクター使用時に Cmd/Ctrl キーを押すか、コンテキストメニューで Replace Connection を選択します。
コネクションは互換性のあるデータ型を持つ属性間でのみ作成できます。例えば、文字列(テキスト)を数値(バリュー)に接続することはできません。コネクション作成時に、互換性のない属性はアトリビュートエディターでは淡色表示され、シーンウィンドウでは非表示になります。