Compare commits
1 commit
a3cbb44571
...
dc706de0e2
Author | SHA1 | Date | |
---|---|---|---|
dc706de0e2 |
2 changed files with 76 additions and 21 deletions
|
@ -39,13 +39,14 @@ func _ready():
|
|||
|
||||
func _physics_process(delta):
|
||||
submerged = false
|
||||
for p in probes:
|
||||
if p.visible == true:
|
||||
var depth = ocean.get_water_level(p.global_position) - p.global_position.y
|
||||
if depth > 0:
|
||||
submerged = true
|
||||
apply_force(Vector3.UP * float_force * gravity * depth, p.global_position - global_position)
|
||||
#print("Applying force: "+str(Vector3.UP * float_force * gravity * depth)+" at "+ str(p.position) +"("+str(p)+")")
|
||||
if probes.size() != 0.0 && ocean != null:
|
||||
for p in probes:
|
||||
if p.visible == true:
|
||||
var depth = ocean.get_water_level(p.global_position) - p.global_position.y
|
||||
if depth > 0:
|
||||
submerged = true
|
||||
apply_force(Vector3.UP * float_force * gravity * depth, p.global_position - global_position)
|
||||
#print("Applying force: "+str(Vector3.UP * float_force * gravity * depth)+" at "+ str(p.position) +"("+str(p)+")")
|
||||
|
||||
## Code for user-input movement
|
||||
apply_central_force(self.global_transform.basis.x.normalized() * Vector3(1, 0, 1) * thrust_force * delta)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://babgqvkugifk1"]
|
||||
[gd_scene load_steps=9 format=3 uid="uid://babgqvkugifk1"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://du135dtrpwm7o" path="res://boat/WalkableBoat.gd" id="1_ml88t"]
|
||||
[ext_resource type="PackedScene" uid="uid://bcdjvsj0la72h" path="res://boat/source/untitled.fbx" id="2_enlnh"]
|
||||
|
@ -12,47 +12,101 @@ func _process(_delta):
|
|||
global_rotation = Vector3()
|
||||
"
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_ml88t"]
|
||||
size = Vector3(7.26611, 1, 4.59143)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_vvssr"]
|
||||
size = Vector3(6.72084, 1, 4.55835)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_enlnh"]
|
||||
size = Vector3(1.5252, 0.507935, 1)
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_kgk83"]
|
||||
radius = 0.05
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_ltyy5"]
|
||||
radius = 0.05
|
||||
height = 0.1
|
||||
|
||||
[node name="Boat" type="RigidBody3D"]
|
||||
mass = 10.0
|
||||
script = ExtResource("1_ml88t")
|
||||
|
||||
[node name="Node3D" type="Node3D" parent="."]
|
||||
[node name="CamRoot" type="Node3D" parent="."]
|
||||
script = SubResource("GDScript_enlnh")
|
||||
|
||||
[node name="SpringArm3D" type="SpringArm3D" parent="Node3D"]
|
||||
[node name="SpringArm3D" type="SpringArm3D" parent="CamRoot"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.893285, 0.449491, 0, -0.449491, 0.893285, 0, 0.350159, 0)
|
||||
spring_length = 2.255
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="Node3D/SpringArm3D"]
|
||||
[node name="Camera3D" type="Camera3D" parent="CamRoot/SpringArm3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.107117, 0.323316, 2.70191)
|
||||
|
||||
[node name="untitled" parent="." instance=ExtResource("2_enlnh")]
|
||||
[node name="BoatModel" parent="." instance=ExtResource("2_enlnh")]
|
||||
transform = Transform3D(-0.1, 0, -1.50996e-08, 0, 0.1, 0, 1.50996e-08, 0, -0.1, 0, -0.169637, 0)
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="BoatModel"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.07084, 0)
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BoatModel/StaticBody3D"]
|
||||
transform = Transform3D(0.980683, 0.195604, -2.91679e-09, -0.195604, 0.980683, -2.95354e-08, -2.91681e-09, 2.95354e-08, 1, -2.4417, 0, -0.221802)
|
||||
shape = SubResource("BoxShape3D_ml88t")
|
||||
debug_color = Color(0.957204, 0, 0.533834, 0.42)
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="BoatModel/StaticBody3D"]
|
||||
transform = Transform3D(0.981846, -0.189678, 1.31729e-07, -1.42446e-07, -4.2867e-08, 1, -0.189678, -0.981846, -6.91077e-08, -2.36454, 0.402162, -2.72342)
|
||||
shape = SubResource("BoxShape3D_ml88t")
|
||||
debug_color = Color(0.957204, 0, 0.533834, 0.42)
|
||||
|
||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="BoatModel/StaticBody3D"]
|
||||
transform = Transform3D(0.981627, 0.190809, 8.34053e-09, 0, -4.37114e-08, 1, 0.190809, -0.981627, -4.29083e-08, -2.36454, 0.402162, 2.42477)
|
||||
shape = SubResource("BoxShape3D_ml88t")
|
||||
debug_color = Color(0.957204, 0, 0.533834, 0.42)
|
||||
|
||||
[node name="CollisionShape3D4" type="CollisionShape3D" parent="BoatModel/StaticBody3D"]
|
||||
transform = Transform3D(-0.0105242, 0.999945, 4.3709e-08, -3.0245e-16, -4.37114e-08, 1, 0.999945, 0.0105242, 4.60025e-10, -6.39777, 0.645692, 0.0886937)
|
||||
shape = SubResource("BoxShape3D_vvssr")
|
||||
debug_color = Color(0.957204, 0, 0.533834, 0.42)
|
||||
|
||||
[node name="CollisionShape3D5" type="CollisionShape3D" parent="BoatModel/StaticBody3D"]
|
||||
transform = Transform3D(-0.0105242, 0.999945, 4.3709e-08, -3.0245e-16, -4.37114e-08, 1, 0.999945, 0.0105242, 4.60025e-10, 1.40167, 1.45173, -0.401093)
|
||||
shape = SubResource("BoxShape3D_vvssr")
|
||||
debug_color = Color(0.957204, 0, 0.533834, 0.42)
|
||||
|
||||
[node name="ProbeContainer" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.105972, 0)
|
||||
|
||||
[node name="Cale2" type="Marker3D" parent="ProbeContainer"]
|
||||
[node name="CaleR" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.25)
|
||||
|
||||
[node name="Cale7" type="Marker3D" parent="ProbeContainer"]
|
||||
[node name="CaleL" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.25)
|
||||
|
||||
[node name="Cale3" type="Marker3D" parent="ProbeContainer"]
|
||||
[node name="ProueL" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.507, 0, -0.2)
|
||||
|
||||
[node name="Cale5" type="Marker3D" parent="ProbeContainer"]
|
||||
[node name="ProueR" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.507, 0, 0.2)
|
||||
|
||||
[node name="Cale4" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.568, 0, 0.25)
|
||||
[node name="PoupeR" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.568, 0.0932905, 0.25)
|
||||
|
||||
[node name="Cale6" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.568, 0, -0.25)
|
||||
[node name="PoupeL" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.568, 0.0932905, -0.25)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
[node name="FloatingSimBody" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00595701, 0.251318, 0)
|
||||
shape = SubResource("BoxShape3D_enlnh")
|
||||
|
||||
[node name="RigidBody3D" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, 0.0648061, 0.516984, 0)
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="RigidBody3D"]
|
||||
shape = SubResource("SphereShape3D_kgk83")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="RigidBody3D"]
|
||||
mesh = SubResource("SphereMesh_ltyy5")
|
||||
|
|
Loading…
Reference in a new issue