Skip to content

Commit 05a504e

Browse files
committed
Restructure properties into groups
1 parent 5c115ce commit 05a504e

1 file changed

Lines changed: 29 additions & 21 deletions

File tree

demo/addons/ropesim/Rope.gd

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,6 @@ signal on_point_count_changed()
2323
## Overall rope length. Will be distributed uniformly among all segments.
2424
@export var rope_length: float = 100: set = _set_length
2525

26-
## Maximum euclidean distance between rope endpoints. Zero or negative for no limitation.
27-
## This is an approximation and not 100% accurate.
28-
## It is intended as a simple way to constraint the rope length when both endpoints are fixed by a RopeHandle.
29-
## The actual length of the rope might differ depending on the number of constraint iterations.
30-
## Fixed points in between are not taken into account.
31-
@export var max_endpoint_distance: float = -1
32-
33-
## If [member Rope.max_endpoint_distance] is set, contract the rope towards the first point.
34-
## If [member Rope.resolve_to_end] is set as well or if neither is set, the rope gets contracted
35-
## towards the center.
36-
## [member Rope.fixate_begin] will always take precedence over this property.
37-
@export var resolve_to_begin: bool = false
38-
39-
## If [member Rope.max_endpoint_distance] is set, contract the rope towards the last point.
40-
## If [member Rope.resolve_to_begin] is set as well or if neither is set, the rope gets contracted
41-
## towards the center.
42-
## [member Rope.fixate_begin] will always take precedence over this property.
43-
@export var resolve_to_end: bool = false
44-
4526
## (Optional) Allows to distribute the length of rope segment in a non-uniform manner.
4627
## Useful when certain parts of the rope should be more detailed than the rest.
4728
## For example, if it is known that most movement happens at the beginning of the rope, a curve with
@@ -66,12 +47,37 @@ signal on_point_count_changed()
6647
## (Optional) Apply different amounts of damping along the rope.
6748
@export var damping_curve: Curve
6849

69-
## Constraints the rope to its intended length. Less constraint iterations effectively makes the rope more elastic.
70-
@export_range(0, 1000) var num_constraint_iterations: int = 10
50+
51+
@export_group("Constraint")
7152

7253
## Whether to fixate the first point at the rope's node position.
7354
@export var fixate_begin: bool = true
7455

56+
## Maximum euclidean distance between rope endpoints. Zero or negative for no limitation.
57+
## This is an approximation and not 100% accurate.
58+
## It is intended as a simple way to constraint the rope length when both endpoints are fixed by a RopeHandle.
59+
## The actual length of the rope might differ depending on the number of constraint iterations.
60+
## Fixed points in between are not taken into account.
61+
@export var max_endpoint_distance: float = -1
62+
63+
## If [member Rope.max_endpoint_distance] is set, contract the rope towards the first point.
64+
## If [member Rope.resolve_to_end] is set as well or if neither is set, the rope gets contracted
65+
## towards the center.
66+
## [member Rope.fixate_begin] will always take precedence over this property.
67+
@export var resolve_to_begin: bool = false
68+
69+
## If [member Rope.max_endpoint_distance] is set, contract the rope towards the last point.
70+
## If [member Rope.resolve_to_begin] is set as well or if neither is set, the rope gets contracted
71+
## towards the center.
72+
## [member Rope.fixate_begin] will always take precedence over this property.
73+
@export var resolve_to_end: bool = false
74+
75+
## Constraints the rope to its intended length. Less constraint iterations effectively makes the rope more elastic.
76+
@export_range(0, 1000) var num_constraint_iterations: int = 10
77+
78+
79+
@export_group("Rendering")
80+
7581
## Render rope points and collision radius for debugging purposes.
7682
@export var render_debug: bool = false: set = _set_draw_debug
7783

@@ -87,6 +93,7 @@ signal on_point_count_changed()
8793
## Color gradient along the rendered line.
8894
@export var color_gradient: Gradient: set = _set_gradient
8995

96+
9097
@export_group("Collisions")
9198

9299
## Enable collisions with physics bodies.
@@ -103,6 +110,7 @@ signal on_point_count_changed()
103110

104111
## Velocity damping after collisions. Gets applied in addition to regular damping.
105112
## Allows to make the rope appear smoother or rougher, i.e. make it slide more or less.
113+
## Negative values make it more slippery.
106114
@export var collision_damping: float = 0.0
107115

108116
## Resolves collisions after each constraint iteration instead of once after the constraint step.

0 commit comments

Comments
 (0)