diff --git a/asset_dev/level/player_ship/grunk_liquid.blend b/asset_dev/level/player_ship/grunk_liquid.blend new file mode 100644 index 0000000..e443043 Binary files /dev/null and b/asset_dev/level/player_ship/grunk_liquid.blend differ diff --git a/asset_dev/level/player_ship/grunk_liquid.blend1 b/asset_dev/level/player_ship/grunk_liquid.blend1 new file mode 100644 index 0000000..ab97534 Binary files /dev/null and b/asset_dev/level/player_ship/grunk_liquid.blend1 differ diff --git a/asset_dev/level/player_ship/player_ship.blend b/asset_dev/level/player_ship/player_ship.blend index 92462cb..f37b60d 100644 Binary files a/asset_dev/level/player_ship/player_ship.blend and b/asset_dev/level/player_ship/player_ship.blend differ diff --git a/asset_dev/level/player_ship/player_ship.blend1 b/asset_dev/level/player_ship/player_ship.blend1 index 02ddfcc..cc7b691 100644 Binary files a/asset_dev/level/player_ship/player_ship.blend1 and b/asset_dev/level/player_ship/player_ship.blend1 differ diff --git a/assets/level/player_ship/grunk_liquid.mtl b/assets/level/player_ship/grunk_liquid.mtl new file mode 100644 index 0000000..5bfd540 --- /dev/null +++ b/assets/level/player_ship/grunk_liquid.mtl @@ -0,0 +1,2 @@ +# Blender 4.3.2 MTL File: 'grunk_liquid.blend' +# www.blender.org diff --git a/assets/level/player_ship/grunk_liquid.obj b/assets/level/player_ship/grunk_liquid.obj new file mode 100644 index 0000000..6ae4a97 --- /dev/null +++ b/assets/level/player_ship/grunk_liquid.obj @@ -0,0 +1,102 @@ +# Blender 4.3.2 +# www.blender.org +mtllib grunk_liquid.mtl +o TankVolume +v -1.500000 0.000000 -1.500000 +v 1.500000 0.000000 -1.500000 +v 2.500000 0.000000 1.500000 +v -2.500000 0.000000 1.500000 +v 2.500000 0.000000 -0.500000 +v -2.500000 0.000000 -0.500000 +v -2.500000 3.000000 1.500000 +v 2.500000 3.000000 1.500000 +v 2.500000 3.000000 -0.500000 +v -2.500000 3.000000 -0.500000 +v 1.500000 3.000000 -1.500000 +v -1.500000 3.000000 -1.500000 +v 0.000000 0.000000 1.500000 +v 2.500000 0.000000 0.500000 +v -2.500000 0.000000 0.500000 +v 2.000000 0.000000 -1.000000 +v -2.000000 0.000000 -1.000000 +v 0.000000 0.000000 -1.500000 +v 0.000000 3.000000 1.500000 +v 2.500000 3.000000 0.500000 +v -2.500000 3.000000 0.500000 +v 2.000000 3.000000 -1.000000 +v -2.000000 3.000000 -1.000000 +v 0.000000 3.000000 -1.500000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.7071 -0.0000 -0.7071 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.0000 -1.0000 +vn 0.7071 -0.0000 -0.7071 +vn 1.0000 -0.0000 -0.0000 +vt 0.500000 1.000000 +vt 0.500000 0.750000 +vt 0.500000 0.500000 +vt 0.600000 0.500000 +vt 0.700000 0.500000 +vt 0.750000 0.550000 +vt 0.800000 0.600000 +vt 0.800000 0.750000 +vt 0.800000 0.900000 +vt 0.750000 0.950000 +vt 0.700000 1.000000 +vt 0.600000 1.000000 +vt 0.500000 0.000000 +vt 0.500000 0.100000 +vt 0.500000 0.200000 +vt 0.450000 0.250000 +vt 0.400000 0.300000 +vt 0.250000 0.300000 +vt 0.100000 0.300000 +vt 0.050000 0.250000 +vt 0.000000 0.200000 +vt 0.000000 0.100000 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.850000 0.300000 +vt 0.850000 0.000000 +vt 0.900000 0.000000 +vt 0.900000 0.300000 +vt 0.100000 0.900000 +vt 0.100000 0.600000 +vt 0.200000 0.600000 +vt 0.200000 0.900000 +vt 0.800000 0.250000 +vt 0.500000 0.250000 +vt 0.500000 -0.000000 +vt 0.800000 -0.000000 +vt 0.250000 0.600000 +vt 0.400000 0.600000 +vt 0.450000 0.900000 +vt 0.450000 0.600000 +vt 0.500000 0.600000 +vt 0.500000 0.900000 +vt 0.300000 0.900000 +vt 0.300000 0.600000 +vt 0.400000 0.900000 +vt 0.800000 0.500000 +vt 0.500000 0.500000 +vt 0.000000 0.900000 +vt 0.000000 0.600000 +vt 0.800000 0.300000 +vt 0.800000 0.000000 +s 0 +f 3/1/1 13/2/1 4/3/1 15/4/1 6/5/1 17/6/1 1/7/1 18/8/1 2/9/1 16/10/1 5/11/1 14/12/1 +f 8/13/2 20/14/2 9/15/2 22/16/2 11/17/2 24/18/2 12/19/2 23/20/2 10/21/2 21/22/2 7/23/2 19/24/2 +f 17/25/3 23/26/3 12/27/3 1/28/3 +f 15/29/4 21/30/4 10/31/4 6/32/4 +f 13/33/5 19/34/5 7/35/5 4/36/5 +f 18/37/6 24/18/6 11/17/6 2/38/6 +f 16/39/7 22/40/7 9/41/7 5/42/7 +f 14/43/8 20/44/8 8/38/8 3/45/8 +f 5/32/8 9/31/8 20/44/8 14/43/8 +f 2/45/7 11/38/7 22/40/7 16/39/7 +f 1/30/6 12/19/6 24/18/6 18/37/6 +f 3/46/5 8/47/5 19/34/5 13/33/5 +f 4/48/4 7/49/4 21/30/4 15/29/4 +f 6/50/3 10/51/3 23/26/3 17/25/3 diff --git a/assets/level/player_ship/grunk_liquid.obj.import b/assets/level/player_ship/grunk_liquid.obj.import new file mode 100644 index 0000000..4af93f4 --- /dev/null +++ b/assets/level/player_ship/grunk_liquid.obj.import @@ -0,0 +1,25 @@ +[remap] + +importer="wavefront_obj" +importer_version=1 +type="Mesh" +uid="uid://bc8457r4rxpey" +path="res://.godot/imported/grunk_liquid.obj-fd3117eeb847cae0dee82835435067ae.mesh" + +[deps] + +files=["res://.godot/imported/grunk_liquid.obj-fd3117eeb847cae0dee82835435067ae.mesh"] + +source_file="res://assets/level/player_ship/grunk_liquid.obj" +dest_files=["res://.godot/imported/grunk_liquid.obj-fd3117eeb847cae0dee82835435067ae.mesh", "res://.godot/imported/grunk_liquid.obj-fd3117eeb847cae0dee82835435067ae.mesh"] + +[params] + +generate_tangents=true +generate_lods=true +generate_shadow_mesh=true +generate_lightmap_uv2=false +generate_lightmap_uv2_texel_size=0.2 +scale_mesh=Vector3(1, 1, 1) +offset_mesh=Vector3(0, 0, 0) +force_disable_mesh_compression=false diff --git a/assets/level/player_ship/player_ship.obj b/assets/level/player_ship/player_ship.obj index f63c954..43956e1 100644 --- a/assets/level/player_ship/player_ship.obj +++ b/assets/level/player_ship/player_ship.obj @@ -56,8 +56,6 @@ vn -0.7071 0.7071 -0.0000 vn -0.7071 -0.7071 -0.0000 vn -0.0000 1.0000 -0.0000 vn -0.0000 -0.0000 -1.0000 -vn 0.7071 -0.0000 -0.7071 -vn -0.7071 -0.0000 -0.7071 vt 0.218750 0.265625 vt 0.335938 0.421875 vt 0.000000 0.421875 @@ -109,10 +107,6 @@ vt 0.335938 0.757812 vt 0.000000 0.757812 vt 0.664062 0.421875 vt 0.664062 0.757812 -vt 0.515625 0.242188 -vt 0.000000 0.242188 -vt 0.171875 0.000000 -vt 0.343750 0.000000 vt 0.804688 0.914062 vt 0.953125 0.843750 vt 0.875000 0.914062 @@ -120,9 +114,6 @@ vt 0.914062 0.781250 vt 0.914062 0.687500 vt 0.953125 0.687500 vt 0.953125 0.781250 -vt 0.515625 0.757812 -vt 0.343750 1.000000 -vt 0.171875 1.000000 vt 0.734375 0.687500 vt 0.734375 0.273438 vt 0.750000 0.179688 @@ -161,14 +152,14 @@ f 3/11/1 4/18/1 7/17/1 8/12/1 f 9/25/7 10/6/7 13/5/7 14/26/7 f 15/27/8 16/8/8 11/7/8 12/28/8 f 5/23/9 2/24/9 9/25/9 14/26/9 26/29/9 25/30/9 -f 6/56/5 5/13/5 8/57/5 7/58/5 -f 29/59/5 30/60/5 27/61/5 28/62/5 -f 29/59/5 28/62/5 8/57/5 5/13/5 25/12/5 -f 15/22/5 27/61/5 30/60/5 26/66/5 14/19/5 -f 25/67/9 26/5/9 32/68/9 31/69/9 -f 30/70/3 29/71/3 33/72/3 34/73/3 -f 29/71/4 25/67/4 31/69/4 33/72/4 -f 26/5/2 30/27/2 34/74/2 32/68/2 +f 6/52/5 5/13/5 8/53/5 7/54/5 +f 29/55/5 30/56/5 27/57/5 28/58/5 +f 29/55/5 28/58/5 8/53/5 5/13/5 25/12/5 +f 15/22/5 27/57/5 30/56/5 26/59/5 14/19/5 +f 25/60/9 26/5/9 32/61/9 31/62/9 +f 30/63/3 29/64/3 33/65/3 34/66/3 +f 29/64/4 25/60/4 31/62/4 33/65/4 +f 26/5/2 30/27/2 34/67/2 32/61/2 usemtl Tank f 4/1/1 3/2/1 20/3/1 19/4/1 f 22/31/10 17/32/10 18/33/10 19/34/10 20/35/10 23/36/10 24/37/10 21/38/10 @@ -179,15 +170,11 @@ f 12/47/8 11/43/8 24/46/8 23/39/8 f 3/2/3 12/48/3 23/49/3 20/3/3 f 10/44/7 9/50/7 22/2/7 21/45/7 f 9/50/9 2/51/9 17/48/9 22/2/9 -usemtl TankFacade -f 9/52/11 12/53/11 11/54/11 10/55/11 -f 2/63/12 1/64/12 4/65/12 3/49/12 -f 9/52/10 2/63/10 3/49/10 12/53/10 usemtl Gasket -f 40/75/10 38/76/10 34/77/10 33/78/10 37/79/10 39/80/10 -f 32/81/10 34/77/10 38/76/10 36/82/10 -f 33/78/10 31/83/10 35/84/10 37/79/10 -f 39/80/4 37/79/4 35/84/4 41/85/4 43/86/4 -f 40/75/3 39/80/3 43/87/3 44/88/3 -f 32/81/9 36/82/9 42/89/9 41/90/9 35/84/9 31/83/9 -f 36/82/2 38/76/2 40/75/2 44/91/2 42/92/2 +f 40/68/10 38/69/10 34/70/10 33/71/10 37/72/10 39/73/10 +f 32/74/10 34/70/10 38/69/10 36/75/10 +f 33/71/10 31/76/10 35/77/10 37/72/10 +f 39/73/4 37/72/4 35/77/4 41/78/4 43/79/4 +f 40/68/3 39/73/3 43/80/3 44/81/3 +f 32/74/9 36/75/9 42/82/9 41/83/9 35/77/9 31/76/9 +f 36/75/2 38/69/2 40/68/2 44/84/2 42/85/2 diff --git a/assets/level/player_ship/player_ship_tank_facade.mtl b/assets/level/player_ship/player_ship_tank_facade.mtl new file mode 100644 index 0000000..dbfda5b --- /dev/null +++ b/assets/level/player_ship/player_ship_tank_facade.mtl @@ -0,0 +1,42 @@ +# Blender 4.3.2 MTL File: 'player_ship.blend' +# www.blender.org + +newmtl Gasket +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 2 + +newmtl Interior +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 + +newmtl Tank +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 2 + +newmtl TankFacade +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 2 diff --git a/assets/level/player_ship/player_ship_tank_facade.obj b/assets/level/player_ship/player_ship_tank_facade.obj new file mode 100644 index 0000000..27ef995 --- /dev/null +++ b/assets/level/player_ship/player_ship_tank_facade.obj @@ -0,0 +1,28 @@ +# Blender 4.3.2 +# www.blender.org +mtllib player_ship_tank_facade.mtl +o Ship.Interior +v -2.500000 1.000000 5.500000 +v -1.500000 0.000000 4.500000 +v -1.500000 3.000000 4.500000 +v -2.500000 2.000000 5.500000 +v 1.500000 0.000000 4.500000 +v 2.500000 1.000000 5.500000 +v 2.500000 2.000000 5.500000 +v 1.500000 3.000000 4.500000 +vn 0.7071 -0.0000 -0.7071 +vn -0.7071 -0.0000 -0.7071 +vn -0.0000 -0.0000 -1.0000 +vt 0.515625 0.242188 +vt 0.000000 0.242188 +vt 0.171875 0.000000 +vt 0.343750 0.000000 +vt 0.515625 0.757812 +vt 0.343750 1.000000 +vt 0.171875 1.000000 +vt 0.000000 0.757812 +s 0 +usemtl TankFacade +f 5/1/1 8/2/1 7/3/1 6/4/1 +f 2/5/2 1/6/2 4/7/2 3/8/2 +f 5/1/3 2/5/3 3/8/3 8/2/3 diff --git a/assets/level/player_ship/player_ship_tank_facade.obj.import b/assets/level/player_ship/player_ship_tank_facade.obj.import new file mode 100644 index 0000000..152351c --- /dev/null +++ b/assets/level/player_ship/player_ship_tank_facade.obj.import @@ -0,0 +1,25 @@ +[remap] + +importer="wavefront_obj" +importer_version=1 +type="Mesh" +uid="uid://djgqnuxrja1mo" +path="res://.godot/imported/player_ship_tank_facade.obj-cf4bde7b306df64cbedc4d783fbc184e.mesh" + +[deps] + +files=["res://.godot/imported/player_ship_tank_facade.obj-cf4bde7b306df64cbedc4d783fbc184e.mesh"] + +source_file="res://assets/level/player_ship/player_ship_tank_facade.obj" +dest_files=["res://.godot/imported/player_ship_tank_facade.obj-cf4bde7b306df64cbedc4d783fbc184e.mesh", "res://.godot/imported/player_ship_tank_facade.obj-cf4bde7b306df64cbedc4d783fbc184e.mesh"] + +[params] + +generate_tangents=true +generate_lods=true +generate_shadow_mesh=true +generate_lightmap_uv2=false +generate_lightmap_uv2_texel_size=0.2 +scale_mesh=Vector3(1, 1, 1) +offset_mesh=Vector3(0, 0, 0) +force_disable_mesh_compression=false diff --git a/assets/materials/gunk.material b/assets/materials/gunk.material index fa6cf49..ece7f15 100644 Binary files a/assets/materials/gunk.material and b/assets/materials/gunk.material differ diff --git a/levels/ghost_ship/player_ship/player_ship.gd b/levels/ghost_ship/player_ship/player_ship.gd index b7fe697..1577a20 100644 --- a/levels/ghost_ship/player_ship/player_ship.gd +++ b/levels/ghost_ship/player_ship/player_ship.gd @@ -1,7 +1,14 @@ extends Node3D # The player's ship, a safe zone where they can deposit grunk, save their game, and relax. +# TODO figure out whatever this is lol +const MAX_GRUNK := 6000000.0 +const LIQUID_FACTOR := 2.8 + +const TANK_FILL_TIME := 1.0 + @onready var tank_interactor: Interactive = %TankInteractor +@onready var grunk_liquid: MeshInstance3D = %GrunkLiquid func _ready() -> void: @@ -17,3 +24,12 @@ func deposit_grunk() -> void: # Tank is disabled until the player collects more grunk. tank_interactor.enabled = false Game.manager.deposit_tank() + set_liquid_level(clampf(Game.manager.grunk_vault / MAX_GRUNK, 0.0, 1.0)) + + +func set_liquid_level(proportion: float) -> void: + ( + create_tween() + . tween_property(grunk_liquid, "position:y", proportion * LIQUID_FACTOR, TANK_FILL_TIME) + . set_trans(Tween.TRANS_EXPO) + ) diff --git a/levels/ghost_ship/player_ship/player_ship.tscn b/levels/ghost_ship/player_ship/player_ship.tscn index a489461..d2a9a65 100644 --- a/levels/ghost_ship/player_ship/player_ship.tscn +++ b/levels/ghost_ship/player_ship/player_ship.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=3 uid="uid://oowut88kr2ox"] +[gd_scene load_steps=21 format=3 uid="uid://oowut88kr2ox"] [ext_resource type="Script" uid="uid://lfd36ps52xgk" path="res://levels/ghost_ship/player_ship/player_ship.gd" id="1_0r2ng"] [ext_resource type="ArrayMesh" uid="uid://dq4aj5ph31rce" path="res://assets/level/player_ship/player_ship.obj" id="1_nafoa"] @@ -7,12 +7,11 @@ [ext_resource type="Texture2D" uid="uid://ccnk8eicahcw8" path="res://assets/level/player_ship/tank_facade_N.png" id="4_0r2ng"] [ext_resource type="Texture2D" uid="uid://dv2876ywyq6rf" path="res://assets/level/player_ship/tank_facade_R.png" id="5_22nd2"] [ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="6_e4hmc"] - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nafoa"] -albedo_color = Color(0.129412, 0.184314, 0.207843, 1) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8m8oy"] -albedo_color = Color(0.439216, 0.647059, 0.756863, 1) +[ext_resource type="ArrayMesh" uid="uid://djgqnuxrja1mo" path="res://assets/level/player_ship/player_ship_tank_facade.obj" id="8_2mvif"] +[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="8_al8ma"] +[ext_resource type="ArrayMesh" uid="uid://bc8457r4rxpey" path="res://assets/level/player_ship/grunk_liquid.obj" id="8_xuj2g"] +[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="9_xuj2g"] +[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="10_2mvif"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xpsdy"] transparency = 1 @@ -24,27 +23,75 @@ normal_enabled = true normal_texture = ExtResource("4_0r2ng") texture_filter = 2 -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nbws3"] -albedo_color = Color(0.243137, 0.231373, 0.219608, 1) - [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_nafoa"] data = PackedVector3Array(2.5, 1, 5.5, 2.5, 1, -4.5001, 2.5, 2, 5.5, 2.5, 2, 5.5, 2.5, 1, -4.5001, 2.5, 2, -4.5001, 1.5, 3, 4.4999, 1.5, 3, -4.5001, -1.5, 3, 4.4999, -1.5, 3, 4.4999, 1.5, 3, -4.5001, -1.5, 3, -4.5001, -1.5, 3, -4.5001, 1.5, 3, -4.5001, -0.625, 3, -4.5001, -0.625, 3, -4.5001, 1.5, 3, -4.5001, 0.625, 3, -4.5001, -2.5, 1, -4.5001, -2.5, 1, 5.5, -2.5, 2, -4.5001, -2.5, 2, -4.5001, -2.5, 1, 5.5, -2.5, 2, 5.5, 2.5, 1, -4.5001, 1.5, 0, -4.5001, 2.5, 2, -4.5001, 2.5, 2, -4.5001, 1.5, 0, -4.5001, 1.5, 3, -4.5001, 0.625, 0, -4.5001, 1.5, 3, -4.5001, 1.5, 0, -4.5001, 0.625, 2.5, -4.5001, 1.5, 3, -4.5001, 0.625, 0, -4.5001, 0.625, 3, -4.5001, 1.5, 3, -4.5001, 0.625, 2.5, -4.5001, 0.625, 2.5, -4.5001, -0.625, 2.5, -4.5001, 0.625, 3, -4.5001, 0.625, 3, -4.5001, -0.625, 2.5, -4.5001, -0.625, 3, -4.5001, -0.625, 3, -4.5001, -0.625, 2.5, -4.5001, -1.5, 3, -4.5001, -1.5, 3, -4.5001, -0.625, 2.5, -4.5001, -1.5, 0, -4.5001, -1.5, 0, -4.5001, -0.625, 2.5, -4.5001, -0.625, 0, -4.5001, -1.5, 0, -4.5001, -2.5, 1, -4.5001, -1.5, 3, -4.5001, -1.5, 3, -4.5001, -2.5, 1, -4.5001, -2.5, 2, -4.5001, -2.5, 1, -4.5001, -1.5, 0, -4.5001, -2.5, 1, 5.5, -2.5, 1, 5.5, -1.5, 0, -4.5001, -1.5, 0, 4.4999, -2.5, 2, 5.5, -1.5, 3, 4.4999, -2.5, 2, -4.5001, -2.5, 2, -4.5001, -1.5, 3, 4.4999, -1.5, 3, -4.5001, 2.5, 1, 5.5, 1.5, 0, 4.4999, 2.5, 1, -4.5001, 2.5, 1, -4.5001, 1.5, 0, 4.4999, 1.5, 0, -4.5001, 2.5, 2, -4.5001, 1.5, 3, -4.5001, 2.5, 2, 5.5, 2.5, 2, 5.5, 1.5, 3, -4.5001, 1.5, 3, 4.4999, -1.5, 0, 4.4999, -1.5, 0, -4.5001, 1.5, 0, 4.4999, 1.5, 0, 4.4999, -1.5, 0, -4.5001, 1.5, 0, -4.5001, 1.5, 0, -4.5001, -1.5, 0, -4.5001, 0.625, 0, -4.5001, 0.625, 0, -4.5001, -1.5, 0, -4.5001, -0.625, 0, -4.5001, 0.625, 0, -4.5001, -0.625, 0, -4.5001, 0.625, 0, -4.75, 0.625, 0, -4.75, -0.625, 0, -4.5001, -0.625, 0, -4.75, -0.625, 2.5, -4.5001, 0.625, 2.5, -4.5001, -0.625, 2.5, -4.75, -0.625, 2.5, -4.75, 0.625, 2.5, -4.5001, 0.625, 2.5, -4.75, -0.625, 0, -4.5001, -0.625, 2.5, -4.5001, -0.625, 0, -4.75, -0.625, 0, -4.75, -0.625, 2.5, -4.5001, -0.625, 2.5, -4.75, 0.625, 2.5, -4.5001, 0.625, 0, -4.5001, 0.625, 2.5, -4.75, 0.625, 2.5, -4.75, 0.625, 0, -4.5001, 0.625, 0, -4.75, -1.5, 3, 4.5, -2.5, 2, 5.5, -1.5, 3, 7.5, -1.5, 3, 7.5, -2.5, 2, 5.5, -2.5, 2, 7.5, -1.5, 0, 7.5, 1.5, 0, 7.5, -2.5, 1, 7.5, -2.5, 1, 7.5, 1.5, 0, 7.5, -2.5, 2, 7.5, -2.5, 2, 7.5, 1.5, 0, 7.5, -1.5, 3, 7.5, -1.5, 3, 7.5, 1.5, 0, 7.5, 1.5, 3, 7.5, 1.5, 3, 7.5, 1.5, 0, 7.5, 2.5, 2, 7.5, 2.5, 2, 7.5, 1.5, 0, 7.5, 2.5, 1, 7.5, -2.5, 1, 5.5, -1.5, 0, 4.5, -2.5, 1, 7.5, -2.5, 1, 7.5, -1.5, 0, 4.5, -1.5, 0, 7.5, 2.5, 1, 5.5, 2.5, 2, 5.5, 2.5, 1, 7.5, 2.5, 1, 7.5, 2.5, 2, 5.5, 2.5, 2, 7.5, -2.5, 2, 5.5, -2.5, 1, 5.5, -2.5, 2, 7.5, -2.5, 2, 7.5, -2.5, 1, 5.5, -2.5, 1, 7.5, 2.5, 2, 5.5, 1.5, 3, 4.5, 2.5, 2, 7.5, 2.5, 2, 7.5, 1.5, 3, 4.5, 1.5, 3, 7.5, 1.5, 3, 4.5, -1.5, 3, 4.5, 1.5, 3, 7.5, 1.5, 3, 7.5, -1.5, 3, 4.5, -1.5, 3, 7.5, 1.5, 0, 4.5, 2.5, 1, 5.5, 1.5, 0, 7.5, 1.5, 0, 7.5, 2.5, 1, 5.5, 2.5, 1, 7.5, -1.5, 0, 4.5, 1.5, 0, 4.5, -1.5, 0, 7.5, -1.5, 0, 7.5, 1.5, 0, 4.5, 1.5, 0, 7.5, 1.5, 3, 4.5, 1.5, 0, 4.5, 2.5, 2, 5.5, 2.5, 2, 5.5, 1.5, 0, 4.5, 2.5, 1, 5.5, -2.5, 1, 5.5, -1.5, 0, 4.5, -2.5, 2, 5.5, -2.5, 2, 5.5, -1.5, 0, 4.5, -1.5, 3, 4.5, -1.5, 0, 4.5, 1.5, 0, 4.5, -1.5, 3, 4.5, -1.5, 3, 4.5, 1.5, 0, 4.5, 1.5, 3, 4.5, 1.25, 2.5, -4.75, 1.25, 3, -4.75, 0.625, 2.5, -4.75, 0.625, 2.5, -4.75, 0.625, 0, -4.75, 1.25, 2.5, -4.75, 1.25, 2.5, -4.75, 0.625, 0, -4.75, 1.25, 0, -4.75, 0.625, 2.5, -4.75, 1.25, 3, -4.75, -0.625, 2.5, -4.75, -0.625, 2.5, -4.75, 1.25, 3, -4.75, -1.25, 2.5, -4.75, -1.25, 2.5, -4.75, 1.25, 3, -4.75, -1.25, 3, -4.75, -1.25, 0, -4.75, -0.625, 2.5, -4.75, -1.25, 2.5, -4.75, -0.625, 0, -4.75, -0.625, 2.5, -4.75, -1.25, 0, -4.75, -1.25, 2.5, -4.75, -1.25, 3, -4.75, -1.25, 0, -4.75, -1.25, 0, -4.75, -1.25, 3, -4.75, -1.25, 0, -6.75, -1.25, 0, -6.75, -1.25, 3, -4.75, -1.25, 3, -6.75, -1.25, 3, -4.75, 1.25, 3, -4.75, -1.25, 3, -6.75, -1.25, 3, -6.75, 1.25, 3, -4.75, 1.25, 3, -6.75, 1.25, 0, -4.75, 0.625, 0, -4.75, 1.25, 0, -6.75, 1.25, 0, -6.75, 0.625, 0, -4.75, -1.25, 0, -6.75, -1.25, 0, -6.75, 0.625, 0, -4.75, -1.25, 0, -4.75, -1.25, 0, -4.75, 0.625, 0, -4.75, -0.625, 0, -4.75, 1.25, 2.5, -4.75, 1.25, 0, -4.75, 1.25, 3, -4.75, 1.25, 3, -4.75, 1.25, 0, -4.75, 1.25, 3, -6.75, 1.25, 3, -6.75, 1.25, 0, -4.75, 1.25, 0, -6.75) [sub_resource type="SphereShape3D" id="SphereShape3D_e4hmc"] radius = 0.3 +[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2roq2"] +width = 256 +height = 256 +depth = 32 +seamless = true +seamless_blend_skirt = 0.5 +noise = ExtResource("10_2mvif") + +[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_fk1xc"] +width = 256 +height = 256 +depth = 32 +seamless = true +seamless_blend_skirt = 0.5 +noise = ExtResource("10_2mvif") + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_7fplw"] +frequency = 0.0703 + +[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_omayi"] +width = 32 +height = 32 +depth = 128 +noise = SubResource("FastNoiseLite_7fplw") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_3trrp"] +resource_local_to_scene = true +render_priority = 0 +shader = ExtResource("8_al8ma") +shader_parameter/color_1 = Color(0, 0.03, 0.1, 1) +shader_parameter/color_2 = Color(0, 0.1, 0.3, 1) +shader_parameter/emission_color = Color(0.25, 0.88, 1, 1) +shader_parameter/pixellation = 128.0 +shader_parameter/time_pixellation = 30.0 +shader_parameter/roughness = 0.15 +shader_parameter/specular_contribution = 0.8 +shader_parameter/emission_strength = 0.02 +shader_parameter/uv_scale = Vector2(2, 2) +shader_parameter/time_scale = 0.2 +shader_parameter/edge_bleed = 0.25 +shader_parameter/gunk_mask = ExtResource("9_xuj2g") +shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2") +shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc") +shader_parameter/jitter_magnitude = 0.1 +shader_parameter/jitter_time_scale = 0.1 +shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi") +shader_parameter/vertex_inflation = 0.0 +shader_parameter/inflation_pixellation = 10.0 + [node name="PlayerShip" type="Node3D"] script = ExtResource("1_0r2ng") [node name="StaticBody3D" type="StaticBody3D" parent="."] collision_layer = 5 -[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D"] +[node name="PlayerShipMesh" type="MeshInstance3D" parent="StaticBody3D"] +sorting_offset = 3.0 mesh = ExtResource("1_nafoa") -surface_material_override/0 = SubResource("StandardMaterial3D_nafoa") -surface_material_override/1 = SubResource("StandardMaterial3D_8m8oy") -surface_material_override/2 = SubResource("StandardMaterial3D_xpsdy") -surface_material_override/3 = SubResource("StandardMaterial3D_nbws3") + +[node name="TankFacadeMesh" type="MeshInstance3D" parent="StaticBody3D"] +mesh = ExtResource("8_2mvif") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_xpsdy") [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_nafoa") @@ -62,4 +109,14 @@ metadata/_custom_type_script = "uid://deg5xd87cy8rg" transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.85, 1.35, 4.5) shape = SubResource("SphereShape3D_e4hmc") +[node name="LiquidOffset" type="Node3D" parent="."] +transform = Transform3D(0.95, 0, 0, 0, 0.95, 0, 0, 0, 0.95, 0, -2.8, 6) + +[node name="GrunkLiquid" type="MeshInstance3D" parent="LiquidOffset"] +unique_name_in_owner = true +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0) +mesh = ExtResource("8_xuj2g") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("ShaderMaterial_3trrp") + [connection signal="activated" from="TankInteractor" to="." method="deposit_grunk"]