3d text scene

This commit is contained in:
Haze Weathers 2023-09-09 13:02:01 -04:00
parent 762205b006
commit d2a777f47c
3 changed files with 108 additions and 0 deletions

28
objects/hud/3d_text.gd Normal file
View file

@ -0,0 +1,28 @@
tool
extends ViewportContainer
export var text: String = "" setget _set_text
export var text_material: Material = null setget _set_material
onready var text_mesh = $"%TextMesh"
onready var animation_player = $"%AnimationPlayer"
func _ready() -> void:
pass
func _set_text(value: String) -> void:
text = value
if not is_instance_valid(text_mesh):
yield(self, "ready")
text_mesh.mesh.text = text
func _set_material(value: Material) -> void:
text_material = value
if not is_instance_valid(text_mesh):
yield(self, "ready")
text_mesh.mesh.material = text_material

80
objects/hud/3d_text.tscn Normal file
View file

@ -0,0 +1,80 @@
[gd_scene load_steps=8 format=2]
[ext_resource path="res://ui/PressStart2P-Regular.ttf" type="DynamicFontData" id=1]
[ext_resource path="res://objects/hud/3d_text.gd" type="Script" id=2]
[sub_resource type="DynamicFont" id=1]
font_data = ExtResource( 1 )
[sub_resource type="TextMesh" id=2]
resource_local_to_scene = true
font = SubResource( 1 )
pixel_size = 0.05
depth = 0.1
[sub_resource type="Environment" id=4]
background_mode = 1
ambient_light_color = Color( 1, 1, 1, 1 )
ambient_light_energy = 0.5
[sub_resource type="Animation" id=5]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("TextMesh:translation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector3( 0, 1, 0 ) ]
}
[sub_resource type="Animation" id=6]
resource_name = "appear"
tracks/0/type = "value"
tracks/0/path = NodePath("TextMesh:translation")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector3( 0, 1, -100 ), Vector3( 0, 1, 0 ) ]
}
[node name="3DText" type="ViewportContainer"]
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource( 2 )
[node name="Viewport" type="Viewport" parent="."]
size = Vector2( 256, 192 )
transparent_bg = true
handle_input_locally = false
usage = 3
render_target_update_mode = 3
gui_disable_input = true
[node name="TextMesh" type="MeshInstance" parent="Viewport"]
unique_name_in_owner = true
transform = Transform( 1.1, 0, 0, 0, 1.5, 0, 0, 0, 2, 0, 1, 0 )
mesh = SubResource( 2 )
[node name="DirectionalLight" type="DirectionalLight" parent="Viewport"]
transform = Transform( 0.893849, 0.317044, -0.317044, 0, 0.707107, 0.707107, 0.448368, -0.632047, 0.632047, 0, 1, 0 )
light_specular = 16.0
[node name="Camera" type="Camera" parent="Viewport"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5 )
environment = SubResource( 4 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="Viewport"]
unique_name_in_owner = true
autoplay = "appear"
anims/RESET = SubResource( 5 )
anims/appear = SubResource( 6 )

BIN
ui/PressStart2P-Regular.ttf Normal file

Binary file not shown.