Automatic Acrobatic - Parkour System

Automatic Acrobatic

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 :slight_smile:

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.

2 Likes

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.

  • John A

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.

1 Like

Similar to previous but showing a little more complex geometry and also the first incarnation of dimsounting objects (needs some more animations :slight_smile: ):

**Grr seems my video didn’t work… stay tuned.

This is epic!!

This looks like some high quality stuff and I would use as is! What will be the price range for this amazing piece?

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.

Hi guys, didn’t see that anyone had commented.

@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.

[/CENTER]

Another video with a few more features.

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.

Would love to know what you are using.

Just, wow, it looks amazing! Love it!

Just a little bump, not much to report (did add a few more ledge drop actions). Hopefully a new video in a week or so.

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 :slight_smile:

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.

1 Like

Hey is that a character model? Or is it Unity’s primitives all slapped together (I wanted to know if that was possible)

The model in the sample is the Mecanim model from Unity’s Tech demos.