source | 源 Playable 或其句柄。 |
sourceOutputPort | 源 Playable 中使用的端口。 |
destination | 目标 Playable 或其句柄。 |
destinationInputPort | 目标 Playable 中使用的端口。如果设置为 -1,将创建一个新端口并进行连接。 |
bool 如果连接成功,则返回 true。
连接两个 Playable 实例。
连接确定 PlayableGraph 的拓扑结构以及其评估方式。
Playable 彼此连接可形成树结构。每个 Playable 都有一个输入组和一个输出组。这些被视为其他 Playable 可以附加到的“插槽”。
首次创建 Playable 时,其输入计数会重置为 0,这意味着它没有附加的子 Playable。输出表现稍有不同,每个 Playable 在首次创建时都会创建一个默认输出。
使用 PlayableGraph.Connect 方法将 Playable 连接在一起,并可以使用 PlayableGraph.Disconnect 从彼此断开连接。
Playable 可拥有的输入数量没有限制。
using UnityEngine; using UnityEngine.Animations; using UnityEngine.Playables;
public class GraphCreationSample : MonoBehaviour { PlayableGraph m_Graph; public AnimationClip clipA; public AnimationClip clipB;
void Start() { // Create the PlayableGraph. m_Graph = PlayableGraph.Create();
// Add an AnimationPlayableOutput to the graph. var animOutput = AnimationPlayableOutput.Create(m_Graph, "AnimationOutput", GetComponent<Animator>());
// Add an AnimationMixerPlayable to the graph. var mixerPlayable = AnimationMixerPlayable.Create(m_Graph, 2);
// Add two AnimationClipPlayable to the graph. var clipPlayableA = AnimationClipPlayable.Create(m_Graph, clipA); var clipPlayableB = AnimationClipPlayable.Create(m_Graph, clipB);
// Create the topology, connect the AnimationClipPlayable to the // AnimationMixerPlayable. m_Graph.Connect(clipPlayableA, 0, mixerPlayable, 0); m_Graph.Connect(clipPlayableB, 0, mixerPlayable, 1);
// Use the AnimationMixerPlayable as the source for the AnimationPlayableOutput. animOutput.SetSourcePlayable(mixerPlayable);
// Set the weight for both inputs of the mixer. mixerPlayable.SetInputWeight(0, 1); mixerPlayable.SetInputWeight(1, 1);
// Play the graph. m_Graph.Play(); }
private void OnDestroy() { // Destroy the graph once done with it. m_Graph.Destroy(); } }