# Pelin resurssit: paketoidut tiedostot, omat resurssit ja jaetut paketit

Toimita kuvat, äänet, video ja 3D pelin mukana: paketoidut tiedostot, pelin omat resurssit, julkiset resurssit ja paketit sekä haku sdk.assets-rajapinnalla.

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

Peli voi kuljettaa kuvansa ja äänensä kolmella tavalla. Valitse yksinkertaisin tapa, joka tekee sen, mitä tarvitset.

| Tapa | Sopii | Miten |
|---|---|---|
| Paketoidut tiedostot | Kaikki, mitä vain tämä peli käyttää | Toimita ne paketissa ja lataa ne suhteellisella polulla |
| Pelin omat resurssit | Resurssit, jotka haluat näkyviin PlayDropiin, uudelleenkäytettäviksi tai myytäviksi | Ilmoita ne kentässä `ownedAssets` |
| Julkiset resurssit ja paketit | Muiden tekijöiden julkaisemien resurssien uudelleenkäyttö | Viittaa niihin kentässä `uses` |

## Paketoidut tiedostot

Laita tiedostot pelin viereen ja lataa ne suhteellisilla poluilla, kuten `assets/music.mp3`. Ne ladataan palveluun [paketin](https://www.playdrop.ai/fi/create/learn/packaging) mukana, ja selain ja sovellukset tallentavat ne välimuistiin. Luettele aloitukseen tarvittavat tiedostot kentässä `prefetch.required`, jotta sovellukset voivat ladata ne etukäteen ([elinkaari](https://www.playdrop.ai/fi/create/learn/lifecycle)). Yksinkertaisen HTML-pelin on sen sijaan upotettava resurssinsa.

## Pelin omat resurssit

Ilmoita pelin omistamat resurssit sen katalogimerkinnässä. Jokaisesta tulee PlayDrop-resurssi, jolla on oma sivunsa ja joka on liitetty tähän peliin:

```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` on `IMAGE`, `VIDEO`, `AUDIO`, `SPRITESHEET`, `MODEL_3D` tai `CUSTOM`; `subcategory` ja `format` tarkentavat sitä.
- `files` yhdistää roolit polkuihin. Ääni tarvitsee roolin `primary`; spritesheetit tarvitsevat roolit `atlas` ja `manifest`.
- `runtimeKey` on nimi, jolla peli löytää resurssin ajon aikana.
- Valinnaiset: `visibility`, `license`, `tags` sekä `shopListed` ja `shopPriceCredits` resurssin myymiseen.

## Julkiset resurssit ja paketit

Viittaa julkaistuihin resursseihin tarkalla revisiolla ja paketteihin versiolla:

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

Selaa niitä sivulla [PlayDropin resurssit](https://www.playdrop.ai/assets) tai kutsuilla `sdk.assets.catalog.listPublic()`, `sdk.assets.packs.listPublic()` ja `sdk.search.query()`. Julkinen peli voi käyttää vain julkisia resursseja ja paketteja; noudata kunkin resurssin lisenssiä.

## Löydä resurssit ajon aikana

```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);
```

Jokaisella tuloksella on `assetRef`, `runtimeKey`, `sourceType` (`OWNED`, `DIRECT` tai `PACK`) ja `files`, jossa on `role`, `url`, `contentType` ja `sizeBytes`.

## Mitä connector hyväksyy

Tekoälysovelluksesi voi ladata kuvia, videota, ääntä, spritesheetejä ja valmiiksi leivottuja 3D-malleja, mukaan lukien leivotut proseduraaliset kuvat ja spritesheetit. Suoritettavat 3D-mallit (`MODEL_3D`, jonka alaluokka on `procedural` tai muoto `CUSTOM`) toimivat PlayDropin omissa työkaluissa, mutta connector hylkää ne, koska rajapinta ei suorita tekijän koodia niiden tarkistamiseksi. Leivo ne vakiomuotoon, kuten GLB, tai viittaa versioon, joka on jo julkaistu PlayDropissa.

Tee uusia kuvia ja ääniä [tekoälyresurssien luonnilla](https://www.playdrop.ai/fi/create/learn/ai-assets). PlayDropille tuntemattomista muodoista katso [mukautetut resurssimuodot](https://www.playdrop.ai/fi/create/learn/custom-assets).

## Liittyvät oppaat

- [Tekoälyresurssit](https://www.playdrop.ai/fi/create/learn/ai-assets): Luo pelille kuvia, musiikkia, ääniä, puhetta, videota ja 3D-malleja PlayDropissa: selaimesta pelaajan vahvistamana tai palvelimelta tekijän maksamana.
- [Mukautetut muodot ja luomukset](https://www.playdrop.ai/fi/create/learn/custom-assets): Määrittele oma resurssimuotosi asset spec -määrityksellä, ilmoita pelin lukemat ja kirjoittamat muodot ja anna pelaajien tallentaa ja julkaista luomuksia.
- [Paketointi ja .play](https://www.playdrop.ai/fi/create/learn/packaging): Järjestä pelikansio, ZIP tai .play niin, että catalogue.json on juuressa, ilmoita pelisivun media ja palvelimet ja lataa prepare_catalogue_upload-kutsulla.
