Skip to content

Commit 691f1d9

Browse files
authored
Merge pull request #393 from aaronfranke/viewport
Update remaining Viewport demos to Godot 3.1.2
2 parents ff93de8 + cb5906a commit 691f1d9

File tree

13 files changed

+313
-127
lines changed

13 files changed

+313
-127
lines changed

viewport/3d_in_2d/3D_in_2D.gd renamed to viewport/3d_in_2d/3d_in_2d.gd

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,37 @@
11
extends Node2D
22

3-
# Member variables
4-
var viewport = null
5-
var sprite = null
6-
var viewport_sprite = null
7-
8-
var viewport_initial_size = Vector2()
9-
10-
# variables for the sprite animation
3+
# These first 3 members are for the sprite animation.
114
const MAX_FRAME_FOR_SPRITE = 4
125
const FRAME_SWITCH_TIME = 0.2
6+
137
var frame_switch_timer = 0
8+
var viewport_initial_size = Vector2()
9+
10+
onready var viewport = $Viewport
11+
onready var sprite = $Sprite2D
12+
onready var viewport_sprite = $ViewportSprite
1413

1514
func _ready():
15+
# We want Godot to load everything but be hidden for a bit.
16+
viewport_sprite.modulate = Color(1, 1, 1, 0.01)
17+
#warning-ignore:return_value_discarded
1618
get_viewport().connect("size_changed", self, "_root_viewport_size_changed")
17-
18-
viewport = get_node("Viewport")
19-
sprite = get_node("Sprite")
20-
viewport_sprite = get_node("Viewport_Sprite")
21-
2219
viewport_initial_size = viewport.size
2320

24-
# Assign the sprite's texture to the viewport texture
21+
# Assign the sprite's texture to the viewport texture.
2522
viewport.set_clear_mode(Viewport.CLEAR_MODE_ONLY_NEXT_FRAME)
2623

27-
# Let two frames pass to make sure the screen was captured
24+
# Let two frames pass to make sure the screen was captured.
2825
yield(get_tree(), "idle_frame")
2926
yield(get_tree(), "idle_frame")
3027
viewport_sprite.texture = viewport.get_texture()
28+
# Hide a little bit longer just in case.
29+
for _unused in range(50):
30+
yield(get_tree(), "idle_frame")
31+
viewport_sprite.modulate = Color.white # Default modulate color.
3132

32-
set_process(true)
3333

34-
35-
# Simple frame-based animation
34+
# Simple frame-based animation.
3635
func _process(delta):
3736
frame_switch_timer += delta
3837
if frame_switch_timer >= FRAME_SWITCH_TIME:
@@ -41,6 +40,7 @@ func _process(delta):
4140
if sprite.frame > MAX_FRAME_FOR_SPRITE:
4241
sprite.frame = 0
4342

43+
4444
# Called when the root's viewport size changes (i.e. when the window is resized).
4545
# This is done to handle multiple resolutions without losing quality.
4646
func _root_viewport_size_changed():
Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
[gd_scene load_steps=4 format=2]
22

3-
[ext_resource path="res://player.scn" type="PackedScene" id=1]
3+
[ext_resource path="res://3d_in_2d.gd" type="Script" id=1]
44
[ext_resource path="res://robot_demo.png" type="Texture" id=2]
5-
[ext_resource path="res://3D_in_2D.gd" type="Script" id=3]
5+
[ext_resource path="res://robot_3d.tscn" type="PackedScene" id=3]
66

7-
[node name="3D_in_2D" type="Node2D"]
8-
script = ExtResource( 3 )
7+
[node name="3Din2D" type="Node2D"]
8+
script = ExtResource( 1 )
99

10-
[node name="Sprite" type="Sprite" parent="."]
10+
[node name="Sprite2D" type="Sprite" parent="."]
1111
position = Vector2( 339.942, 311.204 )
1212
scale = Vector2( 3, 3 )
1313
texture = ExtResource( 2 )
1414
vframes = 2
1515
hframes = 16
1616
frame = 4
1717

18-
[node name="Viewport_Sprite" type="Sprite" parent="."]
18+
[node name="ViewportSprite" type="Sprite" parent="."]
1919
position = Vector2( 600, 320 )
2020
rotation = 3.14159
2121

@@ -27,13 +27,8 @@ msaa = 2
2727
hdr = false
2828
usage = 3
2929

30-
[node name="player" parent="Viewport" instance=ExtResource( 1 )]
31-
32-
[node name="Camera" parent="Viewport/player" index="1"]
33-
current = true
30+
[node name="Robot3D" parent="Viewport" instance=ExtResource( 3 )]
3431

3532
[node name="Camera2D" type="Camera2D" parent="."]
3633
offset = Vector2( 512, 300 )
3734
current = true
38-
39-
[editable path="Viewport/player"]

viewport/3d_in_2d/player.gd

Lines changed: 0 additions & 14 deletions
This file was deleted.

viewport/3d_in_2d/player.scn

-25.1 KB
Binary file not shown.

viewport/3d_in_2d/project.godot

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ _global_script_class_icons={
1616
[application]
1717

1818
config/name="3D in 2D"
19-
run/main_scene="res://3D_in_2D.tscn"
19+
run/main_scene="res://3d_in_2d.tscn"
2020
config/icon="res://icon.png"
2121

2222
[display]

viewport/3d_in_2d/robot_3d.gd

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
extends KinematicBody
2+
3+
# A simple script to rotate the model.
4+
onready var model = $Armature
5+
const SPEED = 40
6+
7+
func _process(delta):
8+
model.rotation_degrees.y += delta * SPEED

viewport/3d_in_2d/robot_3d.tscn

Lines changed: 238 additions & 0 deletions
Large diffs are not rendered by default.

viewport/gui_in_3d/gui_3d.gd

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
extends Spatial
2-
# Member variables
2+
33
# The size of the quad mesh itself.
44
var quad_mesh_size
55
# Used for checking if the mouse is inside the Area
@@ -10,12 +10,11 @@ var is_mouse_held = false
1010
var last_mouse_pos3D = null
1111
# The last processed input touch/mouse event. To calculate relative movement.
1212
var last_mouse_pos2D = null
13-
# Most used nodes
13+
1414
onready var node_viewport = $Viewport
1515
onready var node_quad = $Quad
1616
onready var node_area = $Quad/Area
1717

18-
1918
func _ready():
2019
node_area.connect("mouse_entered", self, "_mouse_entered_area")
2120

@@ -169,4 +168,3 @@ func rotate_area_to_billboard():
169168

170169
# Rotate in the Z axis to compensate camera tilt
171170
node_area.rotate_object_local(Vector3.BACK, camera.rotation.z)
172-

viewport/gui_in_3d/gui_in_3d.tscn

Lines changed: 22 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
[gd_scene load_steps=10 format=2]
1+
[gd_scene load_steps=6 format=2]
22

3-
[ext_resource path="res://view_gui.tscn" type="PackedScene" id=1]
3+
[ext_resource path="res://gui_panel_3d.tscn" type="PackedScene" id=1]
44

55
[sub_resource type="Animation" id=1]
66
length = 6.0
@@ -20,43 +20,15 @@ tracks/0/keys = {
2020

2121
[sub_resource type="PlaneMesh" id=2]
2222

23-
[sub_resource type="GDScript" id=3]
24-
script/source = "tool
25-
extends Object
26-
func e():
27-
return 0
28-
"
29-
30-
[sub_resource type="GDScript" id=4]
31-
script/source = "tool
32-
extends Object
33-
func e():
34-
return 90
35-
"
36-
37-
[sub_resource type="GDScript" id=5]
38-
script/source = "tool
39-
extends Object
40-
func e():
41-
return 0
42-
"
43-
44-
[sub_resource type="CubeMesh" id=6]
45-
46-
[sub_resource type="SpatialMaterial" id=7]
23+
[sub_resource type="CubeMesh" id=3]
24+
25+
[sub_resource type="SpatialMaterial" id=4]
4726
albedo_color = Color( 0.722656, 0.791992, 1, 1 )
4827
roughness = 0.0
4928

50-
[sub_resource type="GDScript" id=8]
51-
script/source = "tool
52-
extends Object
53-
func e():
54-
return 0
55-
"
56-
57-
[node name="gui_in_3d" type="Spatial"]
29+
[node name="GUIin3D" type="Spatial"]
5830

59-
[node name="view_gui" parent="." instance=ExtResource( 1 )]
31+
[node name="GUIPanel3D" parent="." instance=ExtResource( 1 )]
6032

6133
[node name="Camera" type="Camera" parent="."]
6234
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 0.999999, 0, 0, 3 )
@@ -73,46 +45,39 @@ autoplay = "Move_camera"
7345
playback_speed = 0.25
7446
anims/Move_camera = SubResource( 1 )
7547

76-
[node name="3D_background" type="Spatial" parent="."]
48+
[node name="Background" type="Spatial" parent="."]
7749

78-
[node name="Wall" type="MeshInstance" parent="3D_background"]
79-
transform = Transform( 4, 0, 0, 0, -1.74846e-007, -4, 0, 4, -1.74846e-007, -2.60819, 0.589247, -2.08943 )
50+
[node name="Wall" type="MeshInstance" parent="Background"]
51+
transform = Transform( 4, 0, 0, 0, -1.74846e-07, -4, 0, 4, -1.74846e-07, -2.60819, 0.589247, -2.08943 )
8052
mesh = SubResource( 2 )
8153
material/0 = null
82-
script = SubResource( 3 )
8354

84-
[node name="Wall2" type="MeshInstance" parent="3D_background"]
85-
transform = Transform( 4, 0, 0, 0, -1.74846e-007, -4, 0, 4, -1.74846e-007, 5.08055, 0.589247, -2.08943 )
55+
[node name="Wall2" type="MeshInstance" parent="Background"]
56+
transform = Transform( 4, 0, 0, 0, -1.74846e-07, -4, 0, 4, -1.74846e-07, 5.08055, 0.589247, -2.08943 )
8657
mesh = SubResource( 2 )
8758
material/0 = null
88-
script = SubResource( 3 )
8959

90-
[node name="Wall3" type="MeshInstance" parent="3D_background"]
91-
transform = Transform( -1.74846e-007, -4, 0, -1.74846e-007, 7.64274e-015, -4, 4, -1.74846e-007, -1.74846e-007, 9.04446, 0.589247, 1.62058 )
60+
[node name="Wall3" type="MeshInstance" parent="Background"]
61+
transform = Transform( -1.74846e-07, -4, 0, -1.74846e-07, 7.64274e-15, -4, 4, -1.74846e-07, -1.74846e-07, 9.04446, 0.589247, 1.62058 )
9262
mesh = SubResource( 2 )
9363
material/0 = null
94-
script = SubResource( 4 )
9564

96-
[node name="Floor" type="MeshInstance" parent="3D_background"]
65+
[node name="Floor" type="MeshInstance" parent="Background"]
9766
transform = Transform( 4, 0, 0, 0, 4, 0, 0, 0, 4, -2.60819, -2.68765, 1.46502 )
9867
mesh = SubResource( 2 )
9968
material/0 = null
100-
script = SubResource( 5 )
10169

102-
[node name="Floor2" type="MeshInstance" parent="3D_background"]
70+
[node name="Floor2" type="MeshInstance" parent="Background"]
10371
transform = Transform( 4, 0, 0, 0, 4, 0, 0, 0, 4, 5.08055, -2.68765, 1.46502 )
10472
mesh = SubResource( 2 )
10573
material/0 = null
106-
script = SubResource( 5 )
10774

108-
[node name="Cube" type="MeshInstance" parent="3D_background"]
75+
[node name="Cube" type="MeshInstance" parent="Background"]
10976
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.25901, -0.598608, 0.374871 )
110-
mesh = SubResource( 6 )
111-
material/0 = SubResource( 7 )
112-
script = SubResource( 8 )
77+
mesh = SubResource( 3 )
78+
material/0 = SubResource( 4 )
11379

114-
[node name="Cube2" type="MeshInstance" parent="3D_background"]
80+
[node name="Cube2" type="MeshInstance" parent="Background"]
11581
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.88761, 2.01326, 0.374871 )
116-
mesh = SubResource( 6 )
117-
material/0 = SubResource( 7 )
118-
script = SubResource( 8 )
82+
mesh = SubResource( 3 )
83+
material/0 = SubResource( 4 )

viewport/gui_in_3d/view_gui.tscn renamed to viewport/gui_in_3d/gui_panel_3d.tscn

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ albedo_texture = SubResource( 2 )
1919
[sub_resource type="BoxShape" id=4]
2020
extents = Vector3( 1.5, 1, 0.05 )
2121

22-
[node name="GUI_3D" type="Spatial"]
22+
[node name="GUIPanel3D" type="Spatial"]
2323
script = ExtResource( 1 )
2424

2525
[node name="Viewport" type="Viewport" parent="."]
@@ -89,15 +89,14 @@ margin_left = 260.0
8989
margin_top = 26.0
9090
margin_right = 276.0
9191
margin_bottom = 166.0
92-
ticks_on_borders = false
9392

9493
[node name="OptionButton" type="OptionButton" parent="Viewport/GUI/Panel"]
9594
margin_left = 170.0
9695
margin_top = 111.0
9796
margin_right = 252.0
9897
margin_bottom = 165.0
9998
text = "Item 0"
100-
items = [ "Item 0", null, false, -1, null, "Item 1", null, false, -1, null, "Item 2", null, false, -1, null ]
99+
items = [ "Item 0", null, false, 0, null, "Item 1", null, false, 1, null, "Item 2", null, false, 2, null ]
101100
selected = 0
102101

103102
[node name="Quad" type="MeshInstance" parent="."]

0 commit comments

Comments
 (0)