Edit of asset "Stair-stepping Demo" Accepted

Old/Current New/Edit
Title Stair-stepping Demo Stair-stepping Demo
Description Changelog:
• v2.0 - No longer uses raycasts for stair-stepping and instead uses body_test_motion exclusively. See description below for more detail.


A demonstration of character stair-stepping without using Separation Rays.

While Separation Rays are recommended, they tend to be very buggy with default Godot Physics and do not work at all with the Jolt Physics Addon. This implementation utilizes the PhysicsServer3D's body_test_motion instead to test for collisions using a copy of the player's collision shape, meaning that this is compatible with any collision shape. Along with this, you are able to change how far up the player can step (Max step up) and how far the player can step down (Max step down).

Note that this uses Jolt Physics instead of the default Godot Physics. While Godot Physics works, there are a few minor issues with player collisions that cause jittering and prevent players from moving in certain circumstances (see notes in player controller script). Jolt Physics is not observed to have these issues, and is preferred.

Controls:
• WASD - Movement
• Space - Jump (press), Fly (hold)
• ESC - Mouse capture toggle
• ~ / Tilde - Debug menu toggle

Features:
• Stair-stepping with customizable step up and step down heights
• Basic first-person camera smoothing
• Cool test map (objective)


Note that the video is slightly outdated as it showcases the 1.0 implementation with raycasts.
To enable the debug view for collisions, go to the top bar, click "Debug", and enable "Visible Collision Shapes".

Link to Godot Jolt addon: https://godotengine.org/asset-library/asset/1918
Link to PhysicsServer3D body_test_motion doc for more info: https://docs.godotengine.org/en/stable/classes/class_physicsserver3d.html#class-physicsserver3d-method-body-test-motion
A demonstration of character stair-stepping without using Separation Rays.

Utilizes raycasts and body_test_moves to get step heights, avoid walls, avoid steep slopes, and translate the player up a step.

Note that this uses Jolt Physics (https://github.com/godot-jolt/godot-jolt) instead of the default Godot Physics. While Godot Physics works, there are a few minor issues with player collisions that cause jittering and prevent players from moving in certain circumstances (see notes in player controller script). Jolt Physics is not observed to have these issues, and is preferred.

Controls:
WASD - Movement
Space - Jump (press), Fly (hold)
ESC - Mouse capture toggle
~ / Tilde - Debug menu toggle

Features:
- Stair-stepping with customizable step height
- Basic first-person camera smoothing
- Cool test map

To enable the debug view for collisions, go to the top bar, click "Debug", and enable "Visible Collision Shapes".
Category Demos Demos
License MIT MIT
Repository Provider GitHub GitHub
Repository Url https://github.com/JheKWall/Godot-Stair-Step-Demo https://github.com/JheKWall/Godot-Stair-Step-Demo
Issues Url https://github.com/JheKWall/Godot-Stair-Step-Demo/issues https://github.com/JheKWall/Godot-Stair-Step-Demo/issues
Godot version Godot 4.2 Godot 4.2
Version String 2.0 1.0
Download Commit df917f0b309308cf6f462247d92f3adcffe312af c79e130a15613bbd72221f6c500e5e9a34565966
Download Url (Computed) https://github.com/JheKWall/Godot-Stair-Step-Demo/archive/df917f0b309308cf6f462247d92f3adcffe312af.zip https://github.com/JheKWall/Godot-Stair-Step-Demo/archive/c79e130a15613bbd72221f6c500e5e9a34565966.zip
Icon Url https://i.imgur.com/BZHEkTp.png
https://i.imgur.com/BZHEkTp.png
Preview Insert
Type image
Image/Video URL https://i.imgur.com/94SG4Od.png
Thumbnail
Preview Insert
Type video
Image/Video URL https://youtu.be/FjD-Ndx8mBk
Thumbnail https://i.imgur.com/im1NbPH.png