The merge of main into test (fd39db8) was committed with conflict markers
still in the files, leaving rope_tether.gd and 3dlevel.tscn unparseable
while git reported a clean tree.
Both sides were competing full implementations of the tether rather than
overlapping edits, so every hunk had to go one way. Kept the test side:
elastic leash, kinematic tautening, haul drag and the mid-chain snap.
Dropped main's _constrain/_haul/_damp/_snap port and its tension_start,
pull_speed and snap_length exports. The two scene hunks followed from the
same choice, since the rope node's properties name exports that exist on
only one side.
Also drops rope_diag.gd, which came in with that commit and drives the
discarded API (can_snap, taut_margin).
Co-Authored-By: Claude Opus 5 <[email protected]>
71 lines
2.6 KiB
Plaintext
71 lines
2.6 KiB
Plaintext
[gd_scene format=3 uid="uid://4ajccsn6o10n"]
|
|
|
|
[ext_resource type="PackedScene" uid="uid://cbual4qbgv2fc" path="res://scenes/player.tscn" id="1_e2xum"]
|
|
[ext_resource type="Script" uid="uid://bvgm53qsm13tt" path="res://scripts/couch_camera.gd" id="1_epadm"]
|
|
[ext_resource type="PackedScene" uid="uid://x4xnc85khpl5" path="res://scenes/path_3d_rope.tscn" id="2_jetiq"]
|
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape3D_xcqlg"]
|
|
size = Vector3(40, 2, 5)
|
|
|
|
[sub_resource type="BoxMesh" id="BoxMesh_xcqlg"]
|
|
size = Vector3(40, 2, 5)
|
|
|
|
[sub_resource type="Curve3D" id="Curve3D_epadm"]
|
|
resource_local_to_scene = true
|
|
bake_interval = 512.0
|
|
_data = {
|
|
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5),
|
|
"tilts": PackedFloat32Array(0, 0)
|
|
}
|
|
point_count = 2
|
|
|
|
[node name="3Dlevel" type="Node3D" unique_id=1570360592]
|
|
|
|
[node name="StaticBody3D" type="StaticBody3D" parent="." unique_id=362192398]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" unique_id=351393792]
|
|
shape = SubResource("BoxShape3D_xcqlg")
|
|
|
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D" unique_id=336650218]
|
|
mesh = SubResource("BoxMesh_xcqlg")
|
|
|
|
[node name="CouchCamera" type="Camera3D" parent="." unique_id=2114757393]
|
|
transform = Transform3D(1, 0, 0, 0, 0.9961947, 0.08715574, 0, -0.08715574, 0.9961947, 0, 9, 23)
|
|
fov = 48.4
|
|
size = 50.0
|
|
script = ExtResource("1_epadm")
|
|
min_distance = 20.0
|
|
max_distance = 50.0
|
|
framing_offset = Vector3(0, 5, 0)
|
|
tether_path = NodePath("../Path3DRope")
|
|
tension_offset = 0.075
|
|
tension_roll = 0.008
|
|
tension_ramp = 6.0
|
|
|
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=716627405]
|
|
transform = Transform3D(1, 0, 0, 0, 0.25881907, 0.9659258, 0, -0.9659258, 0.25881907, 0, 0, 0)
|
|
shadow_enabled = true
|
|
|
|
[node name="Player1" parent="." unique_id=68487004 instance=ExtResource("1_e2xum")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.0015082, 1, 0)
|
|
|
|
[node name="Player2" parent="." unique_id=432105976 instance=ExtResource("1_e2xum")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.154851, 1, 0)
|
|
player_id = 2
|
|
|
|
[node name="Path3DRope" parent="." unique_id=301387047 instance=ExtResource("2_jetiq")]
|
|
curve = SubResource("Curve3D_epadm")
|
|
attach_start_path = NodePath("../Player1")
|
|
attach_end_path = NodePath("../Player2")
|
|
max_length = 4.0
|
|
elastic_stiffness = 20.0
|
|
haul_drag = 20.0
|
|
reel_speed = 2.0
|
|
number_of_segments = 16
|
|
cable_thickness = 0.05
|
|
fixed_start_point = false
|
|
|
|
[node name="SnapTimer" type="Timer" parent="Path3DRope" unique_id=1395149861]
|
|
one_shot = true
|