From c8e8890e3028f6cedf043e4d28454ce96012b134 Mon Sep 17 00:00:00 2001 From: adrienmalin <41926238+adrienmalin@users.noreply.github.com> Date: Tue, 1 Jan 2019 14:46:49 +0100 Subject: [PATCH] redo trail --- GridMap/GridMap.gd | 3 + GridMap/GridMap.tscn | 2 +- Tetrominos/Mino/Mino.tscn | 192 ++++++++++++++++++++++++++++- Tetrominos/Mino/TrailMaterial.tres | 55 +++++++++ Tetrominos/Tetromino.gd | 6 +- 5 files changed, 254 insertions(+), 4 deletions(-) create mode 100644 Tetrominos/Mino/TrailMaterial.tres diff --git a/GridMap/GridMap.gd b/GridMap/GridMap.gd index 364bfca..ff376ee 100644 --- a/GridMap/GridMap.gd +++ b/GridMap/GridMap.gd @@ -85,6 +85,7 @@ func random_piece(): func new_piece(): current_piece = next_piece current_piece.translation = START_POSITION + current_piece.emit_trail(true) autoshift_action = "" next_piece = random_piece() next_piece.translation = NEXT_POSITION @@ -220,11 +221,13 @@ func line_clear(): func hold(): if not current_piece_held: + current_piece.emit_trail(false) if held_piece: var tmp = held_piece held_piece = current_piece current_piece = tmp current_piece.translation = START_POSITION + current_piece.emit_trail(true) else: held_piece = current_piece new_piece() diff --git a/GridMap/GridMap.tscn b/GridMap/GridMap.tscn index cf525d6..68c7775 100644 --- a/GridMap/GridMap.tscn +++ b/GridMap/GridMap.tscn @@ -15,7 +15,7 @@ subdivide_width = 0 subdivide_height = 0 subdivide_depth = 0 -[node name="GridMap" type="GridMap" index="0"] +[node name="GridMap" type="GridMap"] editor/display_folded = true theme = ExtResource( 1 ) diff --git a/Tetrominos/Mino/Mino.tscn b/Tetrominos/Mino/Mino.tscn index 4720e6d..2708ffa 100644 --- a/Tetrominos/Mino/Mino.tscn +++ b/Tetrominos/Mino/Mino.tscn @@ -1,9 +1,168 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=9 format=2] [ext_resource path="res://Tetrominos/Mino/MinoMesh.tscn" type="PackedScene" id=1] [ext_resource path="res://Tetrominos/Mino/MinoMesh.tres" type="CubeMesh" id=2] [ext_resource path="res://Tetrominos/Mino/SpotLight.tscn" type="PackedScene" id=3] +[sub_resource type="SpatialMaterial" id=1] + +render_priority = 0 +flags_transparent = true +flags_unshaded = false +flags_vertex_lighting = false +flags_no_depth_test = false +flags_use_point_size = false +flags_world_triplanar = false +flags_fixed_size = false +flags_albedo_tex_force_srgb = false +vertex_color_use_as_albedo = false +vertex_color_is_srgb = false +params_diffuse_mode = 0 +params_specular_mode = 0 +params_blend_mode = 1 +params_cull_mode = 0 +params_depth_draw_mode = 0 +params_line_width = 1.0 +params_point_size = 1.0 +params_billboard_mode = 0 +params_grow = false +params_use_alpha_scissor = false +albedo_color = Color( 0.601563, 0.775878, 1, 0.270275 ) +metallic = 0.68 +metallic_specular = 1.0 +metallic_texture_channel = 0 +roughness = 0.0 +roughness_texture_channel = 0 +emission_enabled = false +normal_enabled = false +rim_enabled = false +clearcoat_enabled = false +anisotropy_enabled = false +ao_enabled = false +depth_enabled = false +subsurf_scatter_enabled = false +transmission_enabled = false +refraction_enabled = false +detail_enabled = false +uv1_scale = Vector3( 1, 1, 1 ) +uv1_offset = Vector3( 0, 0, 0 ) +uv1_triplanar = false +uv1_triplanar_sharpness = 1.0 +uv2_scale = Vector3( 1, 1, 1 ) +uv2_offset = Vector3( 0, 0, 0 ) +uv2_triplanar = false +uv2_triplanar_sharpness = 1.0 +proximity_fade_enable = true +proximity_fade_distance = 1.0 +distance_fade_enable = false +_sections_unfolded = [ "Albedo", "Emission", "Metallic", "NormalMap", "Proximity Fade" ] + +[sub_resource type="GradientTexture" id=2] + +flags = 4 +width = 2048 + +[sub_resource type="ParticlesMaterial" id=3] + +render_priority = 0 +trail_divisor = 1 +emission_shape = 0 +flag_align_y = false +flag_rotate_y = false +flag_disable_z = true +spread = 0.0 +flatness = 0.0 +gravity = Vector3( 0, 0, 0 ) +initial_velocity = 0.0 +initial_velocity_random = 0.0 +angular_velocity = 0.0 +angular_velocity_random = 0.0 +orbit_velocity = 0.0 +orbit_velocity_random = 0.0 +linear_accel = 0.0 +linear_accel_random = 0.0 +radial_accel = 0.0 +radial_accel_random = 0.0 +tangential_accel = 0.0 +tangential_accel_random = 0.0 +damping = 0.0 +damping_random = 0.0 +angle = 0.0 +angle_random = 0.0 +scale = 1.0 +scale_random = 0.0 +color_ramp = SubResource( 2 ) +hue_variation = 0.0 +hue_variation_random = 0.0 +anim_speed = 0.0 +anim_speed_random = 0.0 +anim_offset = 0.0 +anim_offset_random = 0.0 +anim_loop = false +_sections_unfolded = [ "Color", "Gravity" ] + +[sub_resource type="SpatialMaterial" id=4] + +render_priority = 0 +flags_transparent = true +flags_unshaded = false +flags_vertex_lighting = false +flags_no_depth_test = false +flags_use_point_size = false +flags_world_triplanar = false +flags_fixed_size = false +flags_albedo_tex_force_srgb = false +vertex_color_use_as_albedo = false +vertex_color_is_srgb = false +params_diffuse_mode = 0 +params_specular_mode = 0 +params_blend_mode = 1 +params_cull_mode = 0 +params_depth_draw_mode = 0 +params_line_width = 1.0 +params_point_size = 1.0 +params_billboard_mode = 0 +params_grow = false +params_use_alpha_scissor = false +albedo_color = Color( 0.601563, 0.775878, 1, 0.0196078 ) +metallic = 0.68 +metallic_specular = 1.0 +metallic_texture_channel = 0 +roughness = 0.0 +roughness_texture_channel = 0 +emission_enabled = false +normal_enabled = false +rim_enabled = false +clearcoat_enabled = false +anisotropy_enabled = false +ao_enabled = false +depth_enabled = false +subsurf_scatter_enabled = false +transmission_enabled = false +refraction_enabled = false +detail_enabled = false +uv1_scale = Vector3( 1, 1, 1 ) +uv1_offset = Vector3( 0, 0, 0 ) +uv1_triplanar = false +uv1_triplanar_sharpness = 1.0 +uv2_scale = Vector3( 1, 1, 1 ) +uv2_offset = Vector3( 0, 0, 0 ) +uv2_triplanar = false +uv2_triplanar_sharpness = 1.0 +proximity_fade_enable = true +proximity_fade_distance = 1.0 +distance_fade_enable = false +_sections_unfolded = [ "Albedo", "Emission", "Proximity Fade" ] + +[sub_resource type="CubeMesh" id=5] + +material = SubResource( 4 ) +custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) +size = Vector3( 0.9, 0.9, 0.9 ) +subdivide_width = 0 +subdivide_height = 0 +subdivide_depth = 0 + [node name="Mino" type="Spatial" index="0"] _sections_unfolded = [ "Pause", "Transform", "Visibility" ] @@ -14,7 +173,36 @@ mesh = ExtResource( 2 ) material/0 = null _sections_unfolded = [ "Geometry", "Transform", "material" ] -[node name="SpotLight" parent="." index="1" instance=ExtResource( 3 )] +[node name="Trail" type="Particles" parent="." index="1"] + +layers = 1 +material_override = SubResource( 1 ) +cast_shadow = 1 +extra_cull_margin = 0.0 +use_in_baked_light = false +lod_min_distance = 0.0 +lod_min_hysteresis = 0.0 +lod_max_distance = 0.0 +lod_max_hysteresis = 0.0 +emitting = false +amount = 4 +lifetime = 0.05 +one_shot = false +preprocess = 0.0 +speed_scale = 1.0 +explosiveness = 0.0 +randomness = 0.0 +fixed_fps = 0 +fract_delta = true +visibility_aabb = AABB( -0.5, -0.5, -0.5, 1, 1, 1 ) +local_coords = false +draw_order = 0 +process_material = SubResource( 3 ) +draw_passes = 1 +draw_pass_1 = SubResource( 5 ) +_sections_unfolded = [ "Draw Passes", "Drawing", "Geometry", "LOD", "Process Material", "Time", "Transform" ] + +[node name="SpotLight" parent="." index="2" instance=ExtResource( 3 )] transform = Transform( 1, 0, 0, 0, -4.37114e-008, 1, 0, -1, -4.37114e-008, 0, 0, 1 ) light_energy = 4.0 diff --git a/Tetrominos/Mino/TrailMaterial.tres b/Tetrominos/Mino/TrailMaterial.tres new file mode 100644 index 0000000..bcb8f91 --- /dev/null +++ b/Tetrominos/Mino/TrailMaterial.tres @@ -0,0 +1,55 @@ +[gd_resource type="SpatialMaterial" format=2] + +[resource] + +render_priority = 0 +flags_transparent = true +flags_unshaded = false +flags_vertex_lighting = false +flags_no_depth_test = false +flags_use_point_size = false +flags_world_triplanar = false +flags_fixed_size = false +flags_albedo_tex_force_srgb = false +vertex_color_use_as_albedo = false +vertex_color_is_srgb = false +params_diffuse_mode = 0 +params_specular_mode = 0 +params_blend_mode = 1 +params_cull_mode = 0 +params_depth_draw_mode = 0 +params_line_width = 1.0 +params_point_size = 1.0 +params_billboard_mode = 0 +params_grow = false +params_use_alpha_scissor = false +albedo_color = Color( 0.601563, 0.775878, 1, 0.0196078 ) +metallic = 0.68 +metallic_specular = 1.0 +metallic_texture_channel = 0 +roughness = 0.0 +roughness_texture_channel = 0 +emission_enabled = false +normal_enabled = false +rim_enabled = false +clearcoat_enabled = false +anisotropy_enabled = false +ao_enabled = false +depth_enabled = false +subsurf_scatter_enabled = false +transmission_enabled = false +refraction_enabled = false +detail_enabled = false +uv1_scale = Vector3( 1, 1, 1 ) +uv1_offset = Vector3( 0, 0, 0 ) +uv1_triplanar = false +uv1_triplanar_sharpness = 1.0 +uv2_scale = Vector3( 1, 1, 1 ) +uv2_offset = Vector3( 0, 0, 0 ) +uv2_triplanar = false +uv2_triplanar_sharpness = 1.0 +proximity_fade_enable = true +proximity_fade_distance = 1.0 +distance_fade_enable = false +_sections_unfolded = [ "Albedo", "Emission", "Proximity Fade" ] + diff --git a/Tetrominos/Tetromino.gd b/Tetrominos/Tetromino.gd index f74c78d..5016530 100644 --- a/Tetrominos/Tetromino.gd +++ b/Tetrominos/Tetromino.gd @@ -120,4 +120,8 @@ func rotate(direction): apply_positions(rotated_positions) translate(movement) return true - return false \ No newline at end of file + return false + +func emit_trail(emit): + for mino in minoes: + mino.get_node("Trail").emitting = emit \ No newline at end of file