From 583f844bac200ba78462abb5b5b776c52ba85d9e Mon Sep 17 00:00:00 2001 From: wanp Date: Wed, 12 Feb 2025 22:45:09 -0300 Subject: [PATCH] add proper water bomb model --- assets/water-bomb.glb | Bin 0 -> 32388 bytes assets/water-bomb.glb.import | 47 ++++++++++++++++++++++++++++++ assets/water_bomb_sphere_mat.tres | 16 ++++++++++ assets/water_bomb_top_mat.tres | 16 ++++++++++ src/ingame/player.gd | 2 +- src/ingame/water_bomb.gd | 10 +++++-- src/ingame/water_bomb.tscn | 26 +++++------------ 7 files changed, 95 insertions(+), 22 deletions(-) create mode 100644 assets/water-bomb.glb create mode 100644 assets/water-bomb.glb.import create mode 100644 assets/water_bomb_sphere_mat.tres create mode 100644 assets/water_bomb_top_mat.tres diff --git a/assets/water-bomb.glb b/assets/water-bomb.glb new file mode 100644 index 0000000000000000000000000000000000000000..85fd38df2d56c5663c4199475c2e438dbfafa5ce GIT binary patch literal 32388 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 KM|tET`2PbUE3$ void: velocity.y = JUMP_VELOCITY # Get the input direction and handle the movement/deceleration. - # As good practice, you should replace UI actions with custom gameplay actions. var direction := (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() if direction: velocity.x = direction.x * SPEED @@ -131,6 +130,7 @@ func _unhandled_input(event: InputEvent) -> void: _projectile_holder.add_child(new_projectile, true) _set_projectile_authority.rpc(new_projectile.get_path(), id) new_projectile.set_global_pos.rpc(_projectile_point.global_position) + new_projectile.rotation = rotation new_projectile.sender_body = self new_projectile.sender_id = id diff --git a/src/ingame/water_bomb.gd b/src/ingame/water_bomb.gd index a8d982d..b26d04c 100644 --- a/src/ingame/water_bomb.gd +++ b/src/ingame/water_bomb.gd @@ -20,6 +20,10 @@ func _ready() -> void: func _process(delta: float) -> void: + # spin around, no need to replicate this + _model.basis = _model.basis.rotated(Vector3(1, 0, 0), -((TAU*2) * delta)) + _model.basis = _model.basis.orthonormalized() + if not is_multiplayer_authority(): return @@ -80,8 +84,10 @@ func get_picked_up() -> void: func mark_interactive() -> void: - (_model as CSGSphere3D).material_override.next_pass.set("shader_parameter/color", Color.WHITE) + for submodel in _model.get_children(): + (submodel as MeshInstance3D).mesh.surface_get_material(0).next_pass.set("shader_parameter/color", Color.WHITE) func mark_non_interactive() -> void: - (_model as CSGSphere3D).material_override.next_pass.set("shader_parameter/color", Color(1, 1, 1, 0)) + for submodel in _model.get_children(): + (submodel as MeshInstance3D).mesh.surface_get_material(0).next_pass.set("shader_parameter/color", Color(1, 1, 1, 0)) diff --git a/src/ingame/water_bomb.tscn b/src/ingame/water_bomb.tscn index 1b9f7e0..dba4e75 100644 --- a/src/ingame/water_bomb.tscn +++ b/src/ingame/water_bomb.tscn @@ -1,10 +1,9 @@ -[gd_scene load_steps=15 format=3 uid="uid://tdsbo3e5ic86"] +[gd_scene load_steps=12 format=3 uid="uid://tdsbo3e5ic86"] [ext_resource type="Script" path="res://src/ingame/water_bomb.gd" id="1_lk5fq"] -[ext_resource type="PackedScene" uid="uid://s2a1pry5fw8f" path="res://scenes/water_bomb_model.tscn" id="2_0lxuq"] [ext_resource type="AudioStream" uid="uid://dtjpv2b74g24m" path="res://assets/sfx/splash-small.wav" id="2_0wk8g"] +[ext_resource type="PackedScene" uid="uid://ba2mut58elwrh" path="res://assets/water-bomb.glb" id="2_v2imr"] [ext_resource type="AudioStream" uid="uid://blgrl2wl05feq" path="res://assets/sfx/splash-small-quiet.wav" id="3_hgy7l"] -[ext_resource type="Shader" path="res://scenes/interactivity_outline.gdshader" id="3_vfl1p"] [ext_resource type="Script" path="res://src/lib/item_component.gd" id="5_rpnf2"] [sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_0ebrr"] @@ -26,20 +25,9 @@ properties/4/replication_mode = 2 properties/5/path = NodePath("SplashParticles:emitting") properties/5/spawn = true properties/5/replication_mode = 2 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_cpgfr"] -resource_local_to_scene = true -render_priority = 0 -shader = ExtResource("3_vfl1p") -shader_parameter/color = Color(1, 1, 1, 0) -shader_parameter/size = 1.24 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dykfn"] -resource_local_to_scene = true -next_pass = SubResource("ShaderMaterial_cpgfr") -albedo_color = Color(0.0936238, 0.825356, 1, 1) -metallic = 0.8 -roughness = 0.4 +properties/6/path = NodePath(".:rotation") +properties/6/spawn = true +properties/6/replication_mode = 1 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_v7dnr"] albedo_color = Color(0, 1, 1, 1) @@ -74,8 +62,8 @@ body = NodePath("RigidBody3D") [node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."] replication_config = SubResource("SceneReplicationConfig_0ebrr") -[node name="Model" parent="." instance=ExtResource("2_0lxuq")] -material_override = SubResource("StandardMaterial3D_dykfn") +[node name="Model" parent="." instance=ExtResource("2_v2imr")] +transform = Transform3D(-0.994881, 0, -0.101056, 0, 1, 0, 0.101056, 0, -0.994881, 0, 0, 0) [node name="SplashParticles" type="GPUParticles3D" parent="."] material_override = SubResource("StandardMaterial3D_v7dnr")