This addon will no longer require developers to add triggers manually for parkour actions: Step Up, Jump Over, Climb Up. Test on version 2.6.2c and 2.6.3
[Requires one of the following templates] Templates: - inVector Basic Locomotion - inVector Melee Combat - inVector Shooter
Default Settings that will be added to the selected prefab.
The ParkourTransform will be added as a child object and is required to cast all collision detection test.
Changelog:
(Updated Download Link 07/11/2023) - Moved download to itch.io for analytics.
(Update 07/06/2023) - vDynamicParkour-2023.1.1-rc1 added obstructionCheckDistance, this checks above the player to stop from climbing if there is an obstruction above the player.
(Release 07/05/2023) - vDynamicParkour-2023.1.0-rc1 Dynamicly look for parkour actions
Jump Over
Step Up
Climb
TODO:
Add Slide Action Detection
Add option to use Jump key to trigger action
Save the Generated Character Prefab during creation to the current folder selected.
Refactor collision checks, currently there are some limitations to the way the current ray cast work.
Last Edit: Jul 15, 2023 21:29:38 GMT by staticwave
I was having some issues out of the box with the targets being placed too high above the edge of the area we are climbing onto. I made some edits to use the function you commented out for finding the box height (CastRayAndGetHeight) and then used this height to align the trigger right to the top edge so that the target will be in the desired spot, and this is fixing it for me :-)
Still trying to figure out what all of the variables do though. Would be nice if there was a small comment on each one to help understand how it works. "Cimb Wallcheck Offset", "Downward Climb Up Raycast" etcetc., I can tinker with the values and see what's changing, but it takes a bit to understand why we need each part, and what it should be configured to.
Wall Check Raycast Distance (Red): This is the root of all casts it checks for wall contact and represents the maximum distance of the ray cast starting from the ParkourTransform in the player's forward direction. The current limitation is that it only works when the wall is solid or makes initial contact with an object matching the Collision Mask Layer. If this ray never makes contact, the rest of the rays will not trigger since they rely on the normal of the collision point. There are plans to update this to a sphere or capsule cast in the next iteration.
Upward Y Offset (Blue Ray): This ray is used to check where the object height ends and determines if the player can jump over or step up. The commented out method was intended to replace this limited behavior. sounds like you did exactly what I intended to do ^_^.
Downward Raycast Width: This is a wall width check that starts at the same place as the Upward Y Offset (Blue) Ray and then proceeds at the defined value offset in the player's forward direction.
Downward Raycast Distance: This ray is cast downward from the Upward Y Offset (Blue Ray) and then directed toward the floor. It is used to check for a floor or object collision on the other side of the wall and helps decide if the player can jump over the wall or step up.
Climb Y Offset: This marks the start of the climb logic and originates from the Parkour Transform.
Pink Ray: Used to check if the wall height is short enough to climb. If this ray collides with a wall, another ray (white) is used to verify if the wall is clear to climb.
Orange Ray: Used to check for any objects blocking above the player's head.
White Ray: Used to ensure there is enough free space for the player to stand after climbing.
Downward Climb Up Raycast Distance (Black Ray): Used to check if there is a floor to stand on after climbing.
These mechanisms will be modified and improved in the next update for clarity and cleanliness.
I just finished up a 48 hour game jam and saw this before passing out .. I hope this makes sense and helps a little bit. When i get back from vacation in about a week and a half i will start making the updates and fixing edge cases.
.. I hope this makes sense and helps a little bit.
Yes that was great info! Thank you. I got it working enough to make me happy for now, but I will check in later and see how this is progressing. Thanks again!