Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Playable.Connect

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static function Connect(source: Experimental.Director.Playable, target: Experimental.Director.Playable, sourceOutputPort: int, targetInputPort: int): bool;
public static bool Connect(Experimental.Director.Playable source, Experimental.Director.Playable target, int sourceOutputPort, int targetInputPort);

パラメーター

source 入力として使用される Playable
target 入力の接続先である Playable
sourceOutputPort ソースの Playable の出力のオプションのインデックス
targetInputPort ターゲットの Playable の入力のオプションのインデックス

戻り値

bool 操作を完了できなかった場合は False を返します。

説明

2 つの Playable を一緒に接続します。

Playable はツリー構造を形成するために一緒に接続できます。それぞれの Playable は Input のセットと Output のセットを持ち、これらは他の Playable をアタッチできる “Slot” として見なすことができます。

Playable が最初に作成されると、入力カウントは 0 にリセットされます。これは Playable にアタッチされている子がないことを意味します。また、出力の動作は少し異なり、Playable を最初に作成したときには、デフォルトの出力が作成されます。

Playable.Connect メソッドを使用して Playable をお互いに接続し、Playable.Disconnect を使用して互いを切断することができます。

Playable.Connect メソッドはオプションのインデックスパラメーターを受け取ります。接続したい Playable が “Slot” で示されます。任意のインデックスのない Playable.Connect を呼び出すとターゲット Playable に新しい Input が追加され、ソースである Playable のデフォルトの Output と接続します。Playable を切断したとき、ターゲット Playable の Input “Slot” は削除されません。 Playable の Input の数が決して減らないことを意味します ( Playable.ClearInputs を呼びださない限り、すべての Input を切断し、Input 配列のサイズが 0 になります)。

Playable が持てる入力の数に上限はありません。

#pragma strict
class AnimationSequence extends Playable {
	public var clip0: AnimationClip;
	public var clip1: AnimationClip;
	public var clip2: AnimationClip;
	AnimationSequence {
		// Connect the first animation clip
		Playable.Connect(new AnimationClipPlayable(clip0), this);
		// Create a Mixer playable which mixes the two other clips
		var mixer: AnimationMixerPlayable = new AnimationMixerPlayable();
		mixer.SetInputs(new AnimationClipPlayable(clip1), new AnimationClipPlayable(clip2));
		// Connect the mixer as out 2nd input
		Playable.Connect(mixer, this);
	}
	public override function PrepareFrame(data: FrameData) {
		SetInputWeight(0, 0.2f);
		SetInputWeight(1, 0.8f);
	}
}
class AnimationSequence : Playable
{
	public AnimationClip clip0;
	public AnimationClip clip1;
	public AnimationClip clip2;

public AnimationSequence() { // Connect the first animation clip Playable.Connect(new AnimationClipPlayable(clip0), this);

// Create a Mixer playable which mixes the two other clips AnimationMixerPlayable mixer = new AnimationMixerPlayable(); mixer.SetInputs(new [] {new AnimationClipPlayable(clip1), new AnimationClipPlayable(clip2)});

// Connect the mixer as out 2nd input Playable.Connect(mixer, this); }

public override void PrepareFrame(FrameData data) { SetInputWeight(0, 0.2f); SetInputWeight(1, 0.8f); } }

上記のサンプルコードは次のような Playable ツリーを作成します: