Game-assets: meegeleverde bestanden, eigen assets en assetpakketten
Lever afbeeldingen, geluid, video en 3D mee: meegeleverde bestanden, eigen assets in catalogue.json, openbare assets en pakketten, en opzoeken met sdk.assets.
Een game kan zijn afbeeldingen en geluid op drie manieren meenemen. Kies de eenvoudigste die doet wat je nodig hebt.
| Manier | Geschikt voor | Hoe |
|---|---|---|
| Meegeleverde bestanden | Alles wat alleen de game zelf gebruikt | Lever ze mee in het pakket en laad ze via een relatief pad |
| Eigen assets van de game | Assets die je op PlayDrop vermeld wilt hebben, wilt hergebruiken of wilt verkopen | Declareer ze in ownedAssets |
| Openbare assets en assetpakketten | Assets hergebruiken die andere makers hebben gepubliceerd | Verwijs ernaar in uses |
Meegeleverde bestanden
Zet bestanden naast de game en laad ze met relatieve paden, zoals assets/music.mp3. Ze worden geüpload met het pakket en gecachet door de browser en de apps. Zet de bestanden die nodig zijn om te starten in prefetch.required, zodat de apps ze vroeg kunnen downloaden (levenscyclus). Een eenvoudige HTML-game moet zijn assets in plaats daarvan inline opnemen.
Eigen assets van de game
Declareer de assets die de game bezit in zijn catalogusitem. Elk ervan wordt een PlayDrop-asset met een eigen pagina, gekoppeld aan deze game:
{
"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" } }
]
}categoryisIMAGE,VIDEO,AUDIO,SPRITESHEET,MODEL_3DofCUSTOM;subcategoryenformatverfijnen dit.fileskoppelt rollen aan paden. Audio heeftprimarynodig; spritesheets hebbenatlasenmanifestnodig.runtimeKeyis de naam waarmee de game de asset tijdens het spelen vindt.- Optioneel:
visibility,license,tags, enshopListedmetshopPriceCreditsom de asset te verkopen.
Openbare assets en assetpakketten
Verwijs naar gepubliceerde assets op exacte revisie en naar assetpakketten op versie:
{
"uses": {
"assets": [{ "ref": "asset:someone/forest-tiles@r3", "runtimeKey": "tiles.forest" }],
"packs": ["pack:someone/ui-kit@1.2.0"]
}
}Blader erdoor op PlayDrop-assets of met sdk.assets.catalog.listPublic(), sdk.assets.packs.listPublic() en sdk.search.query(). Een openbare game kan alleen openbare assets en assetpakketten gebruiken; respecteer de licentie van elke asset.
Assets vinden tijdens het spelen
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);Elk resultaat heeft assetRef, runtimeKey, sourceType (OWNED, DIRECT of PACK) en files met role, url, contentType en sizeBytes.
Wat de connector accepteert
Je AI-app kan afbeeldingen, video, audio, spritesheets en gebakken 3D-modellen uploaden, inclusief gebakken procedurele afbeeldingen en spritesheets. Uitvoerbare 3D-modellen (MODEL_3D met de subcategorie procedural of het formaat CUSTOM) draaien in de eigen tools van PlayDrop, maar worden door de connector geweigerd, omdat de API geen code van makers uitvoert om ze te valideren. Bak ze naar een standaardformaat zoals GLB, of verwijs naar een versie die al op PlayDrop is gepubliceerd.
Maak nieuwe afbeeldingen en geluiden met AI-assets genereren. Voor formaten die PlayDrop niet kent, zie eigen assetformaten.