@@ -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