diff --git a/asset_dev/particles/sparkle.xcf b/asset_dev/particles/sparkle.xcf new file mode 100644 index 0000000..02213d7 Binary files /dev/null and b/asset_dev/particles/sparkle.xcf differ diff --git a/asset_dev/terrain/sand_trap.xcf b/asset_dev/terrain/sand_trap.xcf new file mode 100644 index 0000000..4d82db1 Binary files /dev/null and b/asset_dev/terrain/sand_trap.xcf differ diff --git a/assets/sprites/particles/sparkle.png b/assets/sprites/particles/sparkle.png new file mode 100644 index 0000000..d4d0d09 --- /dev/null +++ b/assets/sprites/particles/sparkle.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4207b9484457b1fb26d89c505b5bbf9cc5e1c9688227880fa891211c798f332f +size 615 diff --git a/assets/sprites/particles/sparkle.png.import b/assets/sprites/particles/sparkle.png.import new file mode 100644 index 0000000..7c2f95b --- /dev/null +++ b/assets/sprites/particles/sparkle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://du3vk5nnksohs" +path="res://.godot/imported/sparkle.png-707064c32347643bb517651d402ffb9b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/particles/sparkle.png" +dest_files=["res://.godot/imported/sparkle.png-707064c32347643bb517651d402ffb9b.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=true +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=0 diff --git a/assets/textures/sand_trap/sand_trap.png b/assets/textures/sand_trap/sand_trap.png new file mode 100644 index 0000000..8102aa8 --- /dev/null +++ b/assets/textures/sand_trap/sand_trap.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba5ade971a2e00099f1b999e89798217d408824ff6d15f67b91db7c4a48fc22c +size 1360 diff --git a/assets/textures/sand_trap/sand_trap.png.import b/assets/textures/sand_trap/sand_trap.png.import new file mode 100644 index 0000000..ef117a3 --- /dev/null +++ b/assets/textures/sand_trap/sand_trap.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8rhd8iebf0ep" +path="res://.godot/imported/sand_trap.png-bf1b8a7d1ddd8397d1443e15395921c0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/textures/sand_trap/sand_trap.png" +dest_files=["res://.godot/imported/sand_trap.png-bf1b8a7d1ddd8397d1443e15395921c0.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 diff --git a/assets/textures/sand_trap/sand_trap_albedo.dds b/assets/textures/sand_trap/sand_trap_albedo.dds new file mode 100644 index 0000000..e08f53e --- /dev/null +++ b/assets/textures/sand_trap/sand_trap_albedo.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcc32431b96a6e0104a1b7048ccc42a54a54d678c6f607c4e1d0763143fb0781 +size 87536 diff --git a/assets/textures/sand_trap/sand_trap_normal.dds b/assets/textures/sand_trap/sand_trap_normal.dds new file mode 100644 index 0000000..2e2e5bb --- /dev/null +++ b/assets/textures/sand_trap/sand_trap_normal.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fb10029206f2546b4145b15c1e898ac65c93b5860827c0c305d1c561f65fb7e +size 87536 diff --git a/levels/debug_level/debug_level.tscn b/levels/debug_level/debug_level.tscn index 94ec8d3..b2ca747 100644 --- a/levels/debug_level/debug_level.tscn +++ b/levels/debug_level/debug_level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=45 format=3 uid="uid://bm2o3mex10v11"] +[gd_scene load_steps=52 format=3 uid="uid://bm2o3mex10v11"] [ext_resource type="Terrain3DStorage" uid="uid://bu1gewgsgc5hm" path="res://levels/debug_level/terrain_3d_storage.res" id="1_nlsu2"] [ext_resource type="Texture2D" path="res://assets/textures/grass_fairway/grass_fairway_albedo.dds" id="2_e4m27"] @@ -7,6 +7,8 @@ [ext_resource type="Texture2D" path="res://assets/textures/grass_fairway/grass_fairway_normal.dds" id="5_o361t"] [ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="6_0efu4"] [ext_resource type="Texture2D" uid="uid://c47ern0l2d50r" path="res://assets/vista_2.png" id="6_ectru"] +[ext_resource type="Texture2D" path="res://assets/textures/sand_trap/sand_trap_albedo.dds" id="6_nlea7"] +[ext_resource type="Texture2D" path="res://assets/textures/sand_trap/sand_trap_normal.dds" id="7_f25dn"] [ext_resource type="Texture2D" uid="uid://con5a36t6n6sq" path="res://assets/textures/clear_sea_water_2048x2048.png" id="7_t86h2"] [ext_resource type="PackedScene" uid="uid://cy7t2tc4y3b4" path="res://src/player/shot_setup/shot_setup.tscn" id="8_h44v5"] [ext_resource type="Script" path="res://src/world/ball_zone/ball_zone.gd" id="9_jwlau"] @@ -15,6 +17,7 @@ [ext_resource type="PackedScene" uid="uid://di7aql54lksn7" path="res://src/props/scenery/trees/palm_tree/palm_tree.tscn" id="12_sswxf"] [ext_resource type="PackedScene" uid="uid://c7l58wuuahn7w" path="res://src/props/flag/flag.tscn" id="13_6jtao"] [ext_resource type="Texture2D" uid="uid://dj60e8ri2fco" path="res://assets/models/scenery/city/concrete_building_1/concrete_building_1.png" id="14_y7s2h"] +[ext_resource type="Texture2D" uid="uid://du3vk5nnksohs" path="res://assets/sprites/particles/sparkle.png" id="16_2m5yu"] [ext_resource type="PackedScene" uid="uid://nqar1qcun8ax" path="res://src/props/scenery/highway/guard_rail.tscn" id="16_xtxyj"] [ext_resource type="PackedScene" uid="uid://d0tcr6uijpym5" path="res://src/props/scenery/highway/highway_road.tscn" id="17_amems"] @@ -79,9 +82,16 @@ albedo_texture = ExtResource("2_e4m27") normal_texture = ExtResource("5_o361t") uv_scale = 0.01 +[sub_resource type="Terrain3DTextureAsset" id="Terrain3DTextureAsset_k6h8c"] +name = "sand_trap_albedo" +id = 2 +albedo_texture = ExtResource("6_nlea7") +normal_texture = ExtResource("7_f25dn") +uv_scale = 0.01 + [sub_resource type="Terrain3DAssets" id="Terrain3DAssets_eq5uw"] mesh_list = Array[Terrain3DMeshAsset]([SubResource("Terrain3DMeshAsset_8g62o")]) -texture_list = Array[Terrain3DTextureAsset]([SubResource("Terrain3DTextureAsset_kocfk"), SubResource("Terrain3DTextureAsset_vmhlw")]) +texture_list = Array[Terrain3DTextureAsset]([SubResource("Terrain3DTextureAsset_kocfk"), SubResource("Terrain3DTextureAsset_vmhlw"), SubResource("Terrain3DTextureAsset_k6h8c")]) [sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_h8tes"] panorama = ExtResource("6_ectru") @@ -134,17 +144,17 @@ noise = SubResource("FastNoiseLite_mgjj0") render_priority = 0 shader = ExtResource("6_0efu4") shader_parameter/albedo = Color(0.427451, 0.917647, 1, 1) -shader_parameter/scroll_speed1 = Vector2(0.05, 0) -shader_parameter/scroll_speed2 = Vector2(-0.03, 0) +shader_parameter/scroll_speed1 = Vector2(0.04, 0) +shader_parameter/scroll_speed2 = Vector2(-0.02, 0) shader_parameter/blend_factor = 0.5 -shader_parameter/scale1 = Vector2(512, 512) -shader_parameter/scale2 = Vector2(1024, 1024) +shader_parameter/scale1 = Vector2(128, 128) +shader_parameter/scale2 = Vector2(256, 256) shader_parameter/wave_strength = 0.4 shader_parameter/wave_scale = 0.02 shader_parameter/pixelation_level = 128 -shader_parameter/FoamSize = 1.0 +shader_parameter/FoamSize = 3.0 shader_parameter/WaterOpacity = 0.9 -shader_parameter/FoamGlowIntensity = 0.5 +shader_parameter/FoamGlowIntensity = 0.6 shader_parameter/water_texture1 = ExtResource("7_t86h2") shader_parameter/water_texture2 = ExtResource("7_t86h2") shader_parameter/noise_texture = SubResource("NoiseTexture2D_0xqld") @@ -158,13 +168,6 @@ subdivide_depth = 1024 [sub_resource type="BoxShape3D" id="BoxShape3D_x3wvm"] size = Vector3(4096, 2, 4096) -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_65jc8"] -albedo_color = Color(0.427451, 0.917647, 1, 1) - -[sub_resource type="PlaneMesh" id="PlaneMesh_h0mhn"] -material = SubResource("StandardMaterial3D_65jc8") -size = Vector2(65536, 65536) - [sub_resource type="Curve3D" id="Curve3D_3gyu3"] _data = { "points": PackedVector3Array(-4.50073, 0, 25.6049, 4.501, 0, -18.73, -15.152, 0, 5.61563, -20.4021, 0, 1.25826, 20.4021, 0, -1.25826, 25.991, 0, -27.2219, -9.077, 0, -17.164, 6.41687, 0, 33.4636, 72.1845, 0, 6.57864), @@ -172,6 +175,37 @@ _data = { } point_count = 3 +[sub_resource type="Curve" id="Curve_5e511"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.0934256, 1), 0.0, 0.0, 0, 0, Vector2(0.121107, 0.653576), 0.0, 0.0, 0, 0, Vector2(0.141869, 1), 0.0, 0.0, 0, 0, Vector2(0.418685, 1), 0.0, 0.0, 0, 0, Vector2(0.467128, 0.571529), 0.0, 0.0, 0, 0, Vector2(0.525952, 1), 0.0, 0.0, 0, 0, Vector2(0.747405, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 9 + +[sub_resource type="CurveTexture" id="CurveTexture_pwelt"] +curve = SubResource("Curve_5e511") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_6nt4t"] +emission_shape = 3 +emission_box_extents = Vector3(256, 1, 256) +direction = Vector3(0, 1, 0) +spread = 0.0 +initial_velocity_max = 0.1 +gravity = Vector3(0, 0, 0) +scale_curve = SubResource("CurveTexture_pwelt") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_sp12b"] +transparency = 1 +shading_mode = 0 +albedo_texture = ExtResource("16_2m5yu") +texture_filter = 4 +billboard_mode = 3 +billboard_keep_scale = true +particles_anim_h_frames = 1 +particles_anim_v_frames = 1 +particles_anim_loop = false + +[sub_resource type="QuadMesh" id="QuadMesh_l4j8a"] +material = SubResource("StandardMaterial3D_sp12b") +size = Vector2(0.2, 0.2) + [sub_resource type="Curve3D" id="Curve3D_u4eo7"] _data = { "points": PackedVector3Array(0, 0, -7.71536, 0, 0, 7.71536, -27.728, 0, 8.22205, 2.975, 0, -11.175, -2.975, 0, 11.175, -30.3645, 0, 45.9536, -12.075, 0, -20.125, 12.075, 0, 20.125, -21.5332, 0, 96.8633, 0.125, 0, 20.4, -0.125, 0, -20.4, 35.8701, 0, 94.7854, 0.9, 0, 27.9, -0.9, 0, -27.9, 35.9986, 0, 26.4862, 11.7438, 0, 0, -11.7438, 0, 0, 0.948586, 0, -1.88303), @@ -250,12 +284,6 @@ water_hazard = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0) shape = SubResource("BoxShape3D_x3wvm") -[node name="MacroWaterTable" type="MeshInstance3D" parent="Course"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -10, 0) -visible = false -mesh = SubResource("PlaneMesh_h0mhn") -skeleton = NodePath("../..") - [node name="Flag" parent="Course" instance=ExtResource("13_6jtao")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 540, 4, 452) @@ -267,6 +295,14 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 211.416, 4, 288.708) curve = SubResource("Curve3D_3gyu3") end_cap = true +[node name="WaterSparkle" type="GPUParticles3D" parent="Course"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 419.597, -2, 265.696) +amount = 1024 +lifetime = 12.0 +visibility_aabb = AABB(-128, -4, -128, 256, 8, 256) +process_material = SubResource("ParticleProcessMaterial_6nt4t") +draw_pass_1 = SubResource("QuadMesh_l4j8a") + [node name="CityBuildings" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 129.404, -9.53674e-07, 309.4) @@ -316,13 +352,13 @@ transform = Transform3D(0.57763, 0, -0.816299, 0, 1, 0, 0.816299, 0, 0.57763, 0. transform = Transform3D(0.184826, 0, -0.982771, 0, 1, 0, 0.982771, 0, 0.184826, 1.55019, 0, -15.9243) [node name="Lakeside" type="Node3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 452.34, 1.52588e-05, 209.912) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 458.103, 1.52588e-05, 204.202) [node name="PalmTree" parent="Lakeside" instance=ExtResource("12_sswxf")] -transform = Transform3D(-0.101178, 0, 0.994868, 0, 1, 0, -0.994868, 0, -0.101178, -1.09882, -1.90735e-06, 6.638) +transform = Transform3D(-0.101178, 0, 0.994868, 0, 1, 0, -0.994868, 0, -0.101178, -1.09882, -1.4275, 6.638) [node name="PalmTree2" parent="Lakeside" instance=ExtResource("12_sswxf")] -transform = Transform3D(-0.984291, 0, 0.176552, 0, 1, 0, -0.176552, 0, -0.984291, -9.27121, -1.90735e-06, -3.14384) +transform = Transform3D(-0.984291, 0, 0.176552, 0, 1, 0, -0.176552, 0, -0.984291, -9.27121, -0.652365, -3.14384) [node name="PalmTree3" parent="Lakeside" instance=ExtResource("12_sswxf")] -transform = Transform3D(-0.652998, 0, 0.75736, 0, 1, 0, -0.75736, 0, -0.652998, -1.89178, -3.8147e-06, -1.44794) +transform = Transform3D(-0.652998, 0, 0.75736, 0, 1, 0, -0.75736, 0, -0.652998, -1.89178, -0.327666, -1.44794) diff --git a/levels/debug_level/terrain_3d_storage.res b/levels/debug_level/terrain_3d_storage.res index ea2d8de..a3ce2fe 100644 --- a/levels/debug_level/terrain_3d_storage.res +++ b/levels/debug_level/terrain_3d_storage.res @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:46a7005e2e79da5de3f639826c93294d34f861316f7dfbb9ef23c0d622fda73f -size 1298031 +oid sha256:939681a9852ab7987ddc4f08f61d999059faa2f15c1e970c366f0463c73d5e0e +size 1754233