Oyun asset’leri: dahil dosyalar, oyunun asset’leri ve asset paketleri
Oyununla görsel, ses, video ve 3D gönder: dahil dosyalar, oyunun asset’leri, herkese açık asset’ler ve paketler, sdk.assets ile çalışma zamanında bulma.
Bir oyun görsellerini ve seslerini üç yolla taşıyabilir. İhtiyacını karşılayan en basit yolu seç.
| Yol | Ne için uygun | Nasıl |
|---|---|---|
| Dahil dosyalar | Yalnızca oyunun kullandığı her şey | Pakette gönder ve göreli yolla yükle |
| Oyunun sahip olduğu asset’ler | PlayDrop’ta listelenmesini, yeniden kullanılmasını ya da satılmasını istediğin asset’ler | ownedAssets içinde tanımla |
| Herkese açık asset’ler ve asset paketleri | Diğer yapımcıların yayınladığı asset’leri yeniden kullanmak | uses içinde referans ver |
Dahil dosyalar
Dosyaları oyunun yanına koy ve assets/music.mp3 gibi göreli yollarla yükle. Paketle birlikte yüklenir ve tarayıcı ile uygulamalar tarafından önbelleğe alınır. Uygulamaların onları erken indirebilmesi için başlatmak için gerekenleri prefetch.required içinde listele (yaşam döngüsü). Basit bir HTML oyunu ise asset’lerini satır içine yerleştirmelidir.
Oyunun sahip olduğu asset’ler
Oyunun sahip olduğu asset’leri katalog girişinde tanımla. Her biri, bu oyuna bağlı ve kendi sayfası olan bir PlayDrop asset’ine dönüşür:
{
"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_3DveyaCUSTOMolur;subcategoryveformatonu daraltır.files, rolleri yollara eşler. Ses içinprimary, sprite sayfaları içinatlasvemanifestgerekir.runtimeKey, oyunun onu çalışma zamanında bulmak için kullandığı addır.- İsteğe bağlı:
visibility,license,tagsve satmak içinshopPriceCreditsile birlikteshopListed.
Herkese açık asset’ler ve asset paketleri
Yayınlanmış asset’lere tam revizyonlarıyla, asset paketlerine sürümleriyle referans ver:
{
"uses": {
"assets": [{ "ref": "asset:someone/forest-tiles@r3", "runtimeKey": "tiles.forest" }],
"packs": ["pack:someone/ui-kit@1.2.0"]
}
}Onlara PlayDrop asset’leri sayfasında ya da sdk.assets.catalog.listPublic(), sdk.assets.packs.listPublic() ve sdk.search.query() ile göz at. Herkese açık bir oyun yalnızca herkese açık asset’leri ve asset paketlerini kullanabilir; her asset’in lisansına uy.
Asset’leri çalışma zamanında bul
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);Her sonuçta assetRef, runtimeKey, sourceType (OWNED, DIRECT veya PACK) ve role, url, contentType ile sizeBytes içeren files bulunur.
Bağlayıcının kabul ettikleri
Yapay zeka uygulaman görselleri, videoları, sesleri, sprite sayfalarını ve sabit biçime dönüştürülmüş 3D modelleri yükleyebilir; sabit biçime dönüştürülmüş prosedürel görseller ve sprite sayfaları da buna dahildir. Çalıştırılabilir 3D modeller (procedural alt kategorili ya da CUSTOM biçimli MODEL_3D) PlayDrop’un kendi araçlarında çalışır ama API onları doğrulamak için yapımcı kodunu çalıştırmadığından bağlayıcı tarafından reddedilir. Onları GLB gibi standart bir biçime dönüştür ya da PlayDrop’ta zaten yayınlanmış bir sürüme referans ver.
Yeni görseller ve sesler için yapay zekayla asset üretimi kullan. PlayDrop’un tanımadığı biçimler için bkz. özel asset biçimleri.