CubismPhysicsRig.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /**
  2. * Copyright(c) Live2D Inc. All rights reserved.
  3. *
  4. * Use of this source code is governed by the Live2D Open Software license
  5. * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
  6. */
  7. using System;
  8. using UnityEngine;
  9. namespace Live2D.Cubism.Framework.Physics
  10. {
  11. /// <summary>
  12. /// Physics rig.
  13. /// </summary>
  14. [Serializable]
  15. public class CubismPhysicsRig
  16. {
  17. /// <summary>
  18. /// Children of rig.
  19. /// </summary>
  20. [SerializeField]
  21. public CubismPhysicsSubRig[] SubRigs;
  22. [SerializeField]
  23. public Vector2 Gravity = CubismPhysics.Gravity;
  24. [SerializeField]
  25. public Vector2 Wind = CubismPhysics.Wind;
  26. /// <summary>
  27. /// Reference of controller to refer from children rig.
  28. /// </summary>
  29. public CubismPhysicsController Controller { get; set; }
  30. /// <summary>
  31. /// Initializes rigs.
  32. /// </summary>
  33. public void Initialize()
  34. {
  35. for (var i = 0; i < SubRigs.Length; ++i)
  36. {
  37. SubRigs[i].Initialize();
  38. }
  39. }
  40. /// <summary>
  41. /// Evaluate rigs.
  42. /// </summary>
  43. /// <param name="deltaTime"></param>
  44. public void Evaluate(float deltaTime)
  45. {
  46. for (var i = 0; i < SubRigs.Length; ++i)
  47. {
  48. SubRigs[i].Evaluate(deltaTime);
  49. }
  50. }
  51. }
  52. }