Compare commits
No commits in common. "cc177f7bebc8e330d08c39c0ccbae3217dadd7a2" and "1a57d923269c8581d51022d54087f0b9bd224832" have entirely different histories.
cc177f7beb
...
1a57d92326
12 changed files with 31 additions and 125 deletions
Binary file not shown.
Binary file not shown.
|
@ -1,19 +0,0 @@
|
|||
shader_type spatial;
|
||||
render_mode specular_disabled, vertex_lighting;
|
||||
|
||||
uniform vec3 color_a : source_color = vec3(1.0);
|
||||
uniform vec3 color_b : source_color = vec3(0.0);
|
||||
uniform float stripe_count = 2.0;
|
||||
uniform float twist_factor = 1.0;
|
||||
uniform float speed = 0.5;
|
||||
|
||||
void vertex() {
|
||||
float world_height = (MODEL_MATRIX * vec4(VERTEX, 1.0)).y;
|
||||
UV.y = world_height - TIME * speed;
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
float twisted_x = UV.x - (UV.y * twist_factor);
|
||||
float stripe = step(sin(twisted_x * stripe_count * TAU), 0.0);
|
||||
ALBEDO = mix(color_a, color_b, stripe);
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
extends Node
|
||||
|
||||
|
||||
@export var scene_parent: Node
|
||||
|
||||
|
||||
var current_scene: Node
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
var tree = get_tree()
|
||||
# capture main scene
|
||||
if tree.current_scene != self:
|
||||
change_scene(tree.current_scene)
|
||||
tree.current_scene = self
|
||||
|
||||
|
||||
func change_scene(new_scene: Node) -> void:
|
||||
# avoid infinite recursion :P
|
||||
if current_scene == new_scene:
|
||||
return
|
||||
# remove current scene
|
||||
if current_scene:
|
||||
scene_parent.remove_child(current_scene)
|
||||
current_scene.queue_free()
|
||||
# add new scene
|
||||
if new_scene.is_inside_tree():
|
||||
new_scene.get_parent().remove_child.call_deferred(new_scene)
|
||||
scene_parent.add_child.call_deferred(new_scene)
|
||||
current_scene = new_scene
|
|
@ -1,37 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://dxrvocxjk8vs3"]
|
||||
|
||||
[ext_resource type="Script" path="res://autoloads/scene_manager.gd" id="1_d112a"]
|
||||
|
||||
[node name="SceneManager" type="Node" node_paths=PackedStringArray("scene_parent")]
|
||||
script = ExtResource("1_d112a")
|
||||
scene_parent = NodePath("HBoxContainer/MainView/SubViewportContainer/SubViewport")
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="SideBar" type="Control" parent="HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="MainView" type="Control" parent="HBoxContainer"]
|
||||
custom_minimum_size = Vector2(288, 216)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 10
|
||||
|
||||
[node name="SubViewportContainer" type="SubViewportContainer" parent="HBoxContainer/MainView"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="HBoxContainer/MainView/SubViewportContainer"]
|
||||
handle_input_locally = false
|
||||
audio_listener_enable_3d = true
|
||||
size = Vector2i(288, 216)
|
||||
render_target_update_mode = 4
|
|
@ -163,10 +163,8 @@ func _start_winning() -> void:
|
|||
#region Pole Spinning
|
||||
var _attached_pole: WatermanPole = null
|
||||
var _pole_angle: float = 0.0
|
||||
var _pole_stored_speed: float = 0.0
|
||||
|
||||
func _start_pole_spin() -> void:
|
||||
_pole_stored_speed = flatten_vector(velocity).length()
|
||||
velocity = Vector3.ZERO
|
||||
var pole_xz = flatten_vector(_attached_pole.global_position)
|
||||
var self_xz = flatten_vector(global_position)
|
||||
|
@ -191,7 +189,7 @@ func _process_pole_spin(delta: float) -> void:
|
|||
|
||||
func _end_pole_spin() -> void:
|
||||
var pole_xz = flatten_vector(_attached_pole.global_position)
|
||||
var impulse = Vector3.FORWARD.rotated(Vector3.UP, _pole_angle) * _pole_stored_speed
|
||||
var impulse = Vector3.FORWARD.rotated(Vector3.UP, _pole_angle) * _attached_pole.release_boost
|
||||
velocity.x = impulse.x
|
||||
velocity.z = impulse.z
|
||||
#endregion
|
||||
|
|
|
@ -24,7 +24,7 @@ shading_mode = 0
|
|||
albedo_color = Color(0.916968, 0.113727, 0, 1)
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_4o01j"]
|
||||
radius = 0.45
|
||||
radius = 0.9
|
||||
|
||||
[sub_resource type="AudioStreamInteractive" id="AudioStreamInteractive_plnjn"]
|
||||
clip_count = 3
|
||||
|
@ -39,7 +39,7 @@ clip_2/auto_advance = 0
|
|||
[sub_resource type="CylinderMesh" id="CylinderMesh_b16dl"]
|
||||
top_radius = 0.05
|
||||
bottom_radius = 0.05
|
||||
height = 4.0
|
||||
height = 8.0
|
||||
radial_segments = 4
|
||||
rings = 0
|
||||
|
||||
|
@ -87,7 +87,7 @@ shape = SubResource("SphereShape3D_4o01j")
|
|||
[node name="Graphics" type="Node3D" parent="."]
|
||||
|
||||
[node name="CannySprite" type="Sprite3D" parent="Graphics"]
|
||||
pixel_size = 0.0156
|
||||
pixel_size = 0.0313
|
||||
billboard = 1
|
||||
texture_filter = 0
|
||||
texture = ExtResource("1_cp4br")
|
||||
|
@ -127,7 +127,7 @@ bus = &"Sounds"
|
|||
visible = false
|
||||
|
||||
[node name="PowerLine" type="MeshInstance3D" parent="PowerIndicator"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 2)
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 4)
|
||||
material_override = SubResource("StandardMaterial3D_2xpb7")
|
||||
cast_shadow = 0
|
||||
gi_mode = 0
|
||||
|
@ -135,7 +135,6 @@ mesh = SubResource("CylinderMesh_b16dl")
|
|||
|
||||
[node name="CameraArm" type="SpringArm3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.5, 0.866025, 0, -0.866025, 0.5, 0, 0, 0)
|
||||
collision_mask = 8
|
||||
spring_length = 8.0
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="CameraArm"]
|
||||
|
@ -214,8 +213,8 @@ delay_in_seconds = "0.0"
|
|||
[connection signal="shot" from="." to="Sounds/Shoot" method="play"]
|
||||
[connection signal="state_physics_processing" from="StateChart/Root/Idle" to="." method="_apply_gravity"]
|
||||
[connection signal="state_physics_processing" from="StateChart/Root/Moving" to="." method="_bounce_on_walls"]
|
||||
[connection signal="state_physics_processing" from="StateChart/Root/Moving" to="." method="_slow_to_stop"]
|
||||
[connection signal="state_physics_processing" from="StateChart/Root/Moving" to="." method="_apply_gravity"]
|
||||
[connection signal="state_physics_processing" from="StateChart/Root/Moving" to="." method="_slow_to_stop"]
|
||||
[connection signal="state_entered" from="StateChart/Root/Charging" to="." method="_start_charge"]
|
||||
[connection signal="state_entered" from="StateChart/Root/Charging" to="Sounds/ChargeStart" method="play"]
|
||||
[connection signal="state_exited" from="StateChart/Root/Charging" to="." method="_end_charge"]
|
||||
|
|
|
@ -11,9 +11,9 @@ metallic_specular = 0.0
|
|||
|
||||
[sub_resource type="CylinderMesh" id="CylinderMesh_i27ie"]
|
||||
material = SubResource("StandardMaterial3D_e2vbu")
|
||||
top_radius = 0.1
|
||||
bottom_radius = 0.1
|
||||
height = 4.0
|
||||
top_radius = 0.2
|
||||
bottom_radius = 0.2
|
||||
height = 6.0
|
||||
radial_segments = 6
|
||||
rings = 8
|
||||
|
||||
|
@ -30,12 +30,13 @@ shader_parameter/wave_scale = 0.25
|
|||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_mfpmh"]
|
||||
material = SubResource("ShaderMaterial_3urv4")
|
||||
size = Vector2(2, 1)
|
||||
size = Vector2(3, 1.5)
|
||||
subdivide_width = 6
|
||||
center_offset = Vector3(1, 0, 0)
|
||||
center_offset = Vector3(1.5, -0.75, 0)
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_eshe3"]
|
||||
height = 0.5
|
||||
radius = 1.0
|
||||
|
||||
[node name="GoalPost" type="Node3D"]
|
||||
script = ExtResource("1_08x2x")
|
||||
|
@ -43,16 +44,16 @@ script = ExtResource("1_08x2x")
|
|||
[node name="Graphics" type="Node3D" parent="."]
|
||||
|
||||
[node name="Pole" type="MeshInstance3D" parent="Graphics"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0)
|
||||
mesh = SubResource("CylinderMesh_i27ie")
|
||||
|
||||
[node name="Flag" type="MeshInstance3D" parent="Graphics"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.5, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6, 0)
|
||||
mesh = SubResource("QuadMesh_mfpmh")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Graphics"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.01, 0)
|
||||
pixel_size = 0.0313
|
||||
pixel_size = 0.0625
|
||||
axis = 1
|
||||
alpha_cut = 2
|
||||
texture_filter = 0
|
||||
|
|
|
@ -6,6 +6,7 @@ extends Node3D
|
|||
@export_range(-1,1,0.5,"or_less","or_greater","radians_as_degrees")
|
||||
var spin_speed: float
|
||||
@export var offset: float
|
||||
@export var release_boost: float
|
||||
|
||||
@export_group("Node References")
|
||||
@export var top: Node3D
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://13qlrib2dk36"]
|
||||
[gd_scene load_steps=6 format=3 uid="uid://13qlrib2dk36"]
|
||||
|
||||
[ext_resource type="Script" path="res://objects/waterman_pole.gd" id="1_8whes"]
|
||||
[ext_resource type="Shader" path="res://assets/shaders/barber_shop.gdshader" id="2_dukp0"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2dh7w"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("2_dukp0")
|
||||
shader_parameter/color_a = Color(0.792663, 0.606026, 0.896219, 1)
|
||||
shader_parameter/color_b = Color(0.106954, 0.441954, 1, 1)
|
||||
shader_parameter/stripe_count = 2.0
|
||||
shader_parameter/twist_factor = 0.75
|
||||
shader_parameter/speed = 0.5
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6xwjl"]
|
||||
shading_mode = 2
|
||||
specular_mode = 2
|
||||
albedo_color = Color(3.27289e-06, 0.685269, 0.929658, 1)
|
||||
metallic_specular = 0.0
|
||||
|
||||
[sub_resource type="CylinderMesh" id="CylinderMesh_nbwjg"]
|
||||
top_radius = 0.25
|
||||
|
@ -21,7 +17,7 @@ rings = 8
|
|||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_28fhu"]
|
||||
height = 1.0
|
||||
radius = 0.125
|
||||
radius = 0.25
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_o6xmv"]
|
||||
height = 1.0
|
||||
|
@ -29,14 +25,11 @@ radius = 0.4
|
|||
|
||||
[node name="WatermanPole" type="Node3D" node_paths=PackedStringArray("top")]
|
||||
script = ExtResource("1_8whes")
|
||||
rise_speed = 6.0
|
||||
spin_speed = 9.42478
|
||||
offset = 0.75
|
||||
top = NodePath("Top")
|
||||
|
||||
[node name="PoleMesh" type="MeshInstance3D" parent="."]
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
material_override = SubResource("ShaderMaterial_2dh7w")
|
||||
material_override = SubResource("StandardMaterial3D_6xwjl")
|
||||
mesh = SubResource("CylinderMesh_nbwjg")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
||||
|
|
|
@ -15,14 +15,10 @@ run/main_scene="res://test_scene.tscn"
|
|||
config/features=PackedStringArray("4.3", "GL Compatibility")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
[autoload]
|
||||
|
||||
SceneManager="*res://autoloads/scene_manager.tscn"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=384
|
||||
window/size/viewport_height=216
|
||||
window/size/viewport_width=320
|
||||
window/size/viewport_height=240
|
||||
window/stretch/mode="viewport"
|
||||
|
||||
[editor_plugins]
|
||||
|
|
|
@ -76,3 +76,7 @@ transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107,
|
|||
|
||||
[node name="WatermanPole" parent="." instance=ExtResource("7_m8si3")]
|
||||
transform = Transform3D(1, 0, 0, 0, 16, 0, 0, 0, 1, 0, 0, 0)
|
||||
rise_speed = 8.0
|
||||
spin_speed = 12.5664
|
||||
offset = 1.0
|
||||
release_boost = 20.0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue