# Asset di gioco PlayDrop: file inclusi, asset propri e pacchetti di asset

Includi immagini, suoni, video e 3D in un gioco: file inclusi, asset propri dichiarati in catalogue.json, asset pubblici, pacchetti di asset e ricerca con sdk.assets.

Source: https://www.playdrop.ai/it/create/learn/game-assets

Un gioco può portare con sé immagini e suoni in tre modi. Scegli il più semplice che fa quello che ti serve.

| Modo | Ideale per | Come |
|---|---|---|
| File inclusi | Tutto ciò che usa solo questo gioco | Includili nel pacchetto e caricali con un percorso relativo |
| Asset propri del gioco | Asset che vuoi far comparire su PlayDrop, riutilizzabili o vendibili | Dichiarali in `ownedAssets` |
| Asset pubblici e pacchetti di asset | Riutilizzare asset pubblicati da altri creator | Fai riferimento a essi in `uses` |

## File inclusi

Metti i file accanto al gioco e caricali con percorsi relativi, come `assets/music.mp3`. Vengono caricati con il [pacchetto](https://www.playdrop.ai/it/create/learn/packaging) e memorizzati nella cache dal browser e dalle app. Elenca quelli necessari all’avvio in `prefetch.required`, così le app possono scaricarli in anticipo ([ciclo di vita](https://www.playdrop.ai/it/create/learn/lifecycle)). Un gioco in HTML semplice deve invece incorporare i suoi asset nel file.

## Asset propri del gioco

Dichiara gli asset di proprietà del gioco nella sua voce del catalogo. Ognuno diventa un asset PlayDrop con una propria pagina, collegato a questo gioco:

```json
{
  "ownedAssets": [
    { "name": "moon-theme", "runtimeKey": "music.main", "displayName": "Moon theme",
      "category": "AUDIO", "files": { "primary": "assets/moon-theme.mp3" } },
    { "name": "astronaut", "runtimeKey": "sprites.player", "displayName": "Astronaut",
      "category": "SPRITESHEET", "files": { "atlas": "assets/astronaut.png", "manifest": "assets/astronaut.json" } }
  ]
}
```

- `category` è `IMAGE`, `VIDEO`, `AUDIO`, `SPRITESHEET`, `MODEL_3D` o `CUSTOM`; `subcategory` e `format` la precisano.
- `files` associa i ruoli ai percorsi. L’audio richiede `primary`; gli spritesheet richiedono `atlas` e `manifest`.
- `runtimeKey` è il nome con cui il gioco lo trova durante l’esecuzione.
- Facoltativi: `visibility`, `license`, `tags`, e `shopListed` con `shopPriceCredits` per venderlo.

## Asset pubblici e pacchetti di asset

Fai riferimento agli asset pubblicati per revisione esatta e ai pacchetti di asset per versione:

```json
{
  "uses": {
    "assets": [{ "ref": "asset:someone/forest-tiles@r3", "runtimeKey": "tiles.forest" }],
    "packs": ["pack:someone/ui-kit@1.2.0"]
  }
}
```

Sfogliali negli [asset di PlayDrop](https://www.playdrop.ai/assets) oppure con `sdk.assets.catalog.listPublic()`, `sdk.assets.packs.listPublic()` e `sdk.search.query()`. Un gioco pubblico può usare solo asset e pacchetti di asset pubblici; rispetta la licenza di ogni asset.

## Trova gli asset durante l’esecuzione

```js
const music = sdk.assets.resolveAppAsset("music.main");
const file = music.files.find((entry) => entry.role === "primary");
audioElement.src = file.url;

for (const asset of sdk.assets.listAppAssets()) console.log(asset.runtimeKey, asset.sourceType);
```

Ogni risultato ha `assetRef`, `runtimeKey`, `sourceType` (`OWNED`, `DIRECT` o `PACK`) e `files` con `role`, `url`, `contentType` e `sizeBytes`.

## Cosa accetta il connettore

La tua app di IA può caricare immagini, video, audio, spritesheet e modelli 3D statici, comprese immagini e spritesheet procedurali già convertiti in file statici. I modelli 3D eseguibili (`MODEL_3D` con la sottocategoria `procedural` o il formato `CUSTOM`) funzionano negli strumenti di PlayDrop ma vengono rifiutati dal connettore, perché l’API non esegue codice dei creator per verificarli. Convertili in un formato standard come GLB, oppure fai riferimento a una versione già pubblicata su PlayDrop.

Crea nuove immagini e nuovi suoni con la [generazione di asset con l’IA](https://www.playdrop.ai/it/create/learn/ai-assets). Per i formati che PlayDrop non conosce, vedi [formati di asset personalizzati](https://www.playdrop.ai/it/create/learn/custom-assets).

## Guide correlate

- [Asset con l’IA](https://www.playdrop.ai/it/create/learn/ai-assets): Genera immagini, musica, effetti sonori, voce, video e modelli 3D per un gioco, dal browser con la conferma del giocatore o da un server pagato dal creator.
- [Formati e creazioni](https://www.playdrop.ai/it/create/learn/custom-assets): Definisci un tuo formato di asset, dichiara quali formati un gioco legge o scrive e fai salvare e pubblicare creazioni ai giocatori con sdk.assets.custom.
- [Pacchetti e .play](https://www.playdrop.ai/it/create/learn/packaging): Organizza una cartella compilata, uno ZIP o un .play con catalogue.json nella radice, dichiara scheda e server e caricalo con prepare_catalogue_upload.
