9.4 C
New York
Saturday, January 13, 2024

Utilizing and Creating Assets in Godot 4

Any recreation on the market wants property like textures, sounds, and music to supply a enjoyable expertise to its gamers. Godot treats these recordsdata as sources you need to use all through your mission.
In addition to Godot’s built-in sources, you can even create your personal to construct highly effective, modular programs. Customized sources make it simpler to handle your mission. You possibly can even use sources to maintain monitor of the sport’s progress and retailer the data on disk.

On this tutorial, you’ll create a store the place gadgets can be found on the market. There’s a twist although: the store sells monsters! Whereas engaged on the mission, you’ll study:

  • What sources are and easy methods to use them
  • How Godot handles the loading of sources
  • Methods to create your personal sources
  • Learn how to save and cargo the state of sources
Observe: This text assumes you’re aware of the fundamentals of Godot and have an understanding of GDScript. To get a fast begin with each ideas, take a look at the Godot Getting Began and Scripting tutorials.

Getting Began

To start out off, obtain the supplies for this mission by clicking the Obtain supplies hyperlink on the high or backside of this web page. Unzip the recordsdata and open the MonsterShop mission you’ll discover within the starter folder in Godot.

As soon as the mission has loaded, check out the FileSystem tab to see the included recordsdata.

project files

Most of those are textures and sound recordsdata to make the mission really feel extra alive. The scenes folder is very vital, it has three scenes in it you’ll be constructing upon. Open these scenes within the editor to familiarize your self with them.


The store scene is the principle scene of the sport. That is the place you’ll be spending most of your time because it’s the one display screen the participant will see. It comprises a shifting background, some background music through an AudioStreamPlayer node, and a CanvasLayer that maintain the UI components.

Shop scene nodes

Press F5 to run the mission and see the store scene operating.

Shop scene running

Observe: In case you desire no music whereas operating the sport, you’ll be able to change disable Autoplay within the BGM node.

Participant Merchandise Show

Subsequent, open the player_item_display scene.

Player item display nodes

It is a easy coloured sq. which is able to present a single merchandise within the participant’s stock. Extra on that afterward!

Store Merchandise Show

Lastly, open the shop_item_display scene.

Shop item display

It is a card-like show that can present a single merchandise within the store, together with a purchase button.

Shop item display nodes

Now that you’ve got an thought of how the store works, it’s time to take a better have a look at sources.

What are Assets?

Assets are knowledge containers that nodes in your mission can use. They will maintain many properties, reference different sources and may comprise capabilities to control the info.
Any file which you can load from and save to disk turns into a useful resource after importing. This consists of scenes, textures, sounds, scripts, meshes and fonts.

Godot comes with an enormous library of supported sources, and you can even create your personal customized useful resource tailor-made to your wants.

Importing and Utilizing Assets

The starter folder comprises a folder known as monsters with some sprites in them you’ll want for the store.

Monster sprite files

To import sources, you could have two choices:

  • Copy the recordsdata into the mission folder
  • Drag-and-drop the recordsdata into the FileSystem dock

Most builders go together with the second choice, so choose the sprites folder within the FileSystem dock and drag the monsters folder out of your file supervisor into the FileSystem dock.

Drag and drop folder

That’s it, the sprites are actually imported into the mission as sources. You could find them within the monsters folder within the FileSystem dock.

Monster resources

Making use of a Sprite Texture

To check if Godot imported the sprites accurately, you’ll be able to apply one in all them as a texture to a node. To take action, open the shop_item_display scene and choose the SpriteTexture node. Now check out the Inspector and drag one of many imported sprites onto the Texture property.

Drag sprite

It is best to now see the sprite seem within the circle on the high of the merchandise show.

Sprite in item display

Subsequent, take a better have a look at the Texture property and its Load Path. You’ll discover that the trail isn’t set to the png file within the monsters folder, however moderately to a ctex file in a .godot/imported folder. What provides?

Ctex path

At any time when Godot imports a texture, it creates a ctex file within the .godot/imported folder. A ctex file is a compressed texture file that Godot makes use of to retailer textures effectively. You possibly can change the way in which Godot compresses textures through the import parameters.

Import Parameters

Check out the import parameters by choosing one the monster sprites within the FileSystem dock and opening the Import tab within the Scene dock.

Import button

Each exterior useful resource kind has its personal set of import parameters so that you can change. For picture recordsdata, you’ll be able to change how Godot makes use of the feel. For instance, you might use the picture as a cubemap or as font as an alternative of a Texture2D.

Texture import parameters

You possibly can change the compression mode with the Mode property underneath the Compress class.

Compression mode

By default, Godot shops photographs as lossless textures on the GPU. This implies they’re uncompressed, and there received’t be any lack of high quality when in comparison with the unique picture. If you would like the feel to have a smaller reminiscence footprint and cargo sooner, you’ll be able to change the compression mode to VRAM Compressed. Doing so will compress the feel on the GPU. The draw back is that this would possibly introduce seen artifacts within the texture. As a rule of thumb, hold textures meant for 2D lossless, and use VRAM compressed textures for large 3D textures.

Exterior vs Constructed-in Assets

Now focus your consideration on the Texture property of the SpriteTexture node once more. There’s a Useful resource property there, click on on it to broaden its values.

Resource property

The Useful resource property has three values:

  • Native to Scene: By default, Godot shares sources between scenes. Which means that any modifications you make in a single scene will probably be mirrored in all different scenes. By enabling native to scene, the useful resource will solely be shared in a single scene.
  • Path: For this sprite, this factors to the trail to the useful resource file contained in the FileSystem dock.
  • Identify: An non-obligatory title for the useful resource.

You possibly can’t edit these values because the sprite is an exterior useful resource. This implies the useful resource is saved on the disk as a file. In consequence, it’ll at all times be shared throughout scenes and each its path and title are pre-defined.

Godot additionally lets you use built-in sources which can be saved with the scene file. Within the case of textures, these are sometimes gradients and noise textures which you can generate inside Godot itself. For example, right-click the Texture property of the SpriteTexture node and choose New NoiseTexture2D within the listing.

New noise texture

This can create a brand new NoiseTexture2D useful resource. To generate some noise, click on the Noise property and choose New FastNoiseLite.

New fast noise lite

You’ll now see the noise texture seem within the scene view.


Each the NoiseTexture2D and the FastNoiseLite sources are saved within the scene itself. Because of this they’re known as built-in sources. It can save you these sources to disk by right-clicking any of them and choosing Save. For the needs of this text, you received’t want them, however it’s good to remember to your personal initiatives.

Save built in resource

Constructed-in sources which can be saved to disk will be reused in different scenes as exterior sources. That is helpful if you need to generate a particular useful resource solely as soon as and reuse it in a number of scenes.

Subsequent, level the Texture again to a monster sprite by dragging one of many sprites from the FileSystem dock to the Texture property of the SpriteTexture node such as you did earlier than.
Now that the ins and outs of sources, it’s time to try easy methods to create your personal.

Supply hyperlink

Related Articles


Please enter your comment!
Please enter your name here

Latest Articles