forked from BilalY/Rasagar
50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
#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
|