Any sport on the market wants property like textures, sounds, and music to supply a enjoyable expertise to its gamers. Godot treats these information as assets you should use all through your challenge.
Apart from Godot’s built-in assets, you may also create your individual to construct highly effective, modular techniques. Customized assets make it simpler to handle your challenge. You possibly can even use assets to maintain monitor of the sport’s progress and retailer the data on disk.
On this tutorial, you’ll create a store the place objects can be found on the market. There’s a twist although: the store sells monsters! Whereas engaged on the challenge, you’ll be taught:
- What assets are and easy methods to use them
- How Godot handles the loading of assets
- Methods to create your individual assets
- The best way to save and cargo the state of assets
Getting Began
To start out off, obtain the supplies for this challenge by clicking the Obtain supplies hyperlink on the prime or backside of this web page. Unzip the information and open the MonsterShop challenge you’ll discover within the starter folder in Godot.
As soon as the challenge has loaded, check out the FileSystem tab to see the included information.
Most of those are textures and sound information to make the challenge really feel extra alive. The scenes folder is very necessary, it has three scenes in it you’ll be constructing upon. Open these scenes within the editor to familiarize your self with them.
Store
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 accommodates a shifting background, some background music through an AudioStreamPlayer node, and a CanvasLayer that maintain the UI components.
Press F5 to run the challenge and see the store scene operating.
Be aware: When you want no music whereas operating the sport, you may change disable Autoplay within the BGM node.
Participant Merchandise Show
Subsequent, open the player_item_display scene.
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.
It is a card-like show that can present a single merchandise within the store, together with a purchase button.
Now that you’ve got an thought of how the store works, it’s time to take a more in-depth take a look at assets.
What are Sources?
Sources are information containers that nodes in your challenge can use. They’ll maintain many properties, reference different assets and may include features to control the information.
Any file that you may load from and save to disk turns into a useful resource after importing. This contains scenes, textures, sounds, scripts, meshes and fonts.
Godot comes with an enormous library of supported assets, and you may also create your individual customized useful resource tailor-made to your wants.
Importing and Utilizing Sources
The starter folder accommodates a folder known as monsters with some sprites in them you’ll want for the store.
To import assets, you could have two choices:
- Copy the information into the challenge folder
- Drag-and-drop the information into the FileSystem dock
Most builders go along with the second possibility, so choose the sprites folder within the FileSystem dock and drag the monsters folder out of your file supervisor into the FileSystem dock.
That’s it, the sprites are actually imported into the challenge as assets. Yow will discover them within the monsters folder within the FileSystem dock.
Making use of a Sprite Texture
To check if Godot imported the sprites appropriately, you may apply considered one of 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.
You need to now see the sprite seem within the circle on the prime of the merchandise show.
Subsequent, take a more in-depth take 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 fairly to a ctex file in a .godot/imported folder. What provides?
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 best way 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.
Each exterior useful resource kind has its personal set of import parameters so that you can change. For picture information, you may change how Godot makes use of the feel. For instance, you might use the picture as a cubemap or as font as a substitute of a Texture2D.
You possibly can change the compression mode with the Mode property below the Compress class.
By default, Godot shops photos 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 need the feel to have a smaller reminiscence footprint and cargo quicker, you may change the compression mode to VRAM Compressed. Doing so will compress the feel on the GPU. The draw back is that this may introduce seen artifacts within the texture. As a rule of thumb, hold textures meant for 2D lossless, and use VRAM compressed textures for big 3D textures.
Exterior vs Constructed-in Sources
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 increase its values.
The Useful resource property has three values:
- Native to Scene: By default, Godot shares assets between scenes. Which means 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 optionally available identify 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 can all the time be shared throughout scenes and each its path and identify are pre-defined.
Godot additionally lets you use built-in assets which might be saved with the scene file. Within the case of textures, these are sometimes gradients and noise textures that you may generate inside Godot itself. For instance, right-click the Texture property of the SpriteTexture node and choose New NoiseTexture2D within the listing.
This can create a brand new NoiseTexture2D useful resource. To generate some noise, click on the Noise property and choose New FastNoiseLite.
You’ll now see the noise texture seem within the scene view.
Each the NoiseTexture2D and the FastNoiseLite assets are saved within the scene itself. For this reason they’re known as built-in assets. It can save you these assets 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 bear in mind on your personal tasks.
Constructed-in assets which might be saved to disk may be reused in different scenes as exterior assets. That is helpful if you wish to generate a selected 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 you recognize the ins and outs of assets, it’s time to try easy methods to create your individual.