MixingCameraBlend.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using UnityEngine;
  2. namespace Cinemachine.Examples
  3. {
  4. [AddComponentMenu("")] // Don't display in add component menu
  5. public class MixingCameraBlend : MonoBehaviour
  6. {
  7. public enum AxisEnum {X,Z,XZ};
  8. public Transform followTarget;
  9. public float initialBottomWeight = 20f;
  10. public AxisEnum axisToTrack;
  11. private CinemachineMixingCamera vcam;
  12. void Start()
  13. {
  14. if (followTarget)
  15. {
  16. vcam = GetComponent<CinemachineMixingCamera>();
  17. vcam.m_Weight0 = initialBottomWeight;
  18. }
  19. }
  20. void Update()
  21. {
  22. if (followTarget)
  23. {
  24. switch (axisToTrack)
  25. {
  26. case (AxisEnum.X):
  27. vcam.m_Weight1 = Mathf.Abs(followTarget.transform.position.x);
  28. break;
  29. case (AxisEnum.Z):
  30. vcam.m_Weight1 = Mathf.Abs(followTarget.transform.position.z);
  31. break;
  32. case (AxisEnum.XZ):
  33. vcam.m_Weight1 =
  34. Mathf.Abs(Mathf.Abs(followTarget.transform.position.x) +
  35. Mathf.Abs(followTarget.transform.position.z));
  36. break;
  37. }
  38. }
  39. }
  40. }
  41. }