Make a Sign
In this mini-guide, we’ll make a little sign that you can place in your world, with any text on it!
- Create a new Scene and add the following nodes (name:
Type
)- Sign:
StaticBody3D
- CollisionShape3D:
CollisionShape3D
- Stick:
MeshInstance3D
- Plate:
MeshInstance3D
- Text:
Label3D
- Text:
- Plate:
- CollisionShape3D:
- Sign:
Like this:
-
Save your new scene in the
objects
directory.
It should automatically get calledsign.tscn
if you named your root node “Sign” as shown above. - Select
Stick
- Set the
Mesh
property toNew CylinderMesh
- Click the new cylinder mesh to edit it
- Set both
Top Radius
andBottom Radius
to0.02 m
- Set
Height
to1 m
Now, let’s change the color of our stick:
- Set the
Material
property toNew StandardMaterial3D
- Click the new material to edit it
- Expand
Albedo
-
Set
Color
to a brownish color (or whatever color you please) - Move the stick up by
0.5
so the bottom of the stick sits at the scene origin
Now, let’s create the Plate in a similar way:
- Select
Plate
- Set the
Mesh
property toNew BoxMesh
- Edit the new mesh
- Set the
Size
propertyx
,y
,z
to0.8
,0.4
,0.02
- Move Plate so it sits in a good position relative to the Stick
Your scene tree and scene should now look something like this:
Notice that our CollisionShape3D has a warning icon next to it. We’ll fix that now.
- Select
CollisionShape3D
- Set the
Shape
property toNew BoxShape3D
- Use the size manipulators to make the box roughly the size of the sign
Ok, and now - finally - let’s set the text:
- Select the
Text
node - Expand the
Text
section inInspector
- Set the
Text
property to “HELLO” or whatever you like (we’ll change this again when we place instances of the sign) -
Drag the blue arrow a bit to move the text out of the sign so it becomes visible
- Adjust the other text settings like colors (
Modulate
) andFont
as you desire
Note that you can get a crisper text by making the text
Font Size
much larger, and then scaling down the node withTransform/Scale
or by using the scale tool.
It can now look something like this:
-
Save the scene again
- Now open a level scene where you would like to place your sign
- Instance the sign by dragging
sign.tscn
from theFileManager
onto the desired position in the scene - Adjust the position and rotation as you please
Now we just need to tweak the text.
- Right-click
Sign
- Enable
Editable Children
` - Select the
Text
sub-node, and adjust theText
property
The yellow coloring here is meant as a warning that any changes here may be lost if the source scene is changed too much. In particular changing node names can prevent Godot from finding out which editable children were change.
Now, go sign your levels! 😉
Bonus Idea
Similar to what we did with flag portals, you can add an Area3D
to register the player walking up to it and load another scene, a shop map or whatever you’d like.