| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #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
- //{
- /// <summary>
- /// Timeline track for Cinemachine virtual camera activation
- /// </summary>
- [Serializable]
- [TrackClipType(typeof(CinemachineShot))]
- [TrackBindingType(typeof(CinemachineBrain), TrackBindingFlags.None)]
- [TrackColor(0.53f, 0.0f, 0.08f)]
- public class CinemachineTrack : TrackAsset
- {
- /// <summary>
- /// TrackAsset implementation
- /// </summary>
- /// <param name="graph"></param>
- /// <param name="go"></param>
- /// <param name="inputCount"></param>
- /// <returns></returns>
- 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<CinemachineMixer>.Create(graph);
- mixer.SetInputCount(inputCount);
- return mixer;
- }
- }
- //}
- #endif
|