mParent.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using UnityEngine;
  2. using UnityEngine.Animations.Rigging;
  3. public class mParent : MonoBehaviour
  4. {
  5. public GameObject mParentCon;
  6. private enum Mode
  7. {
  8. Idle,
  9. Ground,
  10. Hand,
  11. Back
  12. }
  13. private Mode m_Mode;
  14. public void Update()
  15. {
  16. if (m_Mode != Mode.Idle)
  17. {
  18. var constraint = mParentCon.GetComponent<MultiParentConstraint>();
  19. var sourceObjects = constraint.data.sourceObjects;
  20. sourceObjects.SetWeight(0, m_Mode == Mode.Ground ? 1f : 0f);
  21. sourceObjects.SetWeight(1, m_Mode == Mode.Hand ? 1f : 0f);
  22. sourceObjects.SetWeight(2, m_Mode == Mode.Back ? 1f : 0f);
  23. constraint.data.sourceObjects = sourceObjects;
  24. m_Mode = Mode.Idle;
  25. }
  26. }
  27. public void Start()
  28. {
  29. m_Mode = Mode.Ground;
  30. Debug.Log ("ground");
  31. }
  32. public void hand()
  33. {
  34. m_Mode = Mode.Hand;
  35. Debug.Log ("hand");
  36. }
  37. public void back()
  38. {
  39. m_Mode = Mode.Back;
  40. Debug.Log ("back");
  41. }
  42. }