#if !UNITY_2019_1_OR_NEWER #define CINEMACHINE_TIMELINE #endif #if CINEMACHINE_TIMELINE using System; using UnityEngine; using UnityEngine.Playables; using UnityEngine.Timeline; using Cinemachine; //namespace Cinemachine.Timeline //{ /// /// Timeline track for Cinemachine virtual camera activation /// [Serializable] [TrackClipType(typeof(CinemachineShot))] [TrackBindingType(typeof(CinemachineBrain), TrackBindingFlags.None)] [TrackColor(0.53f, 0.0f, 0.08f)] public class CinemachineTrack : TrackAsset { /// /// TrackAsset implementation /// /// /// /// /// public override Playable CreateTrackMixer( PlayableGraph graph, GameObject go, int inputCount) { #if !UNITY_2019_2_OR_NEWER // Hack to set the display name of the clip to match the vcam foreach (var c in GetClips()) { CinemachineShot shot = (CinemachineShot)c.asset; CinemachineVirtualCameraBase vcam = shot.VirtualCamera.Resolve(graph.GetResolver()); if (vcam != null) c.displayName = vcam.Name; } #endif var mixer = ScriptPlayable.Create(graph); mixer.SetInputCount(inputCount); return mixer; } } //} #endif