diff --git a/.gitattributes b/.gitattributes
index 8ad74f7..3dc56b8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,3 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf
+*.psd filter=lfs diff=lfs merge=lfs -text
diff --git a/Boats/boat.gd b/Boats/boat.gd
index 43dceda..c831b45 100644
--- a/Boats/boat.gd
+++ b/Boats/boat.gd
@@ -1,7 +1,10 @@
+@icon("uid://3ugrjpybrl4e")
extends RigidBody3D
class_name Boat
+
+
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
diff --git a/Boats/buyancy_probe.gd b/Boats/buyancy_probe.gd
index c6db846..99e316b 100644
--- a/Boats/buyancy_probe.gd
+++ b/Boats/buyancy_probe.gd
@@ -1,3 +1,5 @@
+@icon("uid://ck86evu4iyhyg")
+@tool
extends Marker3D
class_name BuyancyProbe
@@ -21,6 +23,8 @@ var height_scale: float
@onready var OceanNode:Ocean = get_tree().get_first_node_in_group("Ocean")
var Oceantime:float
+@onready var parentRigid:RigidBody3D = get_parent()
+
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
if ocean_mat != null:
@@ -34,13 +38,18 @@ func _ready() -> void:
sphere_preview.mesh = debug_sphere
func _physics_process(_delta: float) -> void:
- var depth = get_wave_height(global_position,Oceantime) - global_position.y
- #print(depth)
- if depth > 0.0 && get_parent() != null:
- var parentRigid = get_parent()
- var float_force = parentRigid.mass * float_strength
- parentRigid.apply_force(Vector3.UP * clamp(gravity * depth * float_force,-max_float_force,max_float_force) ,global_position-parentRigid.global_position)
-
+ if not Engine.is_editor_hint():
+ var depth = get_wave_height(global_position,Oceantime) - global_position.y
+ #print(depth)
+ if depth > 0.0 && parentRigid != null:
+ var float_force = parentRigid.mass * float_strength
+ parentRigid.gravity_scale = 0.3
+ parentRigid.angular_damp = 5.0
+ parentRigid.apply_force(Vector3.UP * clamp(gravity * depth * float_force,-max_float_force,max_float_force) ,global_position-parentRigid.global_position)
+ else:
+ parentRigid.gravity_scale = 1.0
+ parentRigid.angular_damp = 0.0
+
func _process(_delta: float) -> void:
if OceanNode != null:
Oceantime = OceanNode.wave_time
@@ -66,3 +75,9 @@ func update_param():
noise_scale = ocean_mat.get_shader_parameter("noise_scale")
wave_speed = ocean_mat.get_shader_parameter("wave_speed")
height_scale = ocean_mat.get_shader_parameter("height_scale")
+
+func _get_configuration_warnings():
+ var warnings = []
+ if get_parent() is not RigidBody3D:
+ warnings.append("This node need to be a direct child of a RigidBody3D")
+ return warnings
diff --git a/Ocean/OceanShader_Calm.tres b/Ocean/OceanShader_Calm.tres
index 3f6ea11..de8f8b2 100644
--- a/Ocean/OceanShader_Calm.tres
+++ b/Ocean/OceanShader_Calm.tres
@@ -52,7 +52,7 @@ shader_parameter/roughness = 0.02
shader_parameter/texture_normal = SubResource("NoiseTexture2D_d50os")
shader_parameter/texture_normal2 = SubResource("NoiseTexture2D_ca8p6")
shader_parameter/wave = SubResource("NoiseTexture2D_cuet1")
-shader_parameter/wave_time = 25.0167
+shader_parameter/wave_time = 46.1837
shader_parameter/wave_direction = Vector2(2, 0)
shader_parameter/wave_2_direction = Vector2(0, 0.9)
shader_parameter/time_scale = 0.02
diff --git a/Ocean/WeatherManager.gd b/Ocean/WeatherManager.gd
index de6fbb2..e162030 100644
--- a/Ocean/WeatherManager.gd
+++ b/Ocean/WeatherManager.gd
@@ -1,3 +1,4 @@
+@icon("uid://ckjj2o5jcfcy")
extends Node
class_name WeatherManager
diff --git a/Ocean/ocean.gd b/Ocean/ocean.gd
index d15509d..e1d6a86 100644
--- a/Ocean/ocean.gd
+++ b/Ocean/ocean.gd
@@ -1,4 +1,5 @@
@tool
+@icon("uid://nwanoqn5yas8")
extends Node3D
class_name Ocean
diff --git a/OpenWorld.tscn b/OpenWorld.tscn
index eafdc15..c9e0451 100644
--- a/OpenWorld.tscn
+++ b/OpenWorld.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=14 format=3 uid="uid://bhwuawppmqk4"]
+[gd_scene load_steps=15 format=3 uid="uid://bhwuawppmqk4"]
[ext_resource type="Script" uid="uid://cdnrxp6nu1wor" path="res://Ocean/ocean.gd" id="1_xncsh"]
[ext_resource type="PlaneMesh" uid="uid://wes0mbjy8mno" path="res://Ocean/OceanTile_PlaneMesh_Main.tres" id="2_7sjql"]
@@ -6,6 +6,7 @@
[ext_resource type="PlaneMesh" uid="uid://c82xwqk7ljku0" path="res://Ocean/OceanTile_PlaneMesh_Far.tres" id="3_spien"]
[ext_resource type="Script" uid="uid://cnfkxclrq0i0s" path="res://Boats/buyancy_probe.gd" id="5_spien"]
[ext_resource type="Script" uid="uid://3ympc26kcuul" path="res://Ocean/WeatherManager.gd" id="6_kisq7"]
+[ext_resource type="Script" uid="uid://cjo6l2ykgvn4e" path="res://Boats/boat.gd" id="7_0g14k"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_xncsh"]
sky_top_color = Color(0.191699, 0.357914, 1, 1)
@@ -53,635 +54,590 @@ script = ExtResource("1_xncsh")
metadata/_custom_type_script = "uid://cdnrxp6nu1wor"
metadata/_edit_lock_ = true
-[node name="OceanTile25" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile00" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile26" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile01" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile27" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile02" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -10)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile28" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile03" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, 0)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile29" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile04" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, 10)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile30" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile05" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, 20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile31" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile06" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, 30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile32" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile07" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 0, -30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile33" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile08" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 0, -20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile34" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile09" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 0, -10)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile35" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile10" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 0, 0)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile36" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile11" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 0, 10)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile37" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile12" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 0, 20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile38" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile13" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 0, 30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile39" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile14" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile40" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile15" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile41" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile16" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -10)
mesh = ExtResource("2_ydaaq")
-metadata/_edit_lock_ = true
-[node name="OceanTile42" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile17" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, 0)
mesh = ExtResource("2_ydaaq")
-metadata/_edit_lock_ = true
-[node name="OceanTile43" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile18" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, 10)
mesh = ExtResource("2_ydaaq")
-metadata/_edit_lock_ = true
-[node name="OceanTile44" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile19" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, 20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile45" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile20" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, 30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile46" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile21" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile47" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile22" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile48" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile23" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10)
mesh = ExtResource("2_ydaaq")
-metadata/_edit_lock_ = true
-[node name="OceanTile49" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile24" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
mesh = ExtResource("2_7sjql")
-metadata/_edit_lock_ = true
-[node name="OceanTile50" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile25" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10)
mesh = ExtResource("2_ydaaq")
-metadata/_edit_lock_ = true
-[node name="OceanTile51" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile26" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile52" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile27" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile53" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile28" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, -30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile54" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile29" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, -20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile55" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile30" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, -10)
mesh = ExtResource("2_ydaaq")
-metadata/_edit_lock_ = true
-[node name="OceanTile56" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile31" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 0)
mesh = ExtResource("2_ydaaq")
-metadata/_edit_lock_ = true
-[node name="OceanTile57" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile32" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 10)
mesh = ExtResource("2_ydaaq")
-metadata/_edit_lock_ = true
-[node name="OceanTile58" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile33" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile59" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile34" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile60" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile35" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, -30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile61" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile36" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, -20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile62" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile37" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, -10)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile63" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile38" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 0)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile64" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile39" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 10)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile65" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile40" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile66" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile41" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile67" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile42" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, -30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile68" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile43" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, -20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile69" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile44" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, -10)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile70" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile45" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 0)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile71" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile46" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 10)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile72" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile47" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 20)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="OceanTile73" type="MeshInstance3D" parent="Ocean"]
+[node name="OceanTile48" type="MeshInstance3D" parent="Ocean" groups=["OceanTiles"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 30)
mesh = ExtResource("3_spien")
-metadata/_edit_lock_ = true
-[node name="Boat" type="RigidBody3D" parent="."]
+[node name="Props" type="RigidBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.331476, 2.65347)
mass = 10.0
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Boat"]
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Props"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0588136, 0)
mesh = SubResource("BoxMesh_spien")
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Boat"]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Props"]
shape = SubResource("BoxShape3D_kisq7")
-[node name="BuyancyProbe" type="Marker3D" parent="Boat"]
+[node name="BuyancyProbe" type="Marker3D" parent="Props"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -0.5, 2)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe2" type="Marker3D" parent="Boat"]
+[node name="BuyancyProbe2" type="Marker3D" parent="Props"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, -0.5, -2)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe3" type="Marker3D" parent="Boat"]
+[node name="BuyancyProbe3" type="Marker3D" parent="Props"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, -0.5, 2)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe4" type="Marker3D" parent="Boat"]
+[node name="BuyancyProbe4" type="Marker3D" parent="Props"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -0.5, -2)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="Boat2" type="RigidBody3D" parent="."]
+[node name="Props2" type="RigidBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.6813, 0.331476, 0.403838)
mass = 10.0
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Boat2"]
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Props2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0588136, 0)
mesh = SubResource("BoxMesh_spien")
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Boat2"]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Props2"]
shape = SubResource("BoxShape3D_kisq7")
-[node name="BuyancyProbe" type="Marker3D" parent="Boat2"]
+[node name="BuyancyProbe" type="Marker3D" parent="Props2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -0.5, 2)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe2" type="Marker3D" parent="Boat2"]
+[node name="BuyancyProbe2" type="Marker3D" parent="Props2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, -0.5, -2)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe3" type="Marker3D" parent="Boat2"]
+[node name="BuyancyProbe3" type="Marker3D" parent="Props2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, -0.5, 2)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe4" type="Marker3D" parent="Boat2"]
+[node name="BuyancyProbe4" type="Marker3D" parent="Props2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -0.5, -2)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="Boat3" type="RigidBody3D" parent="."]
+[node name="Props3" type="RigidBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.0411781, -0.999152, 0, 0.999152, 0.0411781, 0.938181, 0.543982, -10.4465)
mass = 2.0
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Boat3"]
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Props3"]
mesh = SubResource("BoxMesh_kisq7")
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Boat3"]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Props3"]
shape = SubResource("BoxShape3D_0g14k")
-[node name="BuyancyProbe" type="Marker3D" parent="Boat3"]
+[node name="BuyancyProbe" type="Marker3D" parent="Props3"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe2" type="Marker3D" parent="Boat3"]
+[node name="BuyancyProbe2" type="Marker3D" parent="Props3"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe3" type="Marker3D" parent="Boat3"]
+[node name="BuyancyProbe3" type="Marker3D" parent="Props3"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe4" type="Marker3D" parent="Boat3"]
+[node name="BuyancyProbe4" type="Marker3D" parent="Props3"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="Boat4" type="RigidBody3D" parent="."]
+[node name="Props4" type="RigidBody3D" parent="."]
transform = Transform3D(0.676837, -0.735508, -0.0303125, 0, 0.0411781, -0.999152, 0.736133, 0.676263, 0.0278709, 3.69887, 0.543982, -9.62207)
mass = 2.0
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Boat4"]
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Props4"]
mesh = SubResource("BoxMesh_kisq7")
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Boat4"]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Props4"]
shape = SubResource("BoxShape3D_0g14k")
-[node name="BuyancyProbe" type="Marker3D" parent="Boat4"]
+[node name="BuyancyProbe" type="Marker3D" parent="Props4"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe2" type="Marker3D" parent="Boat4"]
+[node name="BuyancyProbe2" type="Marker3D" parent="Props4"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe3" type="Marker3D" parent="Boat4"]
+[node name="BuyancyProbe3" type="Marker3D" parent="Props4"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe4" type="Marker3D" parent="Boat4"]
+[node name="BuyancyProbe4" type="Marker3D" parent="Props4"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="Boat5" type="RigidBody3D" parent="."]
+[node name="Props5" type="RigidBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.0411781, -0.999152, 0, 0.999152, 0.0411781, 4.62591, 0.543982, 2.98498)
mass = 5.0
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Boat5"]
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Props5"]
mesh = SubResource("BoxMesh_kisq7")
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Boat5"]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Props5"]
shape = SubResource("BoxShape3D_0g14k")
-[node name="BuyancyProbe" type="Marker3D" parent="Boat5"]
+[node name="BuyancyProbe" type="Marker3D" parent="Props5"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe2" type="Marker3D" parent="Boat5"]
+[node name="BuyancyProbe2" type="Marker3D" parent="Props5"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe3" type="Marker3D" parent="Boat5"]
+[node name="BuyancyProbe3" type="Marker3D" parent="Props5"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe4" type="Marker3D" parent="Boat5"]
+[node name="BuyancyProbe4" type="Marker3D" parent="Props5"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="Boat6" type="RigidBody3D" parent="."]
+[node name="Props6" type="RigidBody3D" parent="."]
transform = Transform3D(0.676837, -0.735508, -0.0303125, 0, 0.0411781, -0.999152, 0.736133, 0.676263, 0.0278709, 7.3866, 0.543982, 3.8094)
mass = 5.0
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Boat6"]
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Props6"]
mesh = SubResource("BoxMesh_kisq7")
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Boat6"]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Props6"]
shape = SubResource("BoxShape3D_0g14k")
-[node name="BuyancyProbe" type="Marker3D" parent="Boat6"]
+[node name="BuyancyProbe" type="Marker3D" parent="Props6"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe2" type="Marker3D" parent="Boat6"]
+[node name="BuyancyProbe2" type="Marker3D" parent="Props6"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe3" type="Marker3D" parent="Boat6"]
+[node name="BuyancyProbe3" type="Marker3D" parent="Props6"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe4" type="Marker3D" parent="Boat6"]
+[node name="BuyancyProbe4" type="Marker3D" parent="Props6"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="Boat7" type="RigidBody3D" parent="."]
+[node name="Props7" type="RigidBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.0411781, -0.999152, 0, 0.999152, 0.0411781, 4.62591, 0.543982, -13.9738)
mass = 2.0
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Boat7"]
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Props7"]
mesh = SubResource("BoxMesh_kisq7")
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Boat7"]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Props7"]
shape = SubResource("BoxShape3D_0g14k")
-[node name="BuyancyProbe" type="Marker3D" parent="Boat7"]
+[node name="BuyancyProbe" type="Marker3D" parent="Props7"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe2" type="Marker3D" parent="Boat7"]
+[node name="BuyancyProbe2" type="Marker3D" parent="Props7"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe3" type="Marker3D" parent="Boat7"]
+[node name="BuyancyProbe3" type="Marker3D" parent="Props7"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe4" type="Marker3D" parent="Boat7"]
+[node name="BuyancyProbe4" type="Marker3D" parent="Props7"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="Boat8" type="RigidBody3D" parent="."]
+[node name="Props8" type="RigidBody3D" parent="."]
transform = Transform3D(0.676837, -0.735508, -0.0303125, 0, 0.0411781, -0.999152, 0.736133, 0.676263, 0.0278709, 7.3866, 0.543982, -13.1494)
mass = 2.0
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Boat8"]
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Props8"]
mesh = SubResource("BoxMesh_kisq7")
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Boat8"]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Props8"]
shape = SubResource("BoxShape3D_0g14k")
-[node name="BuyancyProbe" type="Marker3D" parent="Boat8"]
+[node name="BuyancyProbe" type="Marker3D" parent="Props8"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe2" type="Marker3D" parent="Boat8"]
+[node name="BuyancyProbe2" type="Marker3D" parent="Props8"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe3" type="Marker3D" parent="Boat8"]
+[node name="BuyancyProbe3" type="Marker3D" parent="Props8"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe4" type="Marker3D" parent="Boat8"]
+[node name="BuyancyProbe4" type="Marker3D" parent="Props8"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="Boat9" type="RigidBody3D" parent="."]
+[node name="Props9" type="RigidBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.0411781, -0.999152, 0, 0.999152, 0.0411781, -24.7833, 0.543982, 20.1903)
mass = 2.0
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Boat9"]
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Props9"]
mesh = SubResource("BoxMesh_kisq7")
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Boat9"]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Props9"]
shape = SubResource("BoxShape3D_0g14k")
-[node name="BuyancyProbe" type="Marker3D" parent="Boat9"]
+[node name="BuyancyProbe" type="Marker3D" parent="Props9"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe2" type="Marker3D" parent="Boat9"]
+[node name="BuyancyProbe2" type="Marker3D" parent="Props9"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe3" type="Marker3D" parent="Boat9"]
+[node name="BuyancyProbe3" type="Marker3D" parent="Props9"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe4" type="Marker3D" parent="Boat9"]
+[node name="BuyancyProbe4" type="Marker3D" parent="Props9"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="Boat10" type="RigidBody3D" parent="."]
+[node name="Props10" type="RigidBody3D" parent="."]
transform = Transform3D(0.676837, -0.735508, -0.0303125, 0, 0.0411781, -0.999152, 0.736133, 0.676263, 0.0278709, -22.0226, 0.543982, 21.0147)
mass = 2.0
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Boat10"]
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Props10"]
mesh = SubResource("BoxMesh_kisq7")
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Boat10"]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Props10"]
shape = SubResource("BoxShape3D_0g14k")
-[node name="BuyancyProbe" type="Marker3D" parent="Boat10"]
+[node name="BuyancyProbe" type="Marker3D" parent="Props10"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe2" type="Marker3D" parent="Boat10"]
+[node name="BuyancyProbe2" type="Marker3D" parent="Props10"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, -0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe3" type="Marker3D" parent="Boat10"]
+[node name="BuyancyProbe3" type="Marker3D" parent="Props10"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="BuyancyProbe4" type="Marker3D" parent="Boat10"]
+[node name="BuyancyProbe4" type="Marker3D" parent="Props10"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, 0.5, 0)
script = ExtResource("5_spien")
float_strength = 2.0
show_probe = true
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
-[node name="Camera3D" type="Camera3D" parent="."]
+[node name="DebugCamera3D" type="Camera3D" parent="."]
transform = Transform3D(0.817859, -0.4492, 0.35962, 0, 0.62497, 0.780649, -0.575419, -0.63846, 0.511137, 8.74584, 11.0902, 11.4458)
current = true
-[node name="Node" type="Node" parent="."]
+[node name="WeatherManager" type="Node" parent="."]
script = ExtResource("6_kisq7")
+
+[node name="Boat" type="RigidBody3D" parent="."]
+script = ExtResource("7_0g14k")
+metadata/_custom_type_script = "uid://cjo6l2ykgvn4e"
diff --git a/icon.svg b/icon.svg
index 9d8b7fa..aba2bce 100644
--- a/icon.svg
+++ b/icon.svg
@@ -1 +1,9 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/icons/Boat.svg b/icons/Boat.svg
new file mode 100644
index 0000000..8875486
--- /dev/null
+++ b/icons/Boat.svg
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/icons/Boat.svg.import b/icons/Boat.svg.import
new file mode 100644
index 0000000..21338cc
--- /dev/null
+++ b/icons/Boat.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://3ugrjpybrl4e"
+path="res://.godot/imported/Boat.svg-75bc0fadb884e0e75bf1a31ed1c977a6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icons/Boat.svg"
+dest_files=["res://.godot/imported/Boat.svg-75bc0fadb884e0e75bf1a31ed1c977a6.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/icons/Nodes.psd b/icons/Nodes.psd
new file mode 100644
index 0000000..d3bae4f
--- /dev/null
+++ b/icons/Nodes.psd
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8bf5c00ad92375d83485bda3dce3f96faab276e384727ef6e0cbe52b88f9a733
+size 58168
diff --git a/icons/Ocean.svg b/icons/Ocean.svg
new file mode 100644
index 0000000..19659a0
--- /dev/null
+++ b/icons/Ocean.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/icons/Ocean.svg.import b/icons/Ocean.svg.import
new file mode 100644
index 0000000..9a98b9f
--- /dev/null
+++ b/icons/Ocean.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://6w31a2gju6bi"
+path="res://.godot/imported/Ocean.svg-6c6a877658fd7781c0618a503ad7db85.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icons/Ocean.svg"
+dest_files=["res://.godot/imported/Ocean.svg-6c6a877658fd7781c0618a503ad7db85.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/icons/Ocean2.svg b/icons/Ocean2.svg
new file mode 100644
index 0000000..ff1aa41
--- /dev/null
+++ b/icons/Ocean2.svg
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/icons/Ocean2.svg.import b/icons/Ocean2.svg.import
new file mode 100644
index 0000000..f0fe64c
--- /dev/null
+++ b/icons/Ocean2.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://nwanoqn5yas8"
+path="res://.godot/imported/Ocean2.svg-c7e900944be56916999acf20e410aafc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icons/Ocean2.svg"
+dest_files=["res://.godot/imported/Ocean2.svg-c7e900944be56916999acf20e410aafc.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/icons/Probe.svg b/icons/Probe.svg
new file mode 100644
index 0000000..63ee4fd
--- /dev/null
+++ b/icons/Probe.svg
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/icons/Probe.svg.import b/icons/Probe.svg.import
new file mode 100644
index 0000000..7878e4a
--- /dev/null
+++ b/icons/Probe.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ck86evu4iyhyg"
+path="res://.godot/imported/Probe.svg-788444d16b202938a7211927a742dea3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icons/Probe.svg"
+dest_files=["res://.godot/imported/Probe.svg-788444d16b202938a7211927a742dea3.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/icons/Weather.svg b/icons/Weather.svg
new file mode 100644
index 0000000..5b0a500
--- /dev/null
+++ b/icons/Weather.svg
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/icons/Weather.svg.import b/icons/Weather.svg.import
new file mode 100644
index 0000000..4492513
--- /dev/null
+++ b/icons/Weather.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ckjj2o5jcfcy"
+path="res://.godot/imported/Weather.svg-7b5f0f3c54711a8b10e89f516b3e247c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icons/Weather.svg"
+dest_files=["res://.godot/imported/Weather.svg-7b5f0f3c54711a8b10e89f516b3e247c.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/icons/icons_credits.md b/icons/icons_credits.md
new file mode 100644
index 0000000..b1075e7
--- /dev/null
+++ b/icons/icons_credits.md
@@ -0,0 +1,7 @@
+All icons are modified to follow the style of the official icons ([found here](https://github.com/godotengine/godot/blob/master/editor/icons/))
+- Boat by Nathaniel S. from Noun Project (CC BY 3.0)
+- ocean wave by Giorgio Pallini from Noun Project (CC BY 3.0)
+- wave by Ishaq_hmad from Noun Project (CC BY 3.0)
+- weather by Chehuna from Noun Project (CC BY 3.0)
+- Life Saver by popcornarts from Noun Project (CC BY 3.0)
+- Ocean by Soni Sokell from Noun Project (CC BY 3.0)
diff --git a/project.godot b/project.godot
index c39ebe1..2353083 100644
--- a/project.godot
+++ b/project.godot
@@ -29,6 +29,7 @@ window/vsync/vsync_mode=0
[global_group]
Ocean="Oceans"
+OceanTiles=""
[physics]