CinemachineShot.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. #if !UNITY_2019_2_OR_NEWER
  17. [HideInInspector]
  18. #endif
  19. public string DisplayName;
  20. public ExposedReference<CinemachineVirtualCameraBase> VirtualCamera;
  21. public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
  22. {
  23. var playable = ScriptPlayable<CinemachineShotPlayable>.Create(graph);
  24. playable.GetBehaviour().VirtualCamera = VirtualCamera.Resolve(graph.GetResolver());
  25. return playable;
  26. }
  27. // IPropertyPreview implementation
  28. public void GatherProperties(PlayableDirector director, IPropertyCollector driver)
  29. {
  30. driver.AddFromName<Transform>("m_LocalPosition.x");
  31. driver.AddFromName<Transform>("m_LocalPosition.y");
  32. driver.AddFromName<Transform>("m_LocalPosition.z");
  33. driver.AddFromName<Transform>("m_LocalRotation.x");
  34. driver.AddFromName<Transform>("m_LocalRotation.y");
  35. driver.AddFromName<Transform>("m_LocalRotation.z");
  36. driver.AddFromName<Camera>("field of view");
  37. driver.AddFromName<Camera>("near clip plane");
  38. driver.AddFromName<Camera>("far clip plane");
  39. }
  40. }
  41. //}
  42. #endif