Unity Community

Register or Sign In:

+ Reply to Thread
Page 1 of 5 1 2 3 ... LastLast
Results 1 to 20 of 99

  1. Posts
    90

    Simple Waypoint System (SWS) - RELEASED

    Simple Waypoint System (SWS) is an editor extension for Unity3d which allows you to create waypoints
    and paths very easily right within the editor. With those created, you can then tell any kind of game object
    to follow a specific path. Useful for every automated movement in your games including but not limited to:
    • AI Patrol behavior
    • Movement on a Path
    • Moving Platforms
    • Camera and Game Object animation
    • Cut Scenes
    • 3D GUI animation
    Feature List:
    • Easy to use
    • Custom Path Manager Editor
    • Movement using iTween
    • works in 2D or 3D space
    • Editor Undo and Redo
    • compatible with C# or JavaScript
    • Full source code in C#
    • Every line documented
    • Example Scene included
    • Over 10 pages of documentation

    A copy of iTween is required an included in this package.
    In contrast to iTween's built-in path system, SWS extends iTween's simplicity by a custom path creator
    interface. This path creator lets you place waypoints just by clicking on ground, they get connected
    internally. After the part of construction, you are still able to edit your existing path with the built-in buttons
    which add or remove waypoints, place them onto other objects or invert the path direction. All actions
    support undo and redo. The iMove component, responsible for movement, concludes what you need for
    a simple waypoint system.

    iMove provides you with:
    • straight path movement
    • movement at game start or through code
    • movement based on speed or time
    • custom looptypes (none, loop, pingpong, random)
    • support for iTween's easetypes (linear, spring, ...)
    • delay settings for one or all waypoints of a path
    • support for animation during walk or waiting time

    Watch it in action!




    Screenshots with higher resolution on the Asset Store product page



    Get it here! That simple.



    Please also take a look at our fully featured Tower Defense Starter Kit -
    for beginners and experienced alike.
    At its core, it uses a modified version of SWS for enemy movement.

    http://forum.unity3d.com/threads/130...se-Starter-Kit

    Last edited by Baroni; 04-04-2012 at 11:29 AM. Reason: further description added

  2. Super Moderator
    Location
    USA - Chesaning, MI
    Posts
    952
    That's looking pretty nice I have to say! What can people expect price wise? Nice demo scene setup as well.



  3. Posts
    90
    @Thomas
    Hello and thanks Thomas!

    I just submitted it 2 minutes ago with the price of 10$!
    Let's see how it goes, maybe there are some later adjustments (not up).

    I also already have an idea for upcoming versions... so I will try to keep this updated.

    Greetings


  4. Posts
    90
    Quote Originally Posted by Daniel Talis View Post
    Hi, does it work on Terrains?
    Hi Daniel,

    it's a very simple system (as stated a few times in the main post above ),
    so it depends on how you setup your waypoint gameobjects. If you place them with high distance,
    I am sure your path will go through hills and some uneven terrain...
    Besides of that, it will work on terrain too, because you can place your waypoints onto every object.

    edit: oh I forgot something, have a look at the video and the 2 screenshots, there are 2 paths with a curve, so if you place your waypoints very close to each other this could work very well for hills...
    Last edited by Baroni; 12-10-2011 at 11:28 AM.


  5. Posts
    29
    Looks great. Is there a way to make the object stop at a specific waypoint for a period of time before carrying on ?

    Thanks


  6. Posts
    28
    looks very nice. I plan to buy it.


  7. Posts
    90
    @Roachie

    that's definitely possible! The iMove component which moves the object has a delay variable to let the object stop at every waypoint and continue after a specified time.

    Edit: delay at a specific or all waypoints is now a built-in setting.

    @jermaine

    thanks for your interest, much appreciated!
    Last edited by Baroni; 12-17-2011 at 03:52 AM. Reason: feature update


  8. Posts
    90
    I'm happy to announce that SWS is now live and available to download!

    The last update (1.1) adds new features such as:
    - random selection of waypoints - looptype random
    - delay interface to allow delay at a specific or all waypoints
    - animation support (see bootcamp soldier in the trailer)
    and minor fixes!

    Try it, it's only 10$

    http://u3d.as/content/baronium3d/sim...ystem-sws-/2xi

    I would like to say thank you to the people who have bought it,
    before I ever mentioned that it's online, thanks


  9. Posts
    90
    Any comments, thoughts or requests so far?


  10. Posts
    358
    Its an excellent product!!! Simple Waypoint System the keyword here is "Simple" and it is.

    I really like this system and believe it could be the start of something bigger well Im hoping anyway.

    I love that you can easily add delay of movement at any waypoint and play one animation while at that way point by simply dragging a iMove script onto the character. I can have the character randomly switch between way points by simply by selecting a different loop type from the drop down list.

    Its really cool and for the price you cant beat it! I give this one 2 Thumbs Up!
    Just Another Dreamer
    KodaGames

    I created KodaGames in my spare time and Im dedicated to creating more games which I get better and better at each time


  11. Posts
    90
    I make a short faq out of recent e-mail conversations, so other users can read this, too.

    Question:
    I tried integrating SWS and keep getting a NullReferanceException:
    NullReferenceException: Object reference not set to an instance of an object
    iTween.LateUpdate () (at Assets/Plugins/iTween.cs:6453)
    Answer:
    This could occur if you already use iTween and therefore 2 iTween scripts are located within your project.
    Delete one iTween script, and (if not already done) place the other one into the Plugins folder.

    Question:
    I can't assign a scene path transform to the path container slot of an enemy prefab.
    How do I instantiate my enemies at runtime and have them know how to get my path?
    Answer:
    This is a limited behaviour of Unity, scene objects can't be assigned to prefabs.
    The simplest solution would be to make a prefab per path transform (not Waypoint Manager) and assign that path prefab as path container to your enemy. Another way would be a short custom script, which returns the path transform, adds it to the Waypoint Manager dictionary, assigns it to the enemy path container and then calls iMove's provided movement method StartMove(). Update: Version 1.2 includes an example script for runtime instantiation.

    Question:
    I need to replace the waypoint placement key of WaypointManager. Alt + left mouse click seems too inconvenient.
    Answer:
    To replace the waypoint placement key, you will have to edit line 27 in WaypointEditor.cs as follows:
    For example to use it without mouse input and only with key "P" pressed, replace the if query with:
    "if (Event.current.type == EventType.keyDown && Event.current.keyCode == KeyCode.P && placing)".



    @zeek
    thanks! Much appreciated

    Your question via e-mail was:
    "How would I make a waypoint a child of a character to instantiate at runtime? This way I can instantiate the character and the path he uses at the same time in the same place."

    If a waypoint should be the child of a character, this would not be the best solution, because this waypoint would always follow the character as it walks. Your path (and its waypoints) should never move with its walkers. The runtime instantiation part could be accomplished with a method described in the "How do I instantiate my enemies at runtime..."-answer above:
    1. Instantiate the enemy.
    2. Instantiate the path prefab (if needed), and set its position via script to where it should be. The first waypoint position is then equal to the path transform position.
    3. Add this path via script to the static Waypoint Manager dictionary, like the Awake() function does in the "foreach"-part.
    4. Assign that path transform via script to the iMove path container of your enemy.
    5. Call iMove's standard StartMove() method, to start movement of this enemy with the new path.
    Update: Version 1.2 includes an example script for runtime instantiation.

    Hope this helps! I will include some changes to this workflow in the next update, to remove custom scripts and smooth it out.
    I sent you early modifications to Waypoint Manager via pm.
    Last edited by Baroni; 02-28-2012 at 02:21 PM. Reason: update


  12. Posts
    358
    Bought it and love it! So easy to use and perfect for moving platforms and enemies around in my game. Love it. Love it. Love it.

    My one request would be a Reset function to call from script to be able to reset an iMove GameObject to a stationary position.

    Example: A moving platform is triggered to StartMove() by the player. The player falls off the platform to his death and is respawned at his last checkpoint (without reloading the level). I call Reset() on the iMove platform to reset it for the player to trigger again.
    BoiledGoose.com


  13. Posts
    90
    Hey cheezorg,

    I'm glad that you like it!

    Regarding your request, I tested some code and came up with this short method,
    just put that into your iMove.cs script and you will be able to call it, no need to touch existing code.

    Code:  
    1. public void Reset()
    2. {
    3.     StopCoroutine("NextWaypoint"); //stops further execution, if we set a waypoint delay
    4.     iTween.Stop(gameObject); //stops movement of this gameobject
    5.     currentPoint = 0; //set current waypoint index to zero, so next time we start from the beginning
    6.     transform.position = waypoints[currentPoint]; //position our gameobject at our first waypoint
    7. }

    I will also include a more flexible solution in the next update, wrote some new features today as well.
    But for the time being I hope this solves your issue. Feel free to ask more questions while dealing with SWS!

    Greetings


  14. Posts
    358
    Beautiful! Thanks.
    BoiledGoose.com


  15. Posts
    25
    Great package!

    How would I (in code) stop an object following a path and start following different path? C# plz


  16. Posts
    90
    Hey jocoUnity, thanks

    that feature would require you to edit some code, so I suggest you to wait until the next update.
    I already finished runtime path instantiation support, which includes changing a path through code (this then requires 2-3 lines).

    The new version with another great feature (can't say more) will be released in early february, I hope you can wait until then!

    Greetings


  17. Posts
    20
    Looks nice, however I have a few questions.

    Does this allow paths to cross each other ?

    If so, is there a function to let AIs stop in their path and wait for another AI to pass by before continuing with the path? To avoid collision.

    Also, is there a function to let AIs walk through each other if they are on the same path ?

    Hope you can clarify my doubts.

    Thanks ! (:


  18. Posts
    90
    Hi flamerx2,

    Quote Originally Posted by flamerx2 View Post
    Does this allow paths to cross each other ?
    You can place your paths / waypoints wherever you want, so they could cross or intersect each other.
    However, two paths cannot share the same waypoints - they are independent.

    If so, is there a function to let AIs stop in their path and wait for another AI to pass by before continuing with the path? To avoid collision.
    Not yet. But since every walker / AI object moves from waypoint to waypoint, this could be fairly easy to implement. Before calling the automatic movement function (which brings the walker to the next waypoint), all you need to do is integrate your own function that checks if other walkers are in closer range and therefore delay the movement. The functionality of iTween also allows to check that every frame, while between waypoints, with it's "onupdate" parameter.

    Also, is there a function to let AIs walk through each other if they are on the same path ?
    Your objects automatically walk through each other, if they don't have a rigidbody and thus physics disabled.

    Thanks ! (:
    You're welcome


  19. Posts
    90
    Good news

    I decided to not hold back the next update and it's live on the Asset Store out now!

    The big new feature is runtime instantiation,
    this comes along with changing paths at runtime and better control of your walker objects.
    Theres also a new example script for this purpose.

    Full Changelog:

    Fixes&Changes
    -replaced some calculations with iTween's internal methods
    -iMove now has direct access to Path Manager waypoints
    (your walker objects will update at runtime when you reposition waypoints)
    -reset delay at specific waypoints if path container gets null fix

    Features:
    -WaypointManager: AddPath() added to support more flexibility and path instantiation
    -iMove: added SetPath(), Stop() and Reset() methods, see documentation
    -Example_Runtime: new script to demonstrate combinations of those new methods


 
+ Reply to Thread
Page 1 of 5 1 2 3 ... LastLast