VRIKPlatform.cs 689 B

12345678910111213141516171819202122232425262728
  1. using UnityEngine;
  2. using System.Collections;
  3. using RootMotion.FinalIK;
  4. namespace RootMotion.Demos {
  5. public class VRIKPlatform : MonoBehaviour {
  6. public VRIK ik;
  7. private Vector3 lastPosition;
  8. private Quaternion lastRotation = Quaternion.identity;
  9. void OnEnable() {
  10. lastPosition = transform.position;
  11. lastRotation = transform.rotation;
  12. }
  13. void LateUpdate () {
  14. // Adding the motion of this Transform to VRIK
  15. ik.solver.AddPlatformMotion (transform.position - lastPosition, transform.rotation * Quaternion.Inverse(lastRotation), transform.position);
  16. lastRotation = transform.rotation;
  17. lastPosition = transform.position;
  18. }
  19. }
  20. }