RedKnight91

lerp_curb()

Jan 14th, 2019
311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ///@func    lerp_curb(val1, val2, amount, limit)
  2. ///@desc    Returnes a lerp'ed result which is cut off at a certain value.
  3. ///         Can be useful to avoid lerp() taking long to reach target value because of decay.
  4. ///
  5. ///@param   val1    Starting value
  6. ///@param   val2    Target value
  7. ///@param   step    Step (0 - 1)
  8. ///@param   limit   Value at which the lerp is cut off (returning target value)
  9.  
  10. var _start, _end, _step, _limit, _output;
  11.  
  12. //Init arguments
  13. _start  = argument0;
  14. _end    = argument1;
  15. _step   = argument2;
  16. _limit  = argument3;
  17.  
  18. //Lerp
  19. _output = lerp(_start, _end, _step);
  20.  
  21. //If lerped value is beyond limit value, return target value
  22. return (abs(_end - _output) <= abs(_end - _limit)) ? _end : _output;
Advertisement
Add Comment
Please, Sign In to add comment