Skip to content

Commit e3fd4c6

Browse files
committed
Update 3D in 2D demo to Godot 3.1.2
1 parent ff93de8 commit e3fd4c6

File tree

7 files changed

+272
-45
lines changed

7 files changed

+272
-45
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.

0 commit comments

Comments
 (0)