Apps

Utilizing and Creating Assets in Godot 4

Any sport on the market wants belongings like textures, sounds, and music to offer a enjoyable expertise to its gamers. Godot treats these information as assets you need to use all through your undertaking.
Moreover Godot’s built-in assets, you may as well create your personal to construct highly effective, modular techniques. Customized assets make it simpler to handle your undertaking. 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 undertaking, you’ll be taught:

  • What assets are and methods to use them
  • How Godot handles the loading of assets
  • Methods to create your personal assets
  • The right way to save and cargo the state of assets
Notice: 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, try the Godot Getting Began and Scripting tutorials.

Getting Began

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

As soon as the undertaking has loaded, check out the FileSystem tab to see the included information.

Most of those are textures and sound information to make the undertaking really feel extra alive. The scenes folder is particularly essential, 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 comprises a transferring background, some background music by way of an AudioStreamPlayer node, and a CanvasLayer that maintain the UI components.

Shop scene nodes

Press F5 to run the undertaking and see the store scene working.

Shop scene running

Notice: In case you favor no music whereas working the sport, you may 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 in a while!

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 an thought of how the store works, it’s time to take a better take a look at assets.

What are Assets?

Assets are information containers that nodes in your undertaking can use. They’ll maintain many properties, reference different assets and might comprise capabilities to govern the info.
Any file that you would be able to 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 assets, and you may as well 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 assets, you’ve two choices:

  • Copy the information into the undertaking folder
  • Drag-and-drop the information 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 at the moment are imported into the undertaking as assets. Yow will discover 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 may apply certainly 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.

Drag sprite

You must now see the sprite seem within the circle on the high of the merchandise show.

Sprite in item display

Subsequent, take a better 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 relatively to a ctex file in a .godot/imported folder. What provides?

Ctex path

Each time 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 by way of 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 sort 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 can 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 beneath the Compress class.

Compression mode

By default, Godot shops pictures 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’d like 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 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 assets between scenes. Which means that any adjustments you make in a single scene can 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.
  • Title: An optionally available 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. Because of this, it is going to at all times be shared throughout scenes and each its path and title are pre-defined.

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

New noise texture

It will 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.

Noise

Each the NoiseTexture2D and the FastNoiseLite assets are saved within the scene itself. Because of this 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, but it surely’s good to remember on your personal initiatives.

Save built in resource

Constructed-in assets which are saved to disk could be reused in different scenes as exterior assets. That is helpful whenever 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 you already know the ins and outs of assets, it’s time to try methods to create your personal.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button