Verse Library verse

01 Snippet

Evaluates linear interpolation across sequential points, returning Y for a given X or failing if out of bounds.

extracted-snippets/community/snippets/VgoX/fortnite-linear-float-curve/01-snippet.verse

# Source URL: https://dev.epicgames.com/community/snippets/VgoX/fortnite-linear-float-curve
# Local doc:  epic-docs/community/snippets/VgoX/fortnite-linear-float-curve.md
  using { /Verse.org/Simulation }
  using { /UnrealEngine.com/Temporary/SpatialMath }
  # A curve meant to be @editable
  # The X values of the point should be sequential
  curve_float := class<concrete>()
  {
  # Given the points:
  # 0, 0
  # 5, 100
  # 10, 0
  #
  # Results:
  # For X=2, Y=40
  # For X=5, Y=100
  # For X=7.5,Y=50
  # For X=10, Y=0
  # For X=-1, Fails
  # For X=11, Fails
  @editable
  Points: []vector2 = array{}
  Evaluate(X: float)<transacts><decides>:float =
  var Result: ?float = false
  for:
  Index->Point: Points
  not Result? # If Result is not set, else skip
  CurrentPoint:= Points[Index]
  NextPoint:= Points[Index+1]
  CurrentPoint.X <= X <= NextPoint.X # If X is between two points

Sign in free to read the full source 🌴

This Verse Library file is members-only. Create a free account to view the complete source and download the .verse file.

Sign in with Discord

Comments

    Sign in to vote, comment, or suggest an edit. Sign in