チェーン接続可能なコントローラを作成する

シーン内のオブジェクトの既存のアニメーション コントローラ上に適用できる、MCG コントローラを作成して、その出力を入力として使用することができます。これは、最初に最上部のコントローラを適用すしてから、その入力の上にその他のコントローラを適用するワークフローの代わりに使用できます。

これを実行するには、グラフにサブコントローラの出力を受け取るためのパラメータ ノードが必要となります。次に、[カスタム UI](Custom UI)プロパティを編集し、コピー イベントのハンドラを追加します。

また、setValue val commit イベントのハンドラを追加することもできます。これはサブコントローラから値を渡し、アクティブなコントローラのようにサブコントローラを操作できます。たとえば、位置を固定するために標準的な位置コントローラの上に適用する MCG コントローラを作成し、[選択して移動](Select and Move)ツールを使用してビューポート内でオブジェクトを移動させることも可能にします。

	on copy source do
	(
		--Grab the current controller and use its value to drive this controller.
		try 
     (
		       this.SubController.controller = source
		   )
		catch
     (
		       this.SubController = source
		   )
		return true
	 )

	on setValue val relVal commit do
	(
		--Set the value of the subController.
		--This controller acts like a pass-through.
		try 
     (
		      SubController.value = val
		   )
		catch
    (
		      SubController = val
		  )
  )

一部のコントローラ タイプにはコントローラおよび値のプロパティがあり、他のタイプではコントローラ自体を直接設定します。上記のように try/catch を使用するか、または特定のパラメータ タイプに適切なもののみを使用することができます。