AssetService
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
AssetService Roblox web API'si ile ilgili varlık ilişkili sorguları işleyen yeniden kopyalanmayan bir hizmettir.
Özet
Özellikler
Yöntemler
Yeni bir EditableImage oluşturur.
Yeni, boş bir EditableMesh oluşturur.
Verilen görüntü ile dolu yeni bir EditableImage nesneyi oluşturur.
Mevcut bir mesafe içeriği ID'inden yeni bir EditableMesh nesnesi oluşturur.
Belirli bir mesafe ID'siyle ve opzional bir sadelik değerleri tablosu ile bir yeni MeshPart oluşturur.
Verilen templatePlaceID aracılığıyla bir yeri klon eder.
- CreatePlaceInPlayerInventoryAsync(player : Instance,placeName : string,templatePlaceID : number,description : string):number
Verilen templatePlaceID ile bir yeri klonlar ve verilen oyuncunun envanterine koyar.
Belirli bir pakette bulunan varlık kimlikleri arasında bir dizi döndürür.
Belirli bir ses kaynakhakkında ilgili metadatayı sağlar.
Belirlenen setiçeriklerinin ayrıntılarını iade eder.
Mevcut deneyim içindeki yerlerin isim ve StandardPages sayısını içeren bir PlaceId nesnemi içerir.
Kullanıcıların yayın diyalogunu göndermesini sağlayarak deneyim içi varlık oluşturma imkanını sunar.
Mevcut dünyadurumunu kaydeder.
Çeşitli arama kriterlerine uyan ses kaynaklarını bulur.
Özellikler
Yöntemler
CreateEditableImage
Yeni bir EditableImage oluşturur.Varsayılan olarak, çözünürlük 512×512'dir, ancak yöntemin seçenek tablosunu kullanarak farklı bir boyut belirtmeniz mümkündür.
Cihaz özelleştirilebilir bellek bütçesi tükenirse, yaratma başarısız olur ve bu yöntem nil döndürür.
Parametreler
Yöntem için kontrolleri içeren seçenek tablosu:
- Size – Bir Vector2 ki, görüntünün istediği genişliği ve yüksekliği belirtir.
Dönüşler
CreateEditableMesh
Yeni, boş bir EditableMesh oluşturur. Tuzaklar, üçgeler ve onların özellikleri dinamik olarak eklenebilir. Cihaz özelleştirilebilir bellek bütçesi tükenirse, yaratma başarısız olur ve bu yöntem nil döndürür.
Parametreler
Dönüşler
CreateEditableImageAsync
Verilen doku ile dolu yeni bir EditableImage nesnesi oluşturur. Non-aset doku ID'leri, örneğin rbxthumb:// gibi, desteklenir. Eğer bir image asset kullanıyorsanız, onun içindeki ile ilişkili ve/veya sahipliği desteklemelid
Bu API'yi kullanırken özel düşünceler için Yayınlanmış Deneyimler için DüzenleyiciGörüntüyü Etkinleştirme ve İzinler bölümlerinde özel düşünceler için izinlerin yanında özel düşünceler için izinlerin yanında özel düşünceler için izinlerin yanında özel düşünceler için izinlerin yanında özel düşünceler için izinlerin y
Parametreler
Dönüşler
Sunulan görüntüyü içeren yeni bir EditableImage .
CreateEditableMeshAsync
Mevcut bir mesafe içeriği ID'inden yeni bir EditableMesh nesnesi oluşturur.Varsayılan olarak, bu yöntemden oluşturulan EditableMesh ile ilgili tüm mesafe verileri değiştirilebilir olacaktır, eklenemez veya kaldırılamaz. Sabit bir boyutlu
Cihaz özelleştirilebilir bellek bütçesi tükenirse, yaratma başarısız olur ve bu yöntem nil döndürür.
Bu API'yi kullanırken özel düşünceler göz önünde bulundurun See the Enabled EditableMesh for Publishing Experiences and Permissions sections of EditableMesh for special considerations when using this API.
Parametreler
Yöntem için kontrolleri içeren seçenek tablosu:
- FixedSize – Bir bool .Varsayılan değer 0> true0> ve 3> 6> Class.EditableMesh6> ile döndürilen 9> 0> Class.EditableMesh0> ın önbelleği kullanılamaz, sadece değerleri değiştirir
Dönüşler
Yeni EditableMesh durum.
CreateMeshPartAsync
Bu yöntem, belirli bir MeshPart ile, CollisionFidelity ve
Parametreler
Yöntem için bir veya daha fazla kontrol içeren seçenek tablosu:
- CollisionFidelity – CollisionFidelity değerindeki kısımda. Görünüm olarak Enum.CollisionFidelity.Default değerine varsayılır, eğer seçenek yoksa veya seçenek tablesi yoksa 0> Options0> .
- RenderFidelity – Sonuçta parçadaki RenderFidelity değerinin değeri.Varsayılan, Enum.RenderFidelity.Automatic 옵션 eksikse veya 0> Options0> tablosu eksikse RenderFidelity3> .
- FluidFidelity – FluidFidelity değerindeki bölümdeki Enum.FluidFidelity.Automatic değerleri. Seçenek yoksa veya 0>Options0> tablosunda FluidFidelity3> değerinde.
Dönüşler
CreatePlaceAsync
Verilen templatePlaceID ile bir yeri klonlayın ve yeni yerin PlaceId 'ini içeren yerin TeleportService ile kullanılabilir. Klon yer, dünyayaratıcısının 1> Class.DataModel.PlaceID|PlaceId1> ile içinde görüntülenir.
Şablon yerinin yer ayarları aracılığıyla şablon kopyalama etkinleştirilmiş olması gerekir. Bu yöntemi kullanarak, sahip olmadığınız yerleri klon etmeyebilirsiniz.
Bu API'yi sık kullanım önerilmez, özellikle yaratılan yerlerin kaynaklarında yapılandırma kodları bulunan durumda, çünkü kodu hızlı bir şekilde yerleştirmenin maliyeti çok yüksek hale gelir. Kullanıcı oluşturulmuş dünyalar için, kaynakları seri hale getirip DataStores ile kay
Parametreler
Yeni dünyaadı.
Yeri klon etmek için yerin Class.DataModel.PlaceId|PlaceId kaydını yapıyoruz.
Yeni dünyaaçıklaması.
Dönüşler
CreatePlaceInPlayerInventoryAsync
Parametreler
Dönüşler
GetAssetIdsForPackage
Belirli bir pakette bulunan varlık kimlikleri arasında bir dizi döndürür.
Parametreler
Dönüşler
Belirli bir pakette bulunan varlık kimlikleri.
GetAudioMetadataAsync
Belirli bir ses kaynağı hakkında ilgili metadatayı sağlar ( sanatçı, unvan, süre, yazvb. )
Parametreler
Metadatayı alınacak varlık veya içerik kimliklerinin matrisi. Maksimum toplama boyutu 30'dır.
Dönüşler
İstekle aynı sırayla dizin tablolarının matrisi, her dizinin içindeki aşağıdaki metadatayı için aşağıdaki metadatayı içerir:
AssetId ( string) )
Title ( string )
Artist ( string )
Duration ( numara ) saniye içinde
AudioType ( Enum.AudioSubType )
Ayrıca, istenen tüm varlıklar için metadatayı alınırken bir hata oluşursa, örneğin varlık kimliği mevcut değil, dictionary table hala döndürilen dizin içine dahil olur, ancak sadece AssetId alanına referans için bir AudioType
Kod Örnekleri
local AssetService = game:GetService("AssetService")
local SoundService = game:GetService("SoundService")
local trackIDs = {
SoundService.Sound1.SoundId,
SoundService.Sound2.SoundId,
SoundService.Sound3.SoundId,
SoundService.Sound4.SoundId
}
local success, result = pcall(function()
return AssetService:GetAudioMetadataAsync(trackIDs)
end)
if success then
for i = 1, #trackIDs do
local contentId = "rbxassetid://" .. result[i].AssetId
if trackIDs[i] == contentId then
print(result[i].Title, "by", result[i].Artist)
else
warn("No metadata fetched for requested asset #" .. tostring(i))
end
end
end
GetBundleDetailsAsync
Bu işlev, belirlenen setiçeriğinin ayrıntılarını döndürür.
Eğer paket kimliği mevcut değilse, şunları gösterir: HTTP 400 (Bad Request). bundleId İn sayılara dönüştürülemezse, şunları gösterir: Unable to cast string to int64.
Parametreler
Belirlenen setID'si.
Dönüşler
Aşağıdaki detayları belirli setiçin içeren anahtar değer çiftleriyle sözlük:
Id — Paket ID (geçen bundleId argumentiyle aynı)
Name — Paket adı
Description — Paket açıklaması
BundleType — Bir Enum.BundleType temsil eden dizi, örneğin "BodyParts" veya 0>DynamicHead0> gibi
Items — Paket içindeki öğelerin matrisi, her biri aşağıdaki anahtarlar aracılığıyla gösterilen ayrıntılarla:
Id — Öğe Kimliği
Name — Öğe adı
Type — "Asset" gibi öğe türü.
Kod Örnekleri
local AssetService = game:GetService("AssetService")
local BUNDLE_ID = 14
local success, result = pcall(function()
return AssetService:GetBundleDetailsAsync(BUNDLE_ID)
end)
if success then
print(result)
--[[
{
["BundleType"] = "BodyParts",
["Description"] = "The year is 5003, Battlebot 5000 must face his mightiest foe, or face becoming obsolete.",
["Id"] = 14,
["Items"] = {
[1] = {...},
[2] = {
["Id"] = 1678225030,
["Name"] = "SinisterBot 5001 Left Arm",
["Type"] = "Asset"
},
[3] = {...},
[4] = {...},
[5] = {...},
[6] = {...},
[7] = {...}
},
["Name"] = "SinisterBot 5001"
}
--]]
end
GetGamePlacesAsync
Mevcut deneyim içindeki yerlerin isim ve StandardPages sayısını içeren bir PlaceId nesnemi içerir.
Dönüşler
Kod Örnekleri
local AssetService = game:GetService("AssetService")
local placePages = AssetService:GetGamePlacesAsync()
while true do
for _, place in placePages:GetCurrentPage() do
print("Name:", place.Name)
print("PlaceId:", place.PlaceId)
end
if placePages.IsFinished then
break
end
placePages:AdvanceToNextPageAsync()
end
PromptCreateAssetAsync
Kullanıcıların yayın diyalogunu girmesiyle deneyim içi varlık oluşturma imkanı sağlar. Çağrıldığında, kullanıcıya bir isim, açıklama ve önyükleme girme izni verilir. Bu, gönderildiğinde kullanıcının envanterine kaydedilir. Sadece sunucu tarafından yapılabilir.
Parametreler
Bir varlık oluşturma başvurusu yapan kullanıcı.
Oluşturulacak varlık. Şu anda, yazılım veya yaygın olmayan varlıkların altında yapbozunu içerenleri içeremez.
Varlık yaz. Şu anda sadece Enum.AssetType.Model olabilir.
Dönüşler
Başarılıysa Enum.PromptCreateAssetResult ve varlık kimliği çifti.
PromptImportAnimationClipFromVideoAsync
Parametreler
Dönüşler
SavePlaceAsync
Mevcut dünyadurumunu kaydeder. Sadece AssetService:CreatePlaceAsync() ile oluşturulan yerler için çalışır veya yer ayarları aracılığıyla API'yi etkinleştirilmiş yerler için.
Dönüşler
SearchAudio
Verilen aramanın sonucunu içeren bir AudioPages nesnesi içerir. Boş değerler içeren alanları iade etmez.
Bu yöntemin düşük bir HTTP istek sınırı olduğunu ve bir hata oluşturabileceğini not edin, bu yüzden hata işleme için her zaman pcall() ile 包围 edilmelidir. Olası hata mesajları şunları içerir:
<tbody><tr><td>HTTP 429 (Çok Fazla İstek)</td><td><code>Class.AssetService:SearchAudio()</code> çok kez çağrıldı.</td></tr><tr><td>Veriler için beklenen tür, beklenen matrisi alınamadı</td><td>Kilitli kelime argümanı filtrelenmiştir.</td></tr></tbody>
Hata Mesajı | Neden |
---|
Parametreler
Dönüşler
Kod Örnekleri
local AssetService = game:GetService("AssetService")
local audioSearchParams = Instance.new("AudioSearchParams")
audioSearchParams.SearchKeyword = "happy"
local success, result = pcall(function()
return AssetService:SearchAudio(audioSearchParams)
end)
if success then
local currentPage = result:GetCurrentPage()
for _, audio in currentPage do
print(audio.Title)
end
else
warn("AssetService error: " .. result)
end
--[[ Returned data format
{
"AudioType": string,
"Artist": string,
"Title": string,
"Tags": {
"string"
},
"Id": number,
"IsEndorsed": boolean,
"Description": string,
"Duration": number,
"CreateTime": string,
"UpdateTime": string,
"Creator": {
"Id": number,
"Name": string,
"Type": number,
"IsVerifiedCreator": boolean
}
}
--]]