LinearDisplacement.cs 981 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //======= Copyright (c) Valve Corporation, All rights reserved. ===============
  2. //
  3. // Purpose: Move the position of this object based on a linear mapping
  4. //
  5. //=============================================================================
  6. using UnityEngine;
  7. using System.Collections;
  8. namespace Valve.VR.InteractionSystem
  9. {
  10. //-------------------------------------------------------------------------
  11. public class LinearDisplacement : MonoBehaviour
  12. {
  13. public Vector3 displacement;
  14. public LinearMapping linearMapping;
  15. private Vector3 initialPosition;
  16. //-------------------------------------------------
  17. void Start()
  18. {
  19. initialPosition = transform.localPosition;
  20. if ( linearMapping == null )
  21. {
  22. linearMapping = GetComponent<LinearMapping>();
  23. }
  24. }
  25. //-------------------------------------------------
  26. void Update()
  27. {
  28. if ( linearMapping )
  29. {
  30. transform.localPosition = initialPosition + linearMapping.value * displacement;
  31. }
  32. }
  33. }
  34. }