From 4ec4dbb5ad8ae47e12a25ca02d4e123689d53726 Mon Sep 17 00:00:00 2001 From: Ed Guloien Date: Sat, 2 May 2026 19:08:42 -0400 Subject: [PATCH] init water droplet test --- .editorconfig | 4 ++ .gitattributes | 2 + .gitignore | 3 ++ icon.svg | 1 + icon.svg.import | 43 +++++++++++++++++++++ project.godot | 24 ++++++++++++ scenes/droplet.tscn | 12 ++++++ scenes/model.tscn | 88 ++++++++++++++++++++++++++++++++++++++++++ scripts/droplet.gd | 7 ++++ scripts/droplet.gd.uid | 1 + scripts/model.gd | 15 +++++++ scripts/model.gd.uid | 1 + 12 files changed, 201 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 icon.svg create mode 100644 icon.svg.import create mode 100644 project.godot create mode 100644 scenes/droplet.tscn create mode 100644 scenes/model.tscn create mode 100644 scripts/droplet.gd create mode 100644 scripts/droplet.gd.uid create mode 100644 scripts/model.gd create mode 100644 scripts/model.gd.uid diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f28239b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*] +charset = utf-8 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0af181c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +/android/ diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..c6bbb7d --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..fa74605 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bs64u4u2miwhr" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/project.godot b/project.godot new file mode 100644 index 0000000..76b1aff --- /dev/null +++ b/project.godot @@ -0,0 +1,24 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="water" +run/main_scene="uid://cfr43vi3572yp" +config/features=PackedStringArray("4.6", "Forward Plus") +config/icon="res://icon.svg" + +[physics] + +3d/physics_engine="Jolt Physics" + +[rendering] + +rendering_device/driver.windows="d3d12" diff --git a/scenes/droplet.tscn b/scenes/droplet.tscn new file mode 100644 index 0000000..6024b0f --- /dev/null +++ b/scenes/droplet.tscn @@ -0,0 +1,12 @@ +[gd_scene format=3 uid="uid://c7n3scycvj6e0"] + +[ext_resource type="Script" uid="uid://b51w6528jl7ns" path="res://scripts/droplet.gd" id="1_d63sw"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_jsxgm"] + +[node name="droplet" type="RigidBody2D" unique_id=26869325] +script = ExtResource("1_d63sw") +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=681770375] +shape = SubResource("CircleShape2D_jsxgm") diff --git a/scenes/model.tscn b/scenes/model.tscn new file mode 100644 index 0000000..67e4ac8 --- /dev/null +++ b/scenes/model.tscn @@ -0,0 +1,88 @@ +[gd_scene format=3 uid="uid://cfr43vi3572yp"] + +[ext_resource type="Script" uid="uid://g0yk17km82bv" path="res://scripts/model.gd" id="1_bctr2"] +[ext_resource type="Script" uid="uid://b51w6528jl7ns" path="res://scripts/droplet.gd" id="2_rka1o"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_jsxgm"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_jsxgm"] +size = Vector2(142, 20) + +[node name="model" type="Node2D" unique_id=1269077616] +script = ExtResource("1_bctr2") + +[node name="droplet" type="RigidBody2D" parent="." unique_id=1124928337] +position = Vector2(100, 100) +script = ExtResource("2_rka1o") +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="droplet" unique_id=1884252756] +shape = SubResource("CircleShape2D_jsxgm") + +[node name="ramp" type="Node2D" parent="." unique_id=1574160600] +position = Vector2(160, 418) +metadata/_edit_group_ = true + +[node name="platform" type="StaticBody2D" parent="ramp" unique_id=209192392] +position = Vector2(-40, -43) +rotation = 0.73531467 +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="ramp/platform" unique_id=1963814933] +position = Vector2(-0.8749161, 0.48425293) +shape = SubResource("RectangleShape2D_jsxgm") +debug_color = Color(0.5959702, 0.54461277, 0.08352526, 0.41960785) + +[node name="platform2" type="StaticBody2D" parent="ramp" unique_id=84144126] +position = Vector2(65.00004, -8.9999695) +rotation = 0.002699674 +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="ramp/platform2" unique_id=1176048126] +position = Vector2(-0.8749161, 0.48425293) +shape = SubResource("RectangleShape2D_jsxgm") +debug_color = Color(0.5959702, 0.54461277, 0.08352526, 0.41960785) + +[node name="platform3" type="StaticBody2D" parent="ramp" unique_id=964847824] +position = Vector2(99.00001, 7.0000305) +rotation = -0.49281085 +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="ramp/platform3" unique_id=449830022] +position = Vector2(-0.8749161, 0.48425293) +shape = SubResource("RectangleShape2D_jsxgm") +debug_color = Color(0.5959702, 0.54461277, 0.08352526, 0.41960785) + +[node name="bucket" type="Node2D" parent="." unique_id=431072106] +position = Vector2(-98, 102) +metadata/_edit_group_ = true + +[node name="platform4" type="StaticBody2D" parent="bucket" unique_id=1216137882] +position = Vector2(450.99997, 440) +rotation = 1.5717075 +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="bucket/platform4" unique_id=809485490] +position = Vector2(-0.8749161, 0.48425293) +shape = SubResource("RectangleShape2D_jsxgm") +debug_color = Color(0.5959702, 0.54461277, 0.08352526, 0.41960785) + +[node name="platform5" type="StaticBody2D" parent="bucket" unique_id=151396465] +position = Vector2(512, 498.99997) +rotation = 0.04333093 +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="bucket/platform5" unique_id=520757941] +position = Vector2(-0.8749161, 0.48425293) +shape = SubResource("RectangleShape2D_jsxgm") +debug_color = Color(0.5959702, 0.54461277, 0.08352526, 0.41960785) + +[node name="platform6" type="StaticBody2D" parent="bucket" unique_id=1293356667] +position = Vector2(570, 439) +rotation = -1.5774848 +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="bucket/platform6" unique_id=228271782] +position = Vector2(-0.8749161, 0.48425293) +shape = SubResource("RectangleShape2D_jsxgm") +debug_color = Color(0.5959702, 0.54461277, 0.08352526, 0.41960785) diff --git a/scripts/droplet.gd b/scripts/droplet.gd new file mode 100644 index 0000000..c838ae2 --- /dev/null +++ b/scripts/droplet.gd @@ -0,0 +1,7 @@ +class_name Droplet extends RigidBody2D + +func _ready(): + pass # Replace with function body. + +func _process(delta): + pass diff --git a/scripts/droplet.gd.uid b/scripts/droplet.gd.uid new file mode 100644 index 0000000..1d8a61f --- /dev/null +++ b/scripts/droplet.gd.uid @@ -0,0 +1 @@ +uid://b51w6528jl7ns diff --git a/scripts/model.gd b/scripts/model.gd new file mode 100644 index 0000000..65e2840 --- /dev/null +++ b/scripts/model.gd @@ -0,0 +1,15 @@ +class_name Model extends Node2D + +const PERIOD: int = 300 +var CURRENT_TIME: int = 0 + +func _ready(): + pass # Replace with function body. + +func _process(delta: float): + CURRENT_TIME += delta * 100 + if CURRENT_TIME % 100 == 0: + print("Current time: ", str(CURRENT_TIME)) + var droplet = preload("res://scenes/droplet.tscn").instantiate() + droplet.global_position = Vector2(100, 100) + add_child(droplet) diff --git a/scripts/model.gd.uid b/scripts/model.gd.uid new file mode 100644 index 0000000..5bee386 --- /dev/null +++ b/scripts/model.gd.uid @@ -0,0 +1 @@ +uid://g0yk17km82bv