void Update() { TimelineUtilities.Initialize(); if (properties == null) { properties = new MaterialPropertyBlock(); } if (m_light == null) { m_light = GetComponentInChildren <Light>(); } if (m_renderer == null) { m_renderer = GetComponent <MeshRenderer>(); } m_light.color = LightColor; properties.SetColor("_EmissionColor", 4 * LightColor); m_renderer.SetPropertyBlock(properties); UpdateProperties(); UpdateView(); }
private void Start() { mixers = new List <AnimationLayerMixerPlayable>(); for (var i = 0; i < dir.playableGraph.GetOutputCount(); i++) { var p = dir.playableGraph.GetRootPlayable(i); if (!p.IsValid()) { continue; } Debug.Log(p.GetPlayableType()); Debug.Log("OUTPUT: " + i + " = " + p.GetPlayableType() + ", outputs: " + p.GetOutputCount() + ", inputs: " + p.GetInputCount()); Traverse(p, mixers); } var arr = dir.playableAsset.outputs.ToArray(); for (var i = 0; i < arr.Length; i++) { var entry = arr[i]; if (entry.outputTargetType == typeof(Animator)) { var binding = dir.GetGenericBinding(entry.sourceObject); var b2 = dir.GetReferenceValue(new PropertyName(entry.streamName), out var valid); Debug.Log("BINDING: " + i + ", " + binding + ", " + b2 + " valid=" + valid + " " + entry.streamName + " - " + entry.sourceObject + ", " + binding); boundAnimators.Add(binding as Animator); } else { var binding = dir.GetGenericBinding(entry.sourceObject); var b2 = dir.GetReferenceValue(new PropertyName(entry.streamName), out var valid); Debug.Log("BINDING: " + i + " is " + entry.outputTargetType + " for " + b2 + ", " + entry.streamName + ", " + binding); } } if (InjectOnStart) { InjectMixers(); } Debug.Log("-----------"); if (TimelineUtilities.TryFindTimelinePlayable(dir.playableGraph, out var timeline)) { Debug.Log(timeline.GetPlayableType() + ", " + timeline.GetType()); if (TimelineUtilities.TryInjectMixer(dir, timeline, GetComponent <Animator>(), out var mixer)) { Debug.Log("INJECTED MIXER" + mixer); } } }