MagicNStuff/source/addons/proto_shape/proto_ramp/README.md
SchimmelSpreu83 2a60380258 Added Plugins
- ProtoShape
- StairsCharacter (GDExtension)
- TODO Manager
- 3D Cursor
2025-09-21 23:42:15 +02:00

2.6 KiB

ProtoRamp

ProtoRamp is a dynamic ramp/staircase shape based on Godot's Constructive Solid Geometry (CSG). It is designed to be used for prototyping levels and game mechanics.

Usage

Create a ProtoRamp

When adding a new child node, search for ProtoRamp and add it to the scene.

https://github.com/HLCaptain/proto-shape/assets/22623259/bccfb0e7-6799-4a94-82c4-84e5aa9d9563

Since 1.1.4, ProtoRamp node is now independent from CSGShape3D base class for correct shape generation.

Use Gizmos

ProtoRamp supports custom gizmos to adjust the shape.

https://github.com/HLCaptain/proto-shape/assets/22623259/1db3f18d-4d90-400f-9d33-7b03d44f62c7

Undo/Redo

You can also undo/redo changes made with the gizmos.

Enable collisions and bake Navigation Meshes

ProtoRamp supports navigation mesh generation. It also features a toggle to enable collisions (aqua blue if enabled).

Navigation mesh on ProtoRamp

ProtoRampGizmos

Gizmo functionality is delegated to ProtoRampGizmos. It is a helper class that provides gizmo functionality for the ProtoRamp node, which only gets instantiated in the editor. This way, the packaged game will not rely on any editor-plugin specific code.

Engine.is_editor_hint() is used in ProtoRamp itself to check if the game is running in the editor. If it is, the ProtoRampGizmos class is instantiated and added as a child node to the ProtoRamp node.

Adjust parameters

Modify height, width, depth, anchor position and more!

https://github.com/HLCaptain/proto-shape/assets/22623259/cee061ee-5c15-4e56-9c48-6eedb77409db

Grid snapping

Grid snapping is supported for ProtoRamp since 1.1.3! Holding down Ctrl enables regular snapping by 1.0 units (ramp size, not node scale unit), while holding down Ctrl + Shift enables fine snapping by 0.1 units.

Change step counts in multiple ways

There are two ways of changing the step count:

  • Fitting into Staircase dimensions: current width-height-depth of the staircase is respected, step dimensions will adjust.
  • Using Step dimensions as a base: step dimensions are constant, staircase will shrink or grow to fit the steps.

Fitting in more steps:

https://github.com/HLCaptain/proto-shape/assets/22623259/f14dd269-fa6b-4ee7-a195-23d64c7cb15a

You can also use both!

https://github.com/HLCaptain/proto-shape/assets/22623259/1fdcc87e-3231-4c03-bc8f-ab0252557574