Beispiel #1
0
 private void FixedUpdate()
 {
     if (waypoints != null)
     {
         distanceAlongWaypoints += movementSpeed * Time.fixedDeltaTime;
         rb.MovePosition(GeometryUtils2D.PointAtDistanceAlongPath(waypoints, distanceAlongWaypoints, false));
     }
 }
Beispiel #2
0
 public void UpdateWaypoints()
 {
     waypoints = pathfindingSystem.GetPath(transform.position, destination);
     if (waypoints != null)
     {
         GeometryUtils2D.SnapToPath(waypoints, rb.position, out distanceAlongWaypoints);
     }
     lastDestination = destination;
 }
Beispiel #3
0
 public void RecomputeSpline()
 {
     splinePath   = GeometryUtils2D.ParameterizeSpline(animationMovementCurve.spline, pathResolution, !animationMovementCurve.spline.isOpenEnded);
     splineLength = GeometryUtils2D.PathLength(splinePath, !animationMovementCurve.spline.isOpenEnded);
 }
Beispiel #4
0
 private Vector3 GetPosition(float distance)
 {
     return(animationMovementCurve.transform.TransformPoint(GeometryUtils2D.PointAtDistanceAlongPath(splinePath, splineLength, distance, !animationMovementCurve.spline.isOpenEnded)));
 }