Skip to content

Latest commit

 

History

History
63 lines (33 loc) · 2.59 KB

File metadata and controls

63 lines (33 loc) · 2.59 KB

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.

create_protoramp.mp4

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.

use_gizmos.mp4

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!

modify_dimensions.mp4

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:

change_step_count.mp4

You can also use both!

change_step_count_2.mp4