First look at a parkour system I have been messing with. The idea is that the system automatically detects the moves that fit within your level geometry meaning you can drop the system into your scene with zero or minimal configuration.
If an object is too wide it will be dived over instead of vaulted. If its too high for this it will be vaulted on to. Higher again and it will be climbed. If theres some overhaning branches in the way of a vault it wont vault, etc.
Some other notes
It already has key assignments (so you can for example use a keypress to choose between mutliple valid moves). I have an animator on the case to get some animations for fancier moves.
There will also be the ability to override automatic selection (in case you want a specific move to be used in a specific scenatio) and Iāll also be adding a quick time system.
Will be Mecanim only, and should be pretty easy to integrate in to your own animation controller⦠if Unity would expose the API it would be automatic
Initial release will work with Character Controller but its written with extensibly in mind so it should be relatively simple to merge with another controller. Over time Iād aim to integrate with popular packs.
Will include editor gizmos so you can easily see what your character is doing.
Works in Unity free but supports a few extra features for pro-users (animation curves for collider settings, IK for climbing).
On Jan 1 I start work on a major update for 2D Platfrom Controller, so the first release of this will either be done before then (probably not), or after thats finished.
thats cool. i bet you will win thingimabobs parkour game challengle.
one thing i noticed is that when you run off of an edge he sort of seems to walk on air until he gets to the ground. is there dismount type moves implemented?
Its using the Unity provided character controller for the basic walk/turn/etc. The aim is that it can work with any controller, but I might provide another one given Unityās is pretty average.
But yes, dismounts as well as obstacle to obstacle traversal will be included in the first release.
Wow dude that is intense! I couldnāt even begin to fathom how you managed to pull this off. And it will detect ANY game object? Do the gameobjects that the player will be able to interact with (vault over, climb, etc) have to be dragged into a GameObject variable in the inspector first? Or does this system just detect is all already?
Did you use Raycasting or something? Iām fascinated!
Any object with a collider. No dragging of extra components. Although Iām sure if you set out to trick it you could do so. It does aim to err on the side of caution so you might have some areas where you think you should be able to do a move but you canāt.
There will also be the concept of hint objects which will allow you to specify specific moves (or combinations of moves) that happen on a certain object. These will override any check the controller does. If you have complex geometry you might need to go through and add some āHintā objects.
At a high -level it uses sphere casts to check that the player can fit through gaps and things, and a combination of calculations and raycasts to determine where to place hands and feet.
Definitely interested in this. Were you thinking of using some objects as helper objects, a lot of parkour is also bouncing off walls to gain speed to be able to vault a bit higher, or using a small object to raise the level at which a jump starts? As is though it looks brilliant. Great work.
@NutellaDaddy - Price will be around $20. If it grows in complexity it might get a bit more expensive over time.
@sicga - You can use the hint system to tie together multiple objects in to complex moves. Iām not sure Iāll be able to set that up to be automatic. Maybe an in between would be ābranching hintsā from one object you can transition in to 2 or 3 moves (e.g. based on speed, angle, or keypress).
@JohnnyA - yes, of course. It would also be relatively easy to do wall walking as well. Anyway, the work youāve done is great, the amount of work that would be saved not having to figure out a system from first principles makes a asset like this a must have.
Hopefully I can get wall running as an automatic move which can then transition in to other moves without requiring hints. Iāve got some wall running and cat grab animations coming.
Will post a new video soon (hopefully within the hour) too.
The small issue on the feet position in the sideflip move is simply a settings problem (I haveāt correctly set the minimum distance to ledge, mainly because I dropped it into the kit 5 minutes before filming).
BTW What locomotion systems/assets should I integrate this with?
It is built to be added to any system (theoretically) but to do will require some configuration of animators (Unity doesnāt provide API access for this so I canāt make it automatic) as well as potentially a small amount of code. To help new users Iād like to integrate into some popular systems out of the box.
This is great stuff. Not only will you be responsible for my controller in 2d games but 3d games as well. Canāt wait to see the wall running in action
I have a lot of this working for Nightfall, one problem Iām hitting is how coupled the code is to an animation - for instance my āvaultā animation is used to vault over waist height objects, the problem is that if you wanted to swap out the animation for another it means youād have to adjust the target matching indexes (at least). Are you taking the same approach?
Yes, although its data not code. I donāt think thereās any reliable way to automatically determine the matching points for an arbitrary animation. Instead thereās an editor for easily setting the matching points (so for example a vault matches hands and feet landing position so it provides a slider between 0 and 1 with two indicators one for hand time and one for feet time).
Thereās also options to add new points, change bones, etc.