Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

Simple Waypoint System (SWS) - Move objects along paths

Discussion in 'Assets and Asset Store' started by Baroni, Dec 10, 2011.

  1. Evgeno

    Evgeno

    Joined:
    Sep 8, 2014
    Posts:
    14
    Hello. I am using your plugin to move an object along a path with the splineMove component. As I understand it, all the movement takes place in Update? Can I change to FixedUpdate?
     
  2. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Hi @Evgeno, the default is Update, correct. You can change it in DOTween (Tools > Demigiant > DOTween Utility Panel): Preferences tab, "Update Type" dropdown.
     
  3. Evgeno

    Evgeno

    Joined:
    Sep 8, 2014
    Posts:
    14
    Thanks for the answer. As I understand it, it changes all tweens to Fixed Update, but I only need it on this component. In the CreateTween () method of the splineMove component, when creating a new Tween, I added the line .SetUpdate (UpdateType.Fixed); seems to have helped. I would like to see the update method setting in the inspector window in future plugin updates. :)
     
  4. Birdy-Bird

    Birdy-Bird

    Joined:
    Apr 18, 2021
    Posts:
    18
    Hi @Baroni. A couple questions.

    1. I'm using the PolyNav asset as a 2D replacement for the pathing you would get from NavMesh for SWS. I would like to move my agent from point to point without any pauses, but when an agent reaches a point it comes to a complete stop for frame or so, then continues along the path. This looks very unnatural, and I was wondering if there was any way to prevent it from happening.

    2. Is there any way we can randomize paths at a certain waypoint? For example, I have a fork in the road at Waypoint 3 that leads to either Waypoint 4 or 5. Is there any functionality for this, or would I have to make separate path managers?

    Lastly, I see reference of a support forum outside of this one, but I get redirected to the docs page. Does it still exist?
     
    Last edited: Sep 1, 2021
  5. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Hi @Birdy-Bird!

    1. Try playing around with the "stopping distance" on the agent inspector. Do not leave this at 0, as this would mean it would exactly need to match the target position before continuing.

    2. You can use the "startPoint" and "moveToPath" variable on the movement script for this: you would write a short script with possible waypoint destinations assigned (e.g. 4 or 5), enable moveToPath, set the startPoint to that index and call its StartMove() method. The object will then walk to your new destination, starting from the current position.

    May I ask where you got that link from (besides the Asset Store page, didn't get a chance to do an update yet)? I'm cleaning up remaining links to that forum, which was a bit of a hassle to maintain going forward. I'm using this thread for support instead.
     
  6. Birdy-Bird

    Birdy-Bird

    Joined:
    Apr 18, 2021
    Posts:
    18
    Hi again,

    1. I tried playing around with the stopping distance, but it just seemed to make the agent do the 'stop' further away from the Waypoint. It's only for a frame, but it's enough to interrupt the walk animation on my NPC.

    2. Hmm, I'm not sure I completely understand. Maybe I forgot to mention a few important details or something. That's okay though! I think i can explain better with a drawing.

    This is what the path manager looks like - I would like to be able to take either Path 1 or Path 2 randomly when an agent gets to it.

    upload_2021-9-1_16-15-58.png


    And this is my interpretation of your solution


    Code (CSharp):
    1. public class RandomPathDecider : MonoBehaviour {
    2.  
    3.     [SerializeField]
    4.     private int[] indicesOfNextPossibleWaypoints;
    5.  
    6.     private void OnTriggerEnter2D(Collider2D collision) {
    7.         PolyNavMove polyNavMover = collision.GetComponent<PolyNavMove>();
    8.  
    9.         if (polyNavMover) {
    10.             RandomlyDecideOnPath(polyNavMover);
    11.         } else {
    12.             // Complain. Wah. Wah.
    13.         }
    14.     }
    15.  
    16.     private void RandomlyDecideOnPath(PolyNavMove polyNavMover) {
    17.         int randomizedWaypointToTake = UnityEngine.Random.Range(0, indicesOfNextPossibleWaypoints.Length + 1); // '+ 1' because upper value is exclusive.
    18.  
    19.         polyNavMover.startPoint = randomizedWaypointToTake;
    20.         polyNavMover.StartMove();
    21.     }
    22. }
    Thanks for replying!
    - Rebecca

    Oh, and the About section "Support Forum" button linked redirected me to the docs.

    upload_2021-9-1_15-17-51.png
     
    Last edited: Sep 2, 2021
  7. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Hey!

    Ah, right. The stopping distance does exactly that, but I understand now the issue is somewhere else. I am not sure if the one frame can be prevented though, since the agent needs time to calculate the new path after reaching a waypoint - it moves in segments, from waypoint to waypoint. Did you check the transition time on your Animator, maybe you can prevent it to transition immediately? This is obviously just a suggestion...

    In your drawing it would actually be a lot easier if waypoints 1+2 would be one path, waypoints 2+3+6+7 a separate path and waypoints 2+4+5 another path (3 paths total, without overlapping parts). Your drawing including numbers gives the impression that waypointsfrom one path could be all over the place :)

    That way, you could do:
    Code (csharp):
    1. public class RandomPathDecider : MonoBehaviour {
    2.  
    3.     [SerializeField]
    4.     private PathManager[] nextPaths; //store possible paths here
    5.  
    6.     //not quite sure when this is triggered, at your second waypoint I guess?
    7.     private void OnTriggerEnter2D(Collider2D collision) {
    8.         PolyNavMove polyNavMover = collision.GetComponent<PolyNavMove>();
    9.  
    10.         if (polyNavMover) {
    11.             RandomlyDecideOnPath(polyNavMover);
    12.         } else {
    13.             // Complain. Wah. Wah.
    14.         }
    15.     }
    16.  
    17.     private void RandomlyDecideOnPath(PolyNavMove polyNavMover) {
    18.         int randomizedWaypointToTake = UnityEngine.Random.Range(0, nextPaths.Length + 1); // '+ 1' because upper value is exclusive.
    19.  
    20.         polyNavMover.SetPath(nextPaths[randomizedWaypointToTake]);
    21.     }
    22. }
    You could also do it by assigning the startPoint index as before, but paths should still be separate from each other, and you actually then need to assign the "forked" path to the movement script as well before calling StartMove(). Or, do it with separate paths as mentioned above.
     
  8. Birdy-Bird

    Birdy-Bird

    Joined:
    Apr 18, 2021
    Posts:
    18
    Thanks for the solution to #2, I'll try to get that working today!

    I think another user had the same issue as me, but for a NavMesh agent. Unfortunately his solution was redacted, so I was wondering if you remember anything about it.

    Link to old solution: Simple Waypoint System (SWS) - Move objects along paths


    Also, the PathManager generated from the Waypoint manager always has a transform position that starts at the first point. Is this by design?

    upload_2021-9-2_10-47-23.png
     
    Last edited: Sep 2, 2021
  9. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    I can only remember that he posted source code of the asset, that was why it got removed. Unfortunately the code was not shared on the other forum either.

    Yes, waypoints are relative to the path with the first one starting at (0,0,0). You can modify the first waypoint game object position to a different position, however the intention behind this was that the full path can be easily moved around in the scene.
     
  10. Birdy-Bird

    Birdy-Bird

    Joined:
    Apr 18, 2021
    Posts:
    18
    Oh alright then. I also found that the default rotation of created Waypoint transforms is -90 on the X axis. My game is in 2D, so I don't really need this. Can we set the default value to 0 somehow?

    "I am not sure if the one frame can be prevented though, since the agent needs time to calculate the new path after reaching a waypoint - it moves in segments, from waypoint to waypoint."

    I added a time buffer between between my walk and idle animation transitions, but the movement of my NPCs still looks... very unnatural to me... I'm not quite as familiar to this system as I'd like to be, but I would really like to solve this issue with your help.

    What's the main thing that's causing that one frame delay? I see a lot of IEnumerators with null & end of frame yields, so my guess is that the problem lies somewhere with those. I'm afraid of playing with/removing them, because I feel like doing so might create a lot of side effects that I'm unaware of. Where do you think a good starting point would be?

    Thanks!
     
    Last edited: Sep 3, 2021
  11. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    @Birdy-Bird Could you please send me a very small project that reproduces this via DM? It would need to use a default NavMesh agent, since I do not own PolyNav.

    I'll also look into the rotation for waypoints. I am not aware of them having any rotation by default (except when using the path direction for waypoint rotation).
     
  12. xiaozhucc

    xiaozhucc

    Joined:
    Apr 13, 2018
    Posts:
    1
    hi there is a problem.
    URP has some problems, the curve cannot be displayed normally (default pipeline can be displayed normally). There is no response when pressing'P' in the scene window.
     
  13. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Hi @xiaozhucc, thanks for the report. I will look into the URP issue. However I do not think that placing waypoints is related to this, please see the first point in the FAQ.
     
  14. Birdy-Bird

    Birdy-Bird

    Joined:
    Apr 18, 2021
    Posts:
    18
    Hi @Baroni,

    I've never set up NavMesh before on a 2D project and I've never worked in 3D before. I tried to repro it in 3D for a couple hours, but the experiment came out horribly and I couldn't get anything working. Sorry about that :(

    If you're handy, I think these steps would recreate the issue with NavMesh

    1. Create tilemap grid (2D)... or plane (3D)?
    2. Set up nav mesh + NavMesh agent
    3. Add NavMesh move script to agent game object
    4. Look from top-down perspective
    5. Add Waypoint Manager as usual
    6. Create path and set it to NavMesh move component
    7. Run

    You might see a one frame pause between waypoints, but I'm not sure since I'm not using a nav mesh... again, sorry for not knowing how to work in 3D.
     
  15. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Sorry for the delayed response post-weekend.
    Thanks for your efforts! These steps actually do not differ from what is used in the example scenes, so I tried to reproduce the issue there without success. I observed a movement script and Animator when reaching a waypoint, however I was not able to see the issue in the game view, nor in the Animator window as the animation never leaves the "Walk" state.

    I can only imagine that you are seeing this because of the WaitForEndOfFrame() call in the navMove script, line 209. This is necessary for waypoint events to execute properly which could affect movement, before continuing walking. If you do not use waypoint events that hook into movement (e.g. pause, resume, stop), you could try commenting out that line.
     
  16. chrische5

    chrische5

    Joined:
    Oct 12, 2015
    Posts:
    46
    hello

    i want to use your asset. i add the manager to the scene and want to add a path. i give an name and press "start path". now i go with the mouse into the scene view and press "p", but nothing happens. i cant add waypoints and if i click somewhere the path will bei deleted. the funny fact: one time i created a path and it works. but i want to add a second one and i got this problem. for testing i delete the first one and now i cant add a path. i tried to delete and reinstall the asset but i got the same result. can you help me?

    chrische
     
  17. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Hi @chrische5,

    I am not able to reproduce this but have heard of it many times. I would appreciate if you could send me a minimal repro project via direct message (zip project folder including only SWS). The solution is likely the first point in the FAQ here, but please consider backing up the project for me first.
     
  18. tomchambers

    tomchambers

    Joined:
    Mar 21, 2016
    Posts:
    19
    Hi, everything working well except for one thing. I want the path to update when the waypoints are moved while the follower is following the path.

    By default the path is fixed when `StartMovement()` is called and if the waypoints, the follower goes to where the waypoint was in the past.

    Example scene where the waypoint position has been moved, but the target is still the old position.

    upload_2021-10-1_16-35-54.png
     
  19. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Hi @tomchambers, please see the FAQ on this page (last question). Essentially, the movement script is not using Update() for transform position changes that could get recalculated each frame, but tweens. Once a tween is created, it is like an animation playback. You can change waypoint position as mentioned in the FAQ, however you have to restart the tween (e.g. from the last waypoint) to take changes into account.
     
  20. tomchambers

    tomchambers

    Joined:
    Mar 21, 2016
    Posts:
    19
    Thanks. To confirm, there's no way to move the waypoint while a character is moving without resetting back to the previous waypoint?
     
  21. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Not exactly - to clarify, there are several ways, however all of them are working around the natural behavior of what tweens are designed for:
    1. You can move the full path (all waypoints) including the character, but that's probably not what you are after.
    2. You can let the character stay where it is and move waypoints around. Set the "startPoint" variable to the next waypoint, in addition to setting "moveToPath" to true and restart it. The object will then move to the next waypoint in a direct line and then follow the path as usual. This is what other users are doing the most.
    3. There is a way to move individual waypoints without using startPoint too: using the path's fullPosition variable as done in the PathInput example scene. The fullPosition is a time value along the path. Before moving the waypoint, you would save this value, move the waypoint, restart the movement script and re-assign the tween fullPosition. Note that since when moving waypoints the path gets shorter or longer, the time value changes as well, so it will not put the object at the exact same position. Using this could mean playing around a bit with the time value, which is not that intuitive.
     
  22. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    As an alternative to the Unity Asset Store, you can now buy this and my other assets directly on my website. You get:
    • Instant access to updates
    • Access to previous versions
    • Exclusive bundle discounts
    • Special bulk and student discounts, just ask!
     
  23. Birdy-Bird

    Birdy-Bird

    Joined:
    Apr 18, 2021
    Posts:
    18
    Hi @Baroni

    I have a couple questions

    1. Whats a 'Bezier' path? I've been looking online, but the only thing I can discern is that it's a path... that can be drawn...? I see that there are a couple handles on each waypoint that you can use to adjust the path, but is there anything else I should know about the bezier path setting?

    2. How would I move a crowd (and make it look natural) using SWS? As of now, I just spawn a bunch of NPCs and move them along their merry way down the path, but it looks very linear and robotic.

    Thanks!
     
    Last edited: Oct 15, 2021
  24. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Hi @Birdy-Bird

    as opposed to spline curves, bezier curves are formed by defining additional control points that shape the path. It's a more mathematical calculation and therefore slightly more performance hungry than other path types. Spline curves are just based on waypoints and then interpolated in a smooth way.

    This is a bit vague, do you mean a group of people? Usually if your environment allows it, for this type of movement you would use a navigation mesh (navMove) + obstacle avoidance so they do not run into each other.
     
  25. eV-Interactive

    eV-Interactive

    Joined:
    Oct 25, 2016
    Posts:
    38
    Hi! Starting to use SWS for a flight-sim scale project (www.dawnofjets.com). As it is, the gizmos and handles are very small (sometimes just a few pixels wide in my use case ;-) ) I was wondering if there is an existing solution to scale up the gizmos/handles, or if you have any suggestions for a quick hack to help out. (I'm adding a global scale factor to everything I can find.)

    I'm working with worlds that are commonly 100,000 meters across, and at the scale we like to edit paths, the gizmos would need to be in the 10-100 meter size to make paths easy to edit. Or, perhaps a screen-space sized solution.

    Thanks! Great job on this.
     
  26. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Hi @eV-Interactive, thanks for the link! Looking very fun and realistic so far! My user name actually originates from the Red Baron, so I am quite familiar with flight simulations :D

    The scale of handles is actually based on screen-space, but with a lower and upper limit when zooming in, not out. Two things for a quick hack:
    - comment out line 298 in PathEditor.cs: when a path is selected, this makes the waypoints (spheres) stay at a consistent scale
    - comment out line 141 in PathManager.cs: when not selected, this makes the waypoints (boxes) stay at a consistent scale

    Hope that helps!
     
  27. eV-Interactive

    eV-Interactive

    Joined:
    Oct 25, 2016
    Posts:
    38
    Wow, thanks for the quick response (and the kind words.) I'll give it a try.

    Yeah, if you have an Oculus Quest 2 let me know and I'll hook you up.
     
    Baroni likes this.
  28. potter3366

    potter3366

    Joined:
    Oct 15, 2009
    Posts:
    42
    I would like to ask if it's possible to add custom additive movement to the path movement. For example I have octopus procedural animation and I want the octopus start moving procedurally with my own script when reaches specific waypoint. Is there any example somewhere?
     
  29. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Hi, if you are just looking to "take over" the movement at a specific waypoint with your own script, then I would recommend checking out the Example5_Event sample scene, which makes use of waypoint events either added in the editor or dynamically at runtime. At the desired waypoint, you would call Stop() on the movement script, at which point you are free to do with the object whatever you like.

    If you actually mean moving the transform with e.g. splineMove in addition to your own script, then you could work with a parent-child game object hierarchy. Have the movement script on the parent game object and animate the child objects independently. It depends on how your script works.
     
  30. redmotion_games

    redmotion_games

    Joined:
    May 6, 2013
    Posts:
    76
    Hi Baroni, I'm working on making a flying drone that hunts the player when it detects them. Until detection, it will be "patrolling" along the SWS using splineMove. What isn't clear is how I can hand control over to another script when detection is made and then back to SWS when it loses detection again.

    I have a RangeSensor from SensorToolkit that calls two functions (via events) in my drone script called OnTargetFound and OnTargetLost.

    I quite like the smoothness of the spline for the movement so an alternative option might be to dynamically add a new waypoint close to the player. Is there a way to insert an additional waypoint that then moves the drone towards the player?

    Thanks for your assistance.
     
  31. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Hi @redmotion_games, you would be simply using the Stop() and StartMove() methods on the movement script.

    Before calling Stop(), you could save the currentPoint index so you know what waypoint the object was later on. After calling Stop(), do whatever you like to do - the movement script is not running anymore.

    When you want to resume movement, set moveToPath = true, assign the previous waypoint index to the startPoint variable and call StartMove(). Your object will start from its current position and continue from the previous waypoint.

    You could take a look at the runtime scene and how to build a path at runtime, based on Vector3 positions for this. However inserting a waypoint in the middle of your path or end for chasing the player would really screw it up. I would not recommend doing it that way.
     
    redmotion_games likes this.
  32. kostaskaraolis

    kostaskaraolis

    Joined:
    Feb 29, 2020
    Posts:
    2
    Hi I am responding to your review reply "Could you please post an example of the naming violations in the support thread? Unity changed their conventions some months ago too, I would like to know what you would expect."
    I was referring to naming conventions regarding classes that start with lower case letters. For example splineMove is one i can remember and navMove. I dont recall more now but if you cant spot them i can check my source control history. I do not think its something that got changed since thats the microsoft c# standard since forever :p Anyhow thanks again for the great asset I LOVE IT. Have a great day
     
    Baroni likes this.
  33. fairtree

    fairtree

    Joined:
    Jun 11, 2012
    Posts:
    84
    Hi @Baroni,
    When I change my path with SetPath(...) is it mandatory to take it from the start or can I set from where I want to start (the middle, 60% or a precise position) ?
    Thx
     
    Last edited: Dec 2, 2021
  34. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Hi @fairtree, you can make use of the startPoint to let your object start from a specific waypoint (set it before calling SetPath), or let it move from its current position to that waypoint before continuing on the path (moveToPath enabled).

    For using an absolute percentage like 60% you would set the splineMove.tween.fullPosition value - a sample can be found in the PathInput example scene.
     
    fairtree likes this.
  35. fairtree

    fairtree

    Joined:
    Jun 11, 2012
    Posts:
    84
    Thank you @Baroni,

    I found exactly what I wanted to know.

    You take care
     
  36. josefgrunig

    josefgrunig

    Joined:
    Jan 23, 2017
    Posts:
    34
    @Baroni, does it work with URP? I get weird rendering issues on the samples. I cannot add waypoints at all even by having a plane with collider.
     
  37. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    @josefgrunig the collision detection for figuring out where to place waypoints on a collider (height) in the camera view is not related to any graphics settings, something else might be going on. Have you tried it with the default renderer and can confirm it is working there?
     
  38. josefgrunig

    josefgrunig

    Joined:
    Jan 23, 2017
    Posts:
    34
    @Baroni, sorry for late update, I didn't get the mail notification even if I am watching the thread.
    The Rendering issue is related to URP. With the Built-In Pipeline it renders correctly, it turns pink when enabling URP

    Regarding the waypoint addition I was able to add waypoints on a clean empty project, but not on my current one I am working on, even by creating an empty scene or disabling URP. Maybe a conflicting package? I had already DOTween and tried both your version included in the package and the one I was using, no changes.

    Any clue?
     
  39. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
  40. josefgrunig

    josefgrunig

    Joined:
    Jan 23, 2017
    Posts:
    34
    Hi @Baroni, found the issue with the placement. The Gizmos were disabled in the Scene Vide and the OnSceneGUI() in WaypointEditor was not being called. That's something that should go into the documentation (or maybe it is and I missed it)
     
  41. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    I don't think it is, I'll add it to the FAQ. Thanks!
     
    josefgrunig likes this.
  42. josefgrunig

    josefgrunig

    Joined:
    Jan 23, 2017
    Posts:
    34
    Hi @Baroni, I am not finding an easy way to have an object always facing to the tangent to the curve. I tried using SplineMove to follow the direction looking at the example and managed to orient the direction arrows to be tangent to the spline. But when I play the path the object starts correctly and ends facing completely in another direction.
     
  43. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    I'm not really sure what you mean by "direction arrows" and the quote above, could you elaborate? There are various options to orient an object to the path:
    • If you select "Path Mode" = "Full 3D" on the splineMove inspector, your object will orient to the path in 3-dimensional space. That's what most of the example scenes use.
    • For humanoid objects, most of the time it makes sense to restrict one axis by setting "Lock Rotation" = "X" so they make the impression of walking on a flat surface.
    • If you have several loops or other turns in your path, the automatic orientation could have problems with what axis you expect it to be up, down or forward. In this case, you can use manual orientation by making use of the waypoint rotation feature (example scene 10), where you can modify the rotation of each waypoint and have that applied to the object. On the PathManager, enable "Draw Direction" to see the waypoint and segment directions.
    • If you object moves in a consistent wrong direction (always same angle), correct it in your modelling orientation or make it a child object with a fixed rotation, with the splineMove script attached to the parent.
    Hope that helps!
     
  44. josefgrunig

    josefgrunig

    Joined:
    Jan 23, 2017
    Posts:
    34
    Hi @Baroni, thank you for the support. I managed to use the "Path Mode" = "Full 3D" and having my object as a child of the path followers script. The object seems to move along the path but it disregards the rotation around the direction vector (think of a plane rotating along the velocity axis). Even if I rotate the waypoint it is always ignored.

    Then I have another issue with the "Ease Type". When using anything different then linear the object won't start from the waypoint I selected to start from. For example using "In Out Quad" it starts before the waypoint. I would expect it to start exactly at the waypoint with the speed changing with a quadratic function.

    Hope you can help me out,
     
  45. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Waypoint rotation needs to be explicitly enabled by setting "Path Mode" = "Ignore" and then "Waypoint Rotation" = "All", as done in example scene 10. With Path Mode set to Full3D, you are letting DOTween decide how to rotate the object along the path. I would recommend going with a custom waypoint rotation, if the default path rotation is not what you are looking for.

    I tried it out in the Example1_Splines scene, and that's not what I am seeing. The object starts exactly at the first waypoint and moves slowly, accelerating to the second (last) waypoint. Maybe you have "Move To Path" enabled?
     
  46. josefgrunig

    josefgrunig

    Joined:
    Jan 23, 2017
    Posts:
    34
    Thank you, I will try to go again with the Waypoint Rotation mode, may be starting from an empty project. I stopped trying because I had really strange behaviours, if can replicate them I will get back to you on this.

    Regarding the Ease Type issue I can easily replicate it on the Example1_SplineScene. See attached the screenshot were I start playing in paused mode, what you see is the first frame.

    I simply disabled "Move to Path", selected StartPoint 1 ( don't know why at runtime you see "0" ), changed the Ease Type to In Out Quad. Are you able to reproduce it this way?
     
  47. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Thanks for the screenshot and additional explanation, setting startPoint to something other than 0 in addition to the ease type was the important piece of the puzzle. I am able to reproduce it that way and will take a look at it over the weekend.
     
  48. michaelhinman

    michaelhinman

    Joined:
    Sep 7, 2021
    Posts:
    1
    Hi, I bought this and I cannot get it to work. I press "p" and nothing happens. Any suggestions?
     
  49. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,646
    Last edited: Dec 17, 2021
  50. darveshi

    darveshi

    Joined:
    May 19, 2017
    Posts:
    9
    The component I placed in path is not moving smoothly. Its getting shocks at the turns. Also how to smoothly align the first and last point in loop.
     
unityunity