CinemachineShot.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #if !UNITY_2019_1_OR_NEWER
  2. #define CINEMACHINE_TIMELINE
  3. #endif
  4. #if CINEMACHINE_TIMELINE
  5. using UnityEngine;
  6. using UnityEngine.Playables;
  7. using UnityEngine.Timeline;
  8. using Cinemachine;
  9. //namespace Cinemachine.Timeline
  10. //{
  11. /// <summary>
  12. /// Internal use only. Not part of the public API.
  13. /// </summary>
  14. public sealed class CinemachineShot : PlayableAsset, IPropertyPreview
  15. {
  16. /// <summary>The name to display on the track</summary>
  17. #if !UNITY_2019_2_OR_NEWER
  18. [HideInInspector]
  19. #endif
  20. public string DisplayName;
  21. /// <summary>The virtual camera to activate</summary>
  22. public ExposedReference<CinemachineVirtualCameraBase> VirtualCamera;
  23. /// <summary>PlayableAsset implementation</summary>
  24. /// <param name="graph"></param>
  25. /// <param name="owner"></param>
  26. /// <returns></returns>
  27. public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
  28. {
  29. var playable = ScriptPlayable<CinemachineShotPlayable>.Create(graph);
  30. playable.GetBehaviour().VirtualCamera = VirtualCamera.Resolve(graph.GetResolver());
  31. return playable;
  32. }
  33. /// <summary>IPropertyPreview implementation</summary>
  34. /// <param name="director"></param>
  35. /// <param name="driver"></param>
  36. public void GatherProperties(PlayableDirector director, IPropertyCollector driver)
  37. {
  38. driver.AddFromName<Transform>("m_LocalPosition.x");
  39. driver.AddFromName<Transform>("m_LocalPosition.y");
  40. driver.AddFromName<Transform>("m_LocalPosition.z");
  41. driver.AddFromName<Transform>("m_LocalRotation.x");
  42. driver.AddFromName<Transform>("m_LocalRotation.y");
  43. driver.AddFromName<Transform>("m_LocalRotation.z");
  44. driver.AddFromName<Transform>("m_LocalRotation.w");
  45. driver.AddFromName<Camera>("field of view");
  46. driver.AddFromName<Camera>("near clip plane");
  47. driver.AddFromName<Camera>("far clip plane");
  48. }
  49. }
  50. //}
  51. #endif