From bba9227d332b6eee9c8a146a0688a8d0829ef97d Mon Sep 17 00:00:00 2001 From: Michele Valente Date: Sat, 7 Oct 2017 15:08:34 +0200 Subject: [PATCH] Updated indentations and whitespace usage as well as .import & .tscn files the changes are made according to the official GDScript style guide (http://docs.godotengine.org/en/latest/learning/scripting/gdscript/gdscript_styleguide.html). The changes in the .tscn and .import files were done automatically by Godot after opening the project with the latest master version. --- viewport/2d_in_3d/2D_in_3D.gd | 18 +-- viewport/2d_in_3d/2D_in_3D.tscn | 115 +++++++++++-------- viewport/2d_in_3d/ball.png.import | 1 + viewport/2d_in_3d/default_env.tres | 2 +- viewport/2d_in_3d/icon.png.import | 1 + viewport/2d_in_3d/left_pallete.png.import | 1 + viewport/2d_in_3d/pong.gd | 19 ++- viewport/2d_in_3d/project.godot | 4 + viewport/2d_in_3d/right_pallete.png.import | 1 + viewport/2d_in_3d/separator.png.import | 1 + viewport/3d_in_2d/3D_in_2D.gd | 35 +++--- viewport/3d_in_2d/3D_in_2D.tscn | 3 +- viewport/3d_in_2d/default_env.tres | 2 +- viewport/3d_in_2d/icon.png.import | 1 + viewport/3d_in_2d/player.gd | 6 +- viewport/3d_in_2d/project.godot | 4 + viewport/3d_in_2d/robot_demo.png.import | 1 + viewport/gui_in_3d/Gui_in_3D.tscn | 79 +++++++------ viewport/gui_in_3d/default_env.tres | 2 +- viewport/gui_in_3d/gui_3d.gd | 105 ++++++++--------- viewport/gui_in_3d/icon.png.import | 1 + viewport/gui_in_3d/project.godot | 4 + viewport/screen_capture/icon.png.import | 1 + viewport/screen_capture/mountains.png.import | 1 + viewport/screen_capture/project.godot | 4 + viewport/screen_capture/screen_capture.gd | 32 +++--- 26 files changed, 248 insertions(+), 196 deletions(-) diff --git a/viewport/2d_in_3d/2D_in_3D.gd b/viewport/2d_in_3d/2D_in_3D.gd index a034d7b1..329a5d0c 100644 --- a/viewport/2d_in_3d/2D_in_3D.gd +++ b/viewport/2d_in_3d/2D_in_3D.gd @@ -1,12 +1,14 @@ extends Spatial func _ready(): - # Get the viewport and clear it - var viewport = get_node("Viewport") - viewport.set_clear_mode(Viewport.CLEAR_MODE_ONLY_NEXT_FRAME) - # Let two frames pass to make sure the vieport's is captured - yield(get_tree(), "idle_frame") - yield(get_tree(), "idle_frame") - # Retrieve the texture and set it to the viewport quad - get_node("Viewport_quad").material_override.albedo_texture = viewport.get_texture() + # Get the viewport and clear it + var viewport = get_node("Viewport") + viewport.set_clear_mode(Viewport.CLEAR_MODE_ONLY_NEXT_FRAME) + + # Let two frames pass to make sure the vieport's is captured + yield(get_tree(), "idle_frame") + yield(get_tree(), "idle_frame") + + # Retrieve the texture and set it to the viewport quad + get_node("Viewport_quad").material_override.albedo_texture = viewport.get_texture() diff --git a/viewport/2d_in_3d/2D_in_3D.tscn b/viewport/2d_in_3d/2D_in_3D.tscn index 89aa290d..affddd1e 100644 --- a/viewport/2d_in_3d/2D_in_3D.tscn +++ b/viewport/2d_in_3d/2D_in_3D.tscn @@ -23,11 +23,13 @@ func e(): [sub_resource type="SpatialMaterial" id=3] +render_priority = 0 flags_transparent = false flags_unshaded = false flags_vertex_lighting = false -flags_on_top = false +flags_no_depth_test = false flags_use_point_size = false +flags_world_triplanar = false flags_fixed_size = false vertex_color_use_as_albedo = false vertex_color_is_srgb = false @@ -55,6 +57,7 @@ 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 ) @@ -65,10 +68,13 @@ uv2_scale = Vector3( 1, 1, 1 ) uv2_offset = Vector3( 0, 0, 0 ) uv2_triplanar = false uv2_triplanar_sharpness = 1.0 +proximity_fade_enable = false +proximity_fade_distance = 1.0 +distance_fade_enable = false script = SubResource( 2 ) _sections_unfolded = [ "Roughness" ] -[sub_resource type="ProceduralSky" id=9] +[sub_resource type="ProceduralSky" id=4] radiance_size = 4 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 ) @@ -88,7 +94,7 @@ sun_curve = 0.05 sun_energy = 16.0 texture_size = 2 -[sub_resource type="GDScript" id=10] +[sub_resource type="GDScript" id=5] script/source = "tool extends Object @@ -96,11 +102,11 @@ func e(): return .4 " -[sub_resource type="Environment" id=11] +[sub_resource type="Environment" id=6] background_mode = 2 -background_sky = SubResource( 9 ) -background_sky_scale = 1.0 +background_sky = SubResource( 4 ) +background_sky_custom_fov = 0.0 background_color = Color( 0.445312, 0.445312, 0.445312, 1 ) background_energy = 1.0 background_canvas_max_layer = 0 @@ -172,23 +178,25 @@ adjustment_enabled = false adjustment_brightness = 1.0 adjustment_contrast = 1.0 adjustment_saturation = 1.0 -script = SubResource( 10 ) +script = SubResource( 5 ) _sections_unfolded = [ "Ambient Light", "Background" ] -[sub_resource type="CubeMesh" id=5] +[sub_resource type="CubeMesh" id=7] size = Vector3( 2, 2, 2 ) subdivide_width = 0 subdivide_height = 0 subdivide_depth = 0 -[sub_resource type="SpatialMaterial" id=6] +[sub_resource type="SpatialMaterial" id=8] +render_priority = 0 flags_transparent = false flags_unshaded = false flags_vertex_lighting = false -flags_on_top = false +flags_no_depth_test = false flags_use_point_size = false +flags_world_triplanar = false flags_fixed_size = false vertex_color_use_as_albedo = false vertex_color_is_srgb = false @@ -216,6 +224,7 @@ 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 ) @@ -226,9 +235,12 @@ uv2_scale = Vector3( 1, 1, 1 ) uv2_offset = Vector3( 0, 0, 0 ) uv2_triplanar = false uv2_triplanar_sharpness = 1.0 +proximity_fade_enable = false +proximity_fade_distance = 1.0 +distance_fade_enable = false _sections_unfolded = [ "Albedo" ] -[sub_resource type="GDScript" id=7] +[sub_resource type="GDScript" id=9] script/source = "tool extends Object @@ -236,7 +248,7 @@ func e(): return 1 " -[sub_resource type="GDScript" id=8] +[sub_resource type="GDScript" id=10] script/source = "tool extends Object @@ -244,7 +256,7 @@ func e(): return .7 " -[sub_resource type="GDScript" id=18] +[sub_resource type="GDScript" id=11] script/source = "tool extends Object @@ -252,21 +264,23 @@ func e(): return 0.1 " -[sub_resource type="CubeMesh" id=19] +[sub_resource type="CubeMesh" id=12] size = Vector3( 1.1, 0.8, 0.1 ) subdivide_width = 0 subdivide_height = 0 subdivide_depth = 0 -script = SubResource( 18 ) +script = SubResource( 11 ) -[sub_resource type="SpatialMaterial" id=20] +[sub_resource type="SpatialMaterial" id=13] +render_priority = 0 flags_transparent = false flags_unshaded = false flags_vertex_lighting = false -flags_on_top = false +flags_no_depth_test = false flags_use_point_size = false +flags_world_triplanar = false flags_fixed_size = false vertex_color_use_as_albedo = false vertex_color_is_srgb = false @@ -294,6 +308,7 @@ 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 ) @@ -304,6 +319,9 @@ uv2_scale = Vector3( 1, 1, 1 ) uv2_offset = Vector3( 0, 0, 0 ) uv2_triplanar = false uv2_triplanar_sharpness = 1.0 +proximity_fade_enable = false +proximity_fade_distance = 1.0 +distance_fade_enable = false [node name="2D_in_3D" type="Spatial"] @@ -331,7 +349,6 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false use_in_baked_light = false lod_min_distance = 0.0 lod_min_hysteresis = 0.0 @@ -344,7 +361,7 @@ _sections_unfolded = [ "Geometry", "Transform", "material" ] [node name="WorldEnvironment" type="WorldEnvironment" parent="."] -environment = SubResource( 11 ) +environment = SubResource( 6 ) [node name="Pillar" type="Spatial" parent="."] @@ -359,16 +376,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 5 ) +mesh = SubResource( 7 ) skeleton = NodePath("..") -material/0 = SubResource( 6 ) -script = SubResource( 7 ) +material/0 = SubResource( 8 ) +script = SubResource( 9 ) _sections_unfolded = [ "Transform", "material" ] [node name="Pillar_top" type="MeshInstance" parent="Pillar"] @@ -378,16 +394,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 5 ) +mesh = SubResource( 7 ) skeleton = NodePath("..") -material/0 = SubResource( 6 ) -script = SubResource( 7 ) +material/0 = SubResource( 8 ) +script = SubResource( 9 ) _sections_unfolded = [ "Transform", "material" ] [node name="Pillar_middle" type="MeshInstance" parent="Pillar"] @@ -397,16 +412,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 5 ) +mesh = SubResource( 7 ) skeleton = NodePath("..") -material/0 = SubResource( 6 ) -script = SubResource( 8 ) +material/0 = SubResource( 8 ) +script = SubResource( 10 ) _sections_unfolded = [ "Transform", "material" ] [node name="Pillar2" type="Spatial" parent="."] @@ -422,16 +436,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 5 ) +mesh = SubResource( 7 ) skeleton = NodePath("..") -material/0 = SubResource( 6 ) -script = SubResource( 7 ) +material/0 = SubResource( 8 ) +script = SubResource( 9 ) _sections_unfolded = [ "Transform", "material" ] [node name="Pillar_top" type="MeshInstance" parent="Pillar2"] @@ -441,16 +454,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 5 ) +mesh = SubResource( 7 ) skeleton = NodePath("..") -material/0 = SubResource( 6 ) -script = SubResource( 7 ) +material/0 = SubResource( 8 ) +script = SubResource( 9 ) _sections_unfolded = [ "Transform", "material" ] [node name="Pillar_middle" type="MeshInstance" parent="Pillar2"] @@ -460,16 +472,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 5 ) +mesh = SubResource( 7 ) skeleton = NodePath("..") -material/0 = SubResource( 6 ) -script = SubResource( 8 ) +material/0 = SubResource( 8 ) +script = SubResource( 10 ) _sections_unfolded = [ "Transform", "material" ] [node name="Pillar_back" type="MeshInstance" parent="."] @@ -479,20 +490,19 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 19 ) +mesh = SubResource( 12 ) skeleton = NodePath("..") -material/0 = SubResource( 6 ) +material/0 = SubResource( 8 ) _sections_unfolded = [ "Transform", "material" ] [node name="DirectionalLight" type="DirectionalLight" parent="."] -transform = Transform( 0.844221, -0.229172, 0.484531, -0.202351, 0.700819, 0.684037, -0.496331, -0.675524, 0.545273, 9.02684, 0, 1.28613 ) +transform = Transform( 0.623013, -0.733525, 0.271654, 0.321394, 0.55667, 0.766044, -0.713134, -0.389948, 0.582563, 9.02684, 0, 1.28613 ) layers = 1 light_color = Color( 1, 1, 1, 1 ) light_energy = 1.0 @@ -503,7 +513,7 @@ shadow_enabled = true shadow_color = Color( 0, 0, 0, 1 ) shadow_bias = 0.1 shadow_contact = 0.0 -shadow_max_distance = 200.0 +shadow_reverse_cull_face = false editor_only = false directional_shadow_mode = 2 directional_shadow_split_1 = 0.1 @@ -511,16 +521,18 @@ directional_shadow_split_2 = 0.2 directional_shadow_split_3 = 0.5 directional_shadow_blend_splits = true directional_shadow_normal_bias = 0.2 +directional_shadow_bias_split_scale = 0.25 +directional_shadow_depth_range = 0 +directional_shadow_max_distance = 200.0 _sections_unfolded = [ "Directional Shadow" ] [node name="Viewport_quad" type="MeshInstance" parent="."] transform = Transform( -2, 8.74228e-08, 0, 7.64274e-15, 4.37114e-08, 1.333, 1.74846e-07, 1, -5.82673e-08, 0, 1.20996, -5.25875 ) layers = 1 -material_override = SubResource( 20 ) +material_override = SubResource( 13 ) cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false use_in_baked_light = false lod_min_distance = 0.0 lod_min_hysteresis = 0.0 @@ -544,12 +556,13 @@ disable_3d = false usage = 0 debug_draw = 0 render_target_v_flip = true -render_target_clear_on_new_frame = true +render_target_clear_mode = 0 render_target_update_mode = 2 audio_listener_enable_2d = false audio_listener_enable_3d = false physics_object_picking = false gui_disable_input = false +gui_snap_controls_to_pixels = true shadow_atlas_size = 0 shadow_atlas_quad_0 = 2 shadow_atlas_quad_1 = 2 diff --git a/viewport/2d_in_3d/ball.png.import b/viewport/2d_in_3d/ball.png.import index 2a8a5b2e..3adae105 100644 --- a/viewport/2d_in_3d/ball.png.import +++ b/viewport/2d_in_3d/ball.png.import @@ -21,3 +21,4 @@ process/HDR_as_SRGB=false stream=false size_limit=0 detect_3d=true +svg/scale=1.0 diff --git a/viewport/2d_in_3d/default_env.tres b/viewport/2d_in_3d/default_env.tres index 3236a130..0dd90843 100644 --- a/viewport/2d_in_3d/default_env.tres +++ b/viewport/2d_in_3d/default_env.tres @@ -24,7 +24,7 @@ texture_size = 2 background_mode = 2 background_sky = SubResource( 1 ) -background_sky_scale = 1.0 +background_sky_custom_fov = 0.0 background_color = Color( 0, 0, 0, 1 ) background_energy = 1.0 background_canvas_max_layer = 0 diff --git a/viewport/2d_in_3d/icon.png.import b/viewport/2d_in_3d/icon.png.import index 627820bd..42e94a35 100644 --- a/viewport/2d_in_3d/icon.png.import +++ b/viewport/2d_in_3d/icon.png.import @@ -21,3 +21,4 @@ process/HDR_as_SRGB=false stream=false size_limit=0 detect_3d=true +svg/scale=1.0 diff --git a/viewport/2d_in_3d/left_pallete.png.import b/viewport/2d_in_3d/left_pallete.png.import index e2a30f16..5b107210 100644 --- a/viewport/2d_in_3d/left_pallete.png.import +++ b/viewport/2d_in_3d/left_pallete.png.import @@ -21,3 +21,4 @@ process/HDR_as_SRGB=false stream=false size_limit=0 detect_3d=true +svg/scale=1.0 diff --git a/viewport/2d_in_3d/pong.gd b/viewport/2d_in_3d/pong.gd index bfadcb28..da7b3cab 100644 --- a/viewport/2d_in_3d/pong.gd +++ b/viewport/2d_in_3d/pong.gd @@ -14,11 +14,11 @@ const PAD_SPEED = 150 func _process(delta): # Get ball position and pad rectangles var ball_pos = get_node("ball").get_position() - var left_rect = Rect2(get_node("left").get_position() - pad_size*0.5, pad_size) - var right_rect = Rect2(get_node("right").get_position() - pad_size*0.5, pad_size) + var left_rect = Rect2(get_node("left").get_position() - pad_size * 0.5, pad_size) + var right_rect = Rect2(get_node("right").get_position() - pad_size * 0.5, pad_size) # Integrate new ball postion - ball_pos += direction*ball_speed*delta + ball_pos += direction * ball_speed * delta # Flip when touching roof or floor if ((ball_pos.y < 0 and direction.y < 0) or (ball_pos.y > screen_size.y and direction.y > 0)): @@ -28,12 +28,12 @@ func _process(delta): if ((left_rect.has_point(ball_pos) and direction.x < 0) or (right_rect.has_point(ball_pos) and direction.x > 0)): direction.x = -direction.x ball_speed *= 1.1 - direction.y = randf()*2.0 - 1 + direction.y = randf() * 2.0 - 1 direction = direction.normalized() # Check gameover if (ball_pos.x < 0 or ball_pos.x > screen_size.x): - ball_pos = screen_size*0.5 + ball_pos = screen_size * 0.5 ball_speed = INITIAL_BALL_SPEED direction = Vector2(-1, 0) @@ -43,19 +43,18 @@ func _process(delta): var left_pos = get_node("left").get_position() if (left_pos.y > 0 and Input.is_action_pressed("left_move_up")): - left_pos.y += -PAD_SPEED*delta + left_pos.y += -PAD_SPEED * delta if (left_pos.y < screen_size.y and Input.is_action_pressed("left_move_down")): - left_pos.y += PAD_SPEED*delta + left_pos.y += PAD_SPEED * delta get_node("left").set_position(left_pos) # Move right pad var right_pos = get_node("right").get_position() - if (right_pos.y > 0 and Input.is_action_pressed("right_move_up")): - right_pos.y += -PAD_SPEED*delta + right_pos.y += -PAD_SPEED * delta if (right_pos.y < screen_size.y and Input.is_action_pressed("right_move_down")): - right_pos.y += PAD_SPEED*delta + right_pos.y += PAD_SPEED * delta get_node("right").set_position(right_pos) diff --git a/viewport/2d_in_3d/project.godot b/viewport/2d_in_3d/project.godot index ec041f41..d32f76a3 100644 --- a/viewport/2d_in_3d/project.godot +++ b/viewport/2d_in_3d/project.godot @@ -14,6 +14,10 @@ config/name="2d in 3d" run/main_scene="res://2D_in_3D.tscn" config/icon="res://icon.png" +[gdnative] + +singletons=[ ] + [input] left_move_up=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null) diff --git a/viewport/2d_in_3d/right_pallete.png.import b/viewport/2d_in_3d/right_pallete.png.import index 2024d2b6..842d0c1d 100644 --- a/viewport/2d_in_3d/right_pallete.png.import +++ b/viewport/2d_in_3d/right_pallete.png.import @@ -21,3 +21,4 @@ process/HDR_as_SRGB=false stream=false size_limit=0 detect_3d=true +svg/scale=1.0 diff --git a/viewport/2d_in_3d/separator.png.import b/viewport/2d_in_3d/separator.png.import index 1c2197fe..8a52cbde 100644 --- a/viewport/2d_in_3d/separator.png.import +++ b/viewport/2d_in_3d/separator.png.import @@ -21,3 +21,4 @@ process/HDR_as_SRGB=false stream=false size_limit=0 detect_3d=true +svg/scale=1.0 diff --git a/viewport/3d_in_2d/3D_in_2D.gd b/viewport/3d_in_2d/3D_in_2D.gd index f86a3dc6..c5f2a736 100644 --- a/viewport/3d_in_2d/3D_in_2D.gd +++ b/viewport/3d_in_2d/3D_in_2D.gd @@ -11,25 +11,26 @@ const FRAME_SWITCH_TIME = 0.2 var frame_swtich_timer = 0 func _ready(): - viewport = get_node("Viewport") - sprite = get_node("Sprite") - viewport_sprite = get_node("Viewport_Sprite") + viewport = get_node("Viewport") + sprite = get_node("Sprite") + viewport_sprite = get_node("Viewport_Sprite") + + # Assign the sprite's texture to the viewport texture + viewport.set_clear_mode(Viewport.CLEAR_MODE_ONLY_NEXT_FRAME) + + # Let two frames pass to make sure the screen was captured + yield(get_tree(), "idle_frame") + yield(get_tree(), "idle_frame") + viewport_sprite.texture = viewport.get_texture() - # Assign the sprite's texture to the viewport texture - viewport.set_clear_mode(Viewport.CLEAR_MODE_ONLY_NEXT_FRAME) - # Let two frames pass to make sure the screen was captured - yield(get_tree(), "idle_frame") - yield(get_tree(), "idle_frame") - viewport_sprite.texture = viewport.get_texture() - - set_process(true) + set_process(true) # Simple frame based animation func _process(delta): - frame_swtich_timer += delta - if (frame_swtich_timer >= FRAME_SWITCH_TIME): - frame_swtich_timer -= FRAME_SWITCH_TIME - sprite.frame += 1 - if (sprite.frame > MAX_FRAME_FOR_SPITE): - sprite.frame = 0 + frame_swtich_timer += delta + if (frame_swtich_timer >= FRAME_SWITCH_TIME): + frame_swtich_timer -= FRAME_SWITCH_TIME + sprite.frame += 1 + if (sprite.frame > MAX_FRAME_FOR_SPITE): + sprite.frame = 0 diff --git a/viewport/3d_in_2d/3D_in_2D.tscn b/viewport/3d_in_2d/3D_in_2D.tscn index 20600a1f..55eac8fb 100644 --- a/viewport/3d_in_2d/3D_in_2D.tscn +++ b/viewport/3d_in_2d/3D_in_2D.tscn @@ -37,12 +37,13 @@ disable_3d = false usage = 2 debug_draw = 0 render_target_v_flip = false -render_target_clear_on_new_frame = true +render_target_clear_mode = 0 render_target_update_mode = 2 audio_listener_enable_2d = false audio_listener_enable_3d = false physics_object_picking = false gui_disable_input = false +gui_snap_controls_to_pixels = true shadow_atlas_size = 0 shadow_atlas_quad_0 = 2 shadow_atlas_quad_1 = 2 diff --git a/viewport/3d_in_2d/default_env.tres b/viewport/3d_in_2d/default_env.tres index 2cdac68a..dcff6d17 100644 --- a/viewport/3d_in_2d/default_env.tres +++ b/viewport/3d_in_2d/default_env.tres @@ -25,7 +25,7 @@ _sections_unfolded = [ "Ground" ] background_mode = 2 background_sky = SubResource( 1 ) -background_sky_scale = 1.0 +background_sky_custom_fov = 0.0 background_color = Color( 0, 0, 0, 1 ) background_energy = 1.0 background_canvas_max_layer = 0 diff --git a/viewport/3d_in_2d/icon.png.import b/viewport/3d_in_2d/icon.png.import index 627820bd..42e94a35 100644 --- a/viewport/3d_in_2d/icon.png.import +++ b/viewport/3d_in_2d/icon.png.import @@ -21,3 +21,4 @@ process/HDR_as_SRGB=false stream=false size_limit=0 detect_3d=true +svg/scale=1.0 diff --git a/viewport/3d_in_2d/player.gd b/viewport/3d_in_2d/player.gd index 85e8d357..3af17668 100644 --- a/viewport/3d_in_2d/player.gd +++ b/viewport/3d_in_2d/player.gd @@ -6,9 +6,9 @@ var model = null const SPEED = 40 func _ready(): - model = get_node("Armature") - set_process(true) + model = get_node("Armature") + set_process(true) func _process(delta): - model.rotation_deg.y += delta * SPEED \ No newline at end of file + model.rotation_deg.y += delta * SPEED \ No newline at end of file diff --git a/viewport/3d_in_2d/project.godot b/viewport/3d_in_2d/project.godot index 068e68ed..fbfed817 100644 --- a/viewport/3d_in_2d/project.godot +++ b/viewport/3d_in_2d/project.godot @@ -14,6 +14,10 @@ config/name="3d in 2d" run/main_scene="res://3D_in_2D.tscn" config/icon="res://icon.png" +[gdnative] + +singletons=[ ] + [rendering] environment/default_environment="res://default_env.tres" diff --git a/viewport/3d_in_2d/robot_demo.png.import b/viewport/3d_in_2d/robot_demo.png.import index 7ede098d..49cff49b 100644 --- a/viewport/3d_in_2d/robot_demo.png.import +++ b/viewport/3d_in_2d/robot_demo.png.import @@ -21,3 +21,4 @@ process/HDR_as_SRGB=false stream=false size_limit=0 detect_3d=true +svg/scale=1.0 diff --git a/viewport/gui_in_3d/Gui_in_3D.tscn b/viewport/gui_in_3d/Gui_in_3D.tscn index 0e1e3e04..d0bfe71d 100644 --- a/viewport/gui_in_3d/Gui_in_3D.tscn +++ b/viewport/gui_in_3d/Gui_in_3D.tscn @@ -12,11 +12,13 @@ func e(): [sub_resource type="SpatialMaterial" id=2] +render_priority = 0 flags_transparent = false flags_unshaded = false flags_vertex_lighting = false -flags_on_top = false +flags_no_depth_test = false flags_use_point_size = false +flags_world_triplanar = false flags_fixed_size = false vertex_color_use_as_albedo = false vertex_color_is_srgb = false @@ -44,6 +46,7 @@ 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 ) @@ -54,6 +57,9 @@ uv2_scale = Vector3( 1, 1, 1 ) uv2_offset = Vector3( 0, 0, 0 ) uv2_triplanar = false uv2_triplanar_sharpness = 1.0 +proximity_fade_enable = false +proximity_fade_distance = 1.0 +distance_fade_enable = false script = SubResource( 1 ) _sections_unfolded = [ "UV1" ] @@ -84,7 +90,7 @@ func e(): extents = Vector3( 1, 1, 0.01 ) script = SubResource( 5 ) -[sub_resource type="Animation" id=8] +[sub_resource type="Animation" id=7] resource_name = "Move_camera" length = 6.0 @@ -102,13 +108,13 @@ tracks/0/keys = { "values": [ Transform( 0.994592, 0, 0.103856, 0, 1, 0, -0.103856, 0, 0.994592, 0.465682, 0, 1.78523 ), Transform( 0.962984, 0, -0.269557, 0, 1, 0, 0.269557, 0, 0.962984, -0.462237, 0, 2.41934 ), Transform( 0.806599, 0, -0.591098, 0, 1, 0, 0.591098, 0, 0.806599, -1.59502, 0, 2.05358 ), Transform( 0.994592, 0, 0.103856, 0, 1, 0, -0.103856, 0, 0.994592, 0.465682, 0, 1.78523 ) ] } -[sub_resource type="PlaneMesh" id=9] +[sub_resource type="PlaneMesh" id=8] size = Vector2( 2, 2 ) subdivide_width = 0 subdivide_depth = 0 -[sub_resource type="GDScript" id=10] +[sub_resource type="GDScript" id=9] script/source = "tool extends Object @@ -116,7 +122,7 @@ func e(): return 0 " -[sub_resource type="GDScript" id=11] +[sub_resource type="GDScript" id=10] script/source = "tool extends Object @@ -124,7 +130,7 @@ func e(): return 90 " -[sub_resource type="GDScript" id=12] +[sub_resource type="GDScript" id=11] script/source = "tool extends Object @@ -132,20 +138,22 @@ func e(): return 0 " -[sub_resource type="CubeMesh" id=13] +[sub_resource type="CubeMesh" id=12] size = Vector3( 2, 2, 2 ) subdivide_width = 0 subdivide_height = 0 subdivide_depth = 0 -[sub_resource type="SpatialMaterial" id=14] +[sub_resource type="SpatialMaterial" id=13] +render_priority = 0 flags_transparent = false flags_unshaded = false flags_vertex_lighting = false -flags_on_top = false +flags_no_depth_test = false flags_use_point_size = false +flags_world_triplanar = false flags_fixed_size = false vertex_color_use_as_albedo = false vertex_color_is_srgb = false @@ -173,6 +181,7 @@ 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 ) @@ -183,9 +192,12 @@ uv2_scale = Vector3( 1, 1, 1 ) uv2_offset = Vector3( 0, 0, 0 ) uv2_triplanar = false uv2_triplanar_sharpness = 1.0 +proximity_fade_enable = false +proximity_fade_distance = 1.0 +distance_fade_enable = false _sections_unfolded = [ "Albedo" ] -[sub_resource type="GDScript" id=15] +[sub_resource type="GDScript" id=14] script/source = "tool extends Object @@ -211,12 +223,13 @@ disable_3d = false usage = 0 debug_draw = 0 render_target_v_flip = true -render_target_clear_on_new_frame = true +render_target_clear_mode = 0 render_target_update_mode = 2 audio_listener_enable_2d = false audio_listener_enable_3d = false physics_object_picking = false gui_disable_input = false +gui_snap_controls_to_pixels = true shadow_atlas_size = 0 shadow_atlas_quad_0 = 2 shadow_atlas_quad_1 = 2 @@ -361,7 +374,6 @@ layers = 1 material_override = SubResource( 2 ) cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false use_in_baked_light = false lod_min_distance = 0.0 lod_min_hysteresis = 0.0 @@ -407,7 +419,7 @@ shadow_enabled = true shadow_color = Color( 0, 0, 0, 1 ) shadow_bias = 0.15 shadow_contact = 0.0 -shadow_max_distance = 0.0 +shadow_reverse_cull_face = false editor_only = false omni_range = 10.0 omni_attenuation = 1.0 @@ -420,7 +432,7 @@ _sections_unfolded = [ "Light", "Omni", "Shadow" ] playback_process_mode = 1 playback_default_blend_time = 0.0 root_node = NodePath("..") -anims/Move_camera = SubResource( 8 ) +anims/Move_camera = SubResource( 7 ) playback/active = true playback/speed = 1.0 blend_times = [ ] @@ -437,16 +449,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 9 ) +mesh = SubResource( 8 ) skeleton = NodePath("..") material/0 = null -script = SubResource( 10 ) +script = SubResource( 9 ) _sections_unfolded = [ "Transform" ] [node name="Wall2" type="MeshInstance" parent="3D_background"] @@ -456,16 +467,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 9 ) +mesh = SubResource( 8 ) skeleton = NodePath("..") material/0 = null -script = SubResource( 10 ) +script = SubResource( 9 ) _sections_unfolded = [ "Transform" ] [node name="Wall3" type="MeshInstance" parent="3D_background"] @@ -475,16 +485,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 9 ) +mesh = SubResource( 8 ) skeleton = NodePath("..") material/0 = null -script = SubResource( 11 ) +script = SubResource( 10 ) _sections_unfolded = [ "Transform" ] [node name="Floor" type="MeshInstance" parent="3D_background"] @@ -494,16 +503,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 9 ) +mesh = SubResource( 8 ) skeleton = NodePath("..") material/0 = null -script = SubResource( 12 ) +script = SubResource( 11 ) _sections_unfolded = [ "Transform" ] [node name="Floor2" type="MeshInstance" parent="3D_background"] @@ -513,16 +521,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 9 ) +mesh = SubResource( 8 ) skeleton = NodePath("..") material/0 = null -script = SubResource( 12 ) +script = SubResource( 11 ) _sections_unfolded = [ "Transform" ] [node name="Cube" type="MeshInstance" parent="3D_background"] @@ -532,16 +539,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 13 ) +mesh = SubResource( 12 ) skeleton = NodePath("..") -material/0 = SubResource( 14 ) -script = SubResource( 15 ) +material/0 = SubResource( 13 ) +script = SubResource( 14 ) _sections_unfolded = [ "Transform" ] [node name="Cube2" type="MeshInstance" parent="3D_background"] @@ -551,16 +557,15 @@ layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 -visible_in_all_rooms = false 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 -mesh = SubResource( 13 ) +mesh = SubResource( 12 ) skeleton = NodePath("..") -material/0 = SubResource( 14 ) -script = SubResource( 15 ) +material/0 = SubResource( 13 ) +script = SubResource( 14 ) _sections_unfolded = [ "Transform" ] diff --git a/viewport/gui_in_3d/default_env.tres b/viewport/gui_in_3d/default_env.tres index 5125f64d..d5bffde2 100644 --- a/viewport/gui_in_3d/default_env.tres +++ b/viewport/gui_in_3d/default_env.tres @@ -33,7 +33,7 @@ func e(): background_mode = 2 background_sky = SubResource( 1 ) -background_sky_scale = 1.0 +background_sky_custom_fov = 0.0 background_color = Color( 0, 0, 0, 1 ) background_energy = 1.0 background_canvas_max_layer = 0 diff --git a/viewport/gui_in_3d/gui_3d.gd b/viewport/gui_in_3d/gui_3d.gd index 8a7e1167..89e462d7 100644 --- a/viewport/gui_in_3d/gui_3d.gd +++ b/viewport/gui_in_3d/gui_3d.gd @@ -8,68 +8,69 @@ var viewport = null func _input(event): - #Check if the event is a non-mouse event - var is_mouse_event = false - var mouse_events = [InputEventMouseButton, InputEventMouseMotion, InputEventScreenDrag, InputEventScreenTouch] - for mouse_event in mouse_events: - if (event is mouse_event): - is_mouse_event = true - break + #Check if the event is a non-mouse event + var is_mouse_event = false + var mouse_events = [InputEventMouseButton, InputEventMouseMotion, InputEventScreenDrag, InputEventScreenTouch] + for mouse_event in mouse_events: + if (event is mouse_event): + is_mouse_event = true + break - # If it is, then pass the event to the viewport - if (is_mouse_event == false): - viewport.input(event) + # If it is, then pass the event to the viewport + if (is_mouse_event == false): + viewport.input(event) # Mouse events for Area func _on_area_input_event(camera, event, click_pos, click_normal, shape_idx): + # Use click pos (click in 3d space, convert to area space) + var pos = get_node("Area").get_global_transform().affine_inverse() + # the click pos is not zero, then use it to convert from 3D space to area space + if (click_pos.x != 0 or click_pos.y != 0 or click_pos.z != 0): + pos *= click_pos + last_click_pos = click_pos + else: + # Otherwise, we have a motion event and need to use our last click pos + # and move it according to the relative position of the event. + # NOTE: this is not an exact 1-1 conversion, but it's pretty close + pos *= last_click_pos + if (event is InputEventMouseMotion or event is InputEventScreenDrag): + pos.x += event.relative.x / viewport.size.x + pos.y += event.relative.y / viewport.size.y + last_click_pos = pos - # Use click pos (click in 3d space, convert to area space) - var pos = get_node("Area").get_global_transform().affine_inverse() - # the click pos is not zero, then use it to convert from 3D space to area space - if (click_pos.x != 0 or click_pos.y != 0 or click_pos.z != 0): - pos *= click_pos - last_click_pos = click_pos - else: - # Otherwise, we have a motion event and need to use our last click pos - # and move it according to the relative position of the event. - # NOTE: this is not an exact 1-1 conversion, but it's pretty close - pos *= last_click_pos - if (event is InputEventMouseMotion or event is InputEventScreenDrag): - pos.x += event.relative.x / viewport.size.x - pos.y += event.relative.y / viewport.size.y - last_click_pos = pos - - # Convert to 2D - pos = Vector2(pos.x, pos.y) + # Convert to 2D + pos = Vector2(pos.x, pos.y) - # Convert to viewport coordinate system - # Convert pos to a range from (0 - 1) - pos.y *= -1 - pos += Vector2(1, 1) - pos = pos / 2 + # Convert to viewport coordinate system + # Convert pos to a range from (0 - 1) + pos.y *= -1 + pos += Vector2(1, 1) + pos = pos / 2 - # Convert pos to be in range of the viewport - pos.x *= viewport.size.x - pos.y *= viewport.size.y - # Set the position in event - event.position = pos - event.global_position = pos - if (prev_pos == null): - prev_pos = pos - if (event is InputEventMouseMotion): - event.relative = pos - prev_pos - prev_pos = pos - # Send the event to the viewport - viewport.input(event) + # Convert pos to be in range of the viewport + pos.x *= viewport.size.x + pos.y *= viewport.size.y + + # Set the position in event + event.position = pos + event.global_position = pos + if (prev_pos == null): + prev_pos = pos + if (event is InputEventMouseMotion): + event.relative = pos - prev_pos + prev_pos = pos + + # Send the event to the viewport + viewport.input(event) func _ready(): - viewport = get_node("Viewport") - get_node("Area").connect("input_event", self, "_on_area_input_event") + viewport = get_node("Viewport") + get_node("Area").connect("input_event", self, "_on_area_input_event") - # Set the quad's albedo texture to the viewport texture - var tex = viewport.get_texture() - get_node("Area/Quad").material_override.albedo_texture = tex + # Set the quad's albedo texture to the viewport texture + var tex = viewport.get_texture() + get_node("Area/Quad").material_override.albedo_texture = tex - set_process_input(true) + set_process_input(true) diff --git a/viewport/gui_in_3d/icon.png.import b/viewport/gui_in_3d/icon.png.import index 627820bd..42e94a35 100644 --- a/viewport/gui_in_3d/icon.png.import +++ b/viewport/gui_in_3d/icon.png.import @@ -21,3 +21,4 @@ process/HDR_as_SRGB=false stream=false size_limit=0 detect_3d=true +svg/scale=1.0 diff --git a/viewport/gui_in_3d/project.godot b/viewport/gui_in_3d/project.godot index af95cb89..90c8e071 100644 --- a/viewport/gui_in_3d/project.godot +++ b/viewport/gui_in_3d/project.godot @@ -14,6 +14,10 @@ config/name="gui in 3d" run/main_scene="res://Gui_in_3D.tscn" config/icon="res://icon.png" +[gdnative] + +singletons=[ ] + [rendering] environment/default_environment="res://default_env.tres" diff --git a/viewport/screen_capture/icon.png.import b/viewport/screen_capture/icon.png.import index 627820bd..42e94a35 100644 --- a/viewport/screen_capture/icon.png.import +++ b/viewport/screen_capture/icon.png.import @@ -21,3 +21,4 @@ process/HDR_as_SRGB=false stream=false size_limit=0 detect_3d=true +svg/scale=1.0 diff --git a/viewport/screen_capture/mountains.png.import b/viewport/screen_capture/mountains.png.import index 9496ac42..239a014e 100644 --- a/viewport/screen_capture/mountains.png.import +++ b/viewport/screen_capture/mountains.png.import @@ -21,3 +21,4 @@ process/HDR_as_SRGB=false stream=false size_limit=0 detect_3d=true +svg/scale=1.0 diff --git a/viewport/screen_capture/project.godot b/viewport/screen_capture/project.godot index 496dc49b..1dbe72df 100644 --- a/viewport/screen_capture/project.godot +++ b/viewport/screen_capture/project.godot @@ -13,6 +13,10 @@ config_version=3 config/name="screen capture" config/icon="res://icon.png" +[gdnative] + +singletons=[ ] + [rendering] environment/default_environment="res://default_env.tres" diff --git a/viewport/screen_capture/screen_capture.gd b/viewport/screen_capture/screen_capture.gd index 5ec6fcc6..e558b666 100644 --- a/viewport/screen_capture/screen_capture.gd +++ b/viewport/screen_capture/screen_capture.gd @@ -3,20 +3,24 @@ extends Control func _ready(): - get_node("Button").connect("pressed", self, "_on_button_pressed"); + get_node("Button").connect("pressed", self, "_on_button_pressed"); func _on_button_pressed(): - get_viewport().set_clear_mode(Viewport.CLEAR_MODE_ONLY_NEXT_FRAME) - # Let two frames pass to make sure the screen was captured - yield(get_tree(), "idle_frame") - yield(get_tree(), "idle_frame") - # Retrieve the captured image - var img = get_viewport().get_texture().get_data() - # Flip it on the y-axis (because it's flipped) - img.flip_y() - # Create a texture for it - var tex = ImageTexture.new() - tex.create_from_image(img) - # Set it to the capture node - get_node("capture").set_texture(tex) + get_viewport().set_clear_mode(Viewport.CLEAR_MODE_ONLY_NEXT_FRAME) + # Let two frames pass to make sure the screen was captured + yield(get_tree(), "idle_frame") + yield(get_tree(), "idle_frame") + + # Retrieve the captured image + var img = get_viewport().get_texture().get_data() + + # Flip it on the y-axis (because it's flipped) + img.flip_y() + + # Create a texture for it + var tex = ImageTexture.new() + tex.create_from_image(img) + + # Set it to the capture node + get_node("capture").set_texture(tex)