# Spiel-Assets: gebündelte Dateien, spieleigene Assets und geteilte Packs

Bilder, Sound, Video und 3D mit einem PlayDrop-Spiel ausliefern: gebündelte Dateien, spieleigene Assets, öffentliche Assets und Packs, Abruf mit sdk.assets.

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

Ein Spiel kann seine Grafik und seinen Sound auf drei Arten mitbringen. Wähle die einfachste, die erfüllt, was du brauchst.

| Weg | Gut für | So geht's |
|---|---|---|
| Gebündelte Dateien | Alles, was nur dieses Spiel nutzt | Liefere sie im Paket mit und lade sie über relative Pfade |
| Spieleigene Assets | Assets, die auf PlayDrop gelistet, wiederverwendbar oder verkäuflich sein sollen | Deklariere sie in `ownedAssets` |
| Öffentliche Assets und Packs | Assets wiederverwenden, die andere Creator veröffentlicht haben | Verweise in `uses` darauf |

## Gebündelte Dateien

Lege Dateien neben das Spiel und lade sie über relative Pfade wie `assets/music.mp3`. Sie werden mit dem [Paket](https://www.playdrop.ai/de/create/learn/packaging) hochgeladen und vom Browser und den Apps zwischengespeichert. Führe die für den Start nötigen Dateien in `prefetch.required` auf, damit die Apps sie früh herunterladen können ([Lebenszyklus](https://www.playdrop.ai/de/create/learn/lifecycle)). Ein einfaches HTML-Spiel muss seine Assets stattdessen inline einbetten.

## Spieleigene Assets

Deklariere die Assets, die dem Spiel gehören, in seinem Katalogeintrag. Jedes wird ein PlayDrop-Asset mit eigener Seite, das diesem Spiel zugeordnet ist:

```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` ist `IMAGE`, `VIDEO`, `AUDIO`, `SPRITESHEET`, `MODEL_3D` oder `CUSTOM`; `subcategory` und `format` präzisieren sie.
- `files` ordnet Rollen Pfaden zu. Audio braucht `primary`; Spritesheets brauchen `atlas` und `manifest`.
- `runtimeKey` ist der Name, über den das Spiel das Asset zur Laufzeit findet.
- Optional: `visibility`, `license`, `tags` sowie `shopListed` mit `shopPriceCredits`, um es zu verkaufen.

## Öffentliche Assets und Packs

Verweise auf veröffentlichte Assets mit exakter Revision und auf Packs mit Version:

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

Durchsuche sie unter [PlayDrop-Assets](https://www.playdrop.ai/assets) oder mit `sdk.assets.catalog.listPublic()`, `sdk.assets.packs.listPublic()` und `sdk.search.query()`. Ein öffentliches Spiel kann nur öffentliche Assets und Packs nutzen; beachte die Lizenz jedes Assets.

## Assets zur Laufzeit finden

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

Jedes Ergebnis hat `assetRef`, `runtimeKey`, `sourceType` (`OWNED`, `DIRECT` oder `PACK`) und `files` mit `role`, `url`, `contentType` und `sizeBytes`.

## Was der Connector annimmt

Deine KI-App kann Bilder, Videos, Audio, Spritesheets und gebackene 3D-Modelle hochladen, auch gebackene prozedurale Bilder und Spritesheets. Ausführbare 3D-Modelle (`MODEL_3D` mit der Unterkategorie `procedural` oder dem Format `CUSTOM`) laufen in den eigenen Tools von PlayDrop, werden vom Connector aber abgelehnt, weil die API keinen Creator-Code ausführt, um sie zu prüfen. Backe sie in ein Standardformat wie GLB oder verweise auf eine Version, die bereits auf PlayDrop veröffentlicht ist.

Neue Grafiken und Sounds erstellst du mit der [KI-Asset-Generierung](https://www.playdrop.ai/de/create/learn/ai-assets). Für Formate, die PlayDrop nicht kennt, siehe [eigene Asset-Formate](https://www.playdrop.ai/de/create/learn/custom-assets).

## Verwandte Anleitungen

- [KI-Asset-Generierung](https://www.playdrop.ai/de/create/learn/ai-assets): Bilder, Musik, Soundeffekte, Sprachausgabe, Video und 3D erzeugen: im Browser mit Bestätigung des Spielers oder auf dem Spielserver auf Kosten des Creators.
- [Eigene Formate und Spielerkreationen](https://www.playdrop.ai/de/create/learn/custom-assets): Eigenes Asset-Format definieren, unterstützte Formate angeben und Spieler Level, Figuren und mehr mit sdk.assets.custom speichern und veröffentlichen lassen.
- [Pakete und .play](https://www.playdrop.ai/de/create/learn/packaging): Build-Ordner, ZIP oder .play mit catalogue.json im Stammverzeichnis anlegen, Medien und Server deklarieren und mit prepare_catalogue_upload hochladen.
