AssetService

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Oluşturulamaz
Hizmet

Varlık Hizmeti Roblox web API'ye ilgili varlıkla ilgili sorguları ele alan yeniden yapılmayan bir hizmettir.

Özet

Yöntemler

Özellikler

Yöntemler

CreateEditableImage

Yeni bir EditableImage oluşturur. Varsayılan olarak, çözünürlük 512×512 olarak ayarlanır, ancak yöntemin seçenek tablosunu kullanarak farklı bir boyut belirleyebilirsiniz.

Cihaz spesifik düzenlenebilir hafıza bütçesi tükendiyse, oluşturma başarısız olur ve bu yöntem nil döner.

Parametreler

editableImageOptions: Dictionary

Yöntem için kontrolleri içeren seçenek tablosu:

  • Size – İstediği görüntü genişliğini ve yüksekliğini belirten bir Vector2
Varsayılan değer: ""

Dönüşler

CreateEditableMesh

Yeni ve boş bir EditableMesh oluşturur.Zirveler, üçgenler ve özellikleri ona dinamik olarak eklenebilir.Cihaz spesifik düzenlenebilir hafıza bütçesi tükendiyse, oluşturma başarısız olur ve bu yöntem nil döner.

Parametreler

editableMeshOptions: Dictionary

Oluşturulan EditableMesh için seçenekleri içeren tablo.Şu anda hiçbir seçenek mevcut değil çünkü FixedSize boş düzenlenebilir örnekler için daima false olacak.

Varsayılan değer: ""

Dönüşler

CreateSurfaceAppearance

Parametreler

content: Dictionary
Varsayılan değer: ""

Dönüşler

CreateAssetAsync

Bekletir

Verilen nesneden yeni bir varlık Roblox'a yükler.

Şu anda, bu yöntem yalnızca yerel olarak yüklenen plug-inlerde ve ilk önce uyarı vermeden varlıklar yüklenmeden kullanılabilir.

Parametreler

object: Object

Bir varlık olarak oluşturulacak nesne.

Varsayılan değer: ""
assetType: Enum.AssetType

Şu anda desteklenen türler:

Varsayılan değer: ""
requestParameters: Dictionary

Varlık metadatası içeren seçenek tablosu:

  • Name – Varlığın adı bir dize olarak. Varsayılan değer [object.Name] .
  • Description – Varlığın bir dize olarak açıklaması. Varsayılan değeri "Created with AssetService:CreateAssetAsync" .
  • CreatorId – Varlık yaratıcısının kimliği bir sayı olarak.Plugin konteksi için kaydedilmiş Roblox Studio kullanıcısına varsayım yapar.Açık Bulut Luau İnfazı için gereklidir.
  • CreatorTypeEnum.AssetCreatorType - varlık yaratıcısı türünü gösterenEklenti bağlamında varsayılan Enum.AssetCreatorType.User .Açık Bulut Luau İnfazı için gereklidir.
  • IsPackage – Boolean değeri, yalnızca Enum.AssetType.Model yazuygulanabilir. Varsayılan değer true .
Varsayılan değer: "nil"

Dönüşler

Başarılıysa Enum.CreateAssetResult ve varlık kimlik çifti.

Kod Örnekleri

The following code creates a Mesh asset from an EditableMesh.

AssetService:CreateAssetAsync

local AssetService = game:GetService("AssetService")
local editableMesh = AssetService:CreateEditableMesh()
-- add vertices, faces, and uvs to the mesh
local requestParameters = {
CreatorId = 123,
CreatorType = Enum.AssetCreatorType.User,
Name = "My asset",
Description = "a good asset",
}
local ok, result, idOrUploadErr = pcall(function()
return AssetService:CreateAssetAsync(editableMesh, Enum.AssetType.Mesh, requestParameters)
end)
if not ok then
warn(`error calling CreateAssetAsync: {result}`)
elseif result == Enum.CreateAssetResult.Success then
print(`success, new asset id: {idOrUploadErr}`)
else
warn(`upload error in CreateAssetAsync: {result}, {idOrUploadErr}`)
end

CreateAssetVersionAsync

Bekletir

Verilen nesneden mevcut bir varlık için yeni bir sürüm yükler.

Şu anda, bu yöntem yalnızca yerel olarak yüklenen plug-inlerde ve ilk önce uyarı vermeden varlıklar yüklenmeden kullanılabilir.

Parametreler

object: Object

Bir varlık olarak oluşturulacak nesne.

Varsayılan değer: ""
assetType: Enum.AssetType

Şu anda desteklenen türler:

Varsayılan değer: ""
assetId: number

Yeni sürüm için varlığın ID'si.

Varsayılan değer: ""
requestParameters: Dictionary

Varlık metadatası içeren seçenek tablosu:

  • Name – A string . Varlığın adı. Varsayılan: object.Name.
  • Description – Bir string . Varlığın açıklaması.Varsayılan: "AssetService:CreateAssetAsync ile oluşturuldu".
  • CreatorId – A number .Varlık yaratıcısının kimliği.Varsayılan: Plugin context için kaydedilmiş Roblox Studio kullanıcısı.Açık Bulut Luau İnfazı için gereklidir.
  • CreatorType – A Enum.AssetCreatorType . Asset yaratıcının türü. Varsayılan: Enum.AssetCreatorType.User Plugin bağlamında. Açık Bulut Luau İnfazı için gerekli.
  • IsPackage – A bool . Sadece Enum.AssetType.Model yazuygulanabilir. Varsayılan: true.
Varsayılan değer: "nil"

Dönüşler

Başarılıysa, Enum.CreateAssetResult ve varlık sürüm numarası çifti.

Kod Örnekleri

The following code creates a new Model asset version.

AssetService:CreateAssetVersionAsync

local AssetService = game:GetService("AssetService")
local assetIdToUpdate = 321
local model = Instance.new("Model")
local requestParameters = {
CreatorId = 123,
CreatorType = Enum.AssetCreatorType.User,
}
local ok, result, versionOrUploadErr = pcall(function()
return AssetService:CreateAssetVersionAsync(model, Enum.AssetType.Model, assetIdToUpdate, requestParameters)
end)
if not ok then
warn(`error calling CreateAssetVersionAsync: {result}`)
elseif result == Enum.CreateAssetResult.Success then
print(`success, new asset version: {versionOrUploadErr}`)
else
warn(`upload error in CreateAssetVersionAsync: {result}, {versionOrUploadErr}`)
end

CreateEditableImageAsync

Bekletir

Verilen dokuyla doldurulmuş yeni bir EditableImage nesne oluşturur.rbxthumb:// gibi varlık olmayan doküman tekstürleri ID'leri desteklenir.Bir görüntü öğesi kullanılıyorsa, deneyimin bir yaratıcısıyla ilişkilendirilmeli veya sahiplenilmeli veya deneyimin içinde oluşturulmuş olmalıdır.Cihaz spesifik düzenlenebilir hafıza bütçesi tükendiyse, oluşturma başarısız olur ve bu yöntem nil döner.

Bu API'yi kullanırken özel düşünceler için EditableImage belgelerine bakın.

Parametreler

content: Content

Dışarıya veya dünyaiçinde bir nesne olarak depolanan varlık içeriğine referans, desteklenen Enum.ContentSourceType değerlerden tek bir değeri sararak.

Varsayılan değer: ""
editableImageOptions: Dictionary

Oluşturulan EditableImage için seçenekleri bulunduran tablo. Şu anda yeniden boyutlandırma ile Size desteklenmediğinden seçenekler mevcut değil.

Varsayılan değer: ""

Dönüşler

Verilen görüntü içeren yeni EditableImage .

CreateEditableMeshAsync

Bekletir

Mevcut bir EditableMesh veya örgü EditableMesh kimliğinden yaratılan yeni bir Content nesnesini döndürür.Varsayılan olarak, bu yöntemden oluşturulan bir EditableMesh öntanımlı olarak sabit bir boyuta sahip olacak ve mesh verileri yalnızca değiştirilebilir, eklenemez veya kaldırılamaz.Konumlandırılmış bir boyut EditableMesh daha az bellek tüketir ve mümkün olduğunda tercih edilmelidir.

Cihaz spesifik düzenlenebilir hafıza bütçesi tükendiyse, oluşturma başarısız olur ve bu yöntem nil döner.

Bu API'yi kullanırken özel düşünceler için Yayınlanmış Deneyimler için Düzenlenebilir Ağaç Etkinleştirme ve İzinler bölümlerini görün ve bu API'nin kullanımıyla ilgili özel düşünceler için EditableMesh özel düşünceler için.

Parametreler

content: Content

Dışarıya veya dünyaiçinde bir nesne olarak depolanan varlık içeriğine referans, desteklenen Enum.ContentSourceType değerlerden tek bir değeri sararak.

Varsayılan değer: ""
editableMeshOptions: Dictionary

Yöntem için kontrolleri içeren seçenek tablosu:

  • FixedSize – A bool .Varsayılan değer true , ve döndürülen EditableMesh , sadece değerlerini değiştirmene izin vermeyecek, sadece zirveleri eklemek veya kaldırmak.false özelliği değiştirme yeteneğinin gerekli olduğu durumda, daha fazla bellek kullanımı pahasına daha fazla değiştirilebilir hale getirin.
Varsayılan değer: ""

Dönüşler

CreateMeshPartAsync

Bekletir

Bu yöntem belirtilen bir MeshPart , CollisionFidelity ve RenderFidelity ile bir FluidFidelity oluşturur.Çünkü MeshPart.MeshId yalnızca okuma içindir, bu yöntem mevcut bir MeshPart kopyalamak zorunda olmadan herhangi bir meshe ID ile bir meshe oluşturmak için kullanılır, scriptler aracılığıyla.Oluşturma başarısız olursa hatalar atar.

Parametreler

meshContent: Content

Dışarıya veya dünyaiçinde bir nesne olarak depolanan varlık içeriğine referans, desteklenen Enum.ContentSourceType değerlerden tek bir değeri sararak.

Varsayılan değer: ""
options: Dictionary

Yöntem için bir veya daha fazla kontrol bulunduran seçenek tablosu:

  • CollisionFidelity – Sonuç parçasındaki CollisionFidelity değeri.Seçenek yoksa veya tablosu boşsa varsayılan değer olur.
  • RenderFidelity – Sonuç parçasındaki RenderFidelity değeri.Seçenek yoksa veya tablosu boşsa varsayılan değer olur.
  • FluidFidelity – Sonuç parçasındaki FluidFidelity değeri.Seçenek yoksa veya tablosu boşsa varsayılan değer olur.
Varsayılan değer: "nil"

Dönüşler

CreatePlaceAsync

Bekletir

Verilen templatePlaceID aracılığıyla bir yeri klonlar ve PlaceId ile kullanabileceğiniz yeni dünyaTeleportService kısmını iade eder.Klonlama yeri, verilen ad ve açıklama ile dünyayaratıcısının envanterinde görüntülenir.

Şablon yerinin yer ayarları aracılığıyla şablon kopyalama etkinleştirilmiş olması gerektiğini unutmayın. Sahip olmadığınız yerleri klonlamak için bu yöntemi kullanamazsınız.

Bu API'nin sık kullanımı önerilmez, özellikle de oluşturulan yerler kodları içeriyorsa, çünkü kodu büyük bir sayıda yerde hızlı bir şekilde güncelleştirmek mümkün değildir.Kullanıcı tarafından oluşturulan dünyalar için, yerine kullanıcı yaratımlarını seri hale getirmeyi ve bunları DataStores kaydetmeyi düşünün.

Parametreler

placeName: string

Yeni dünyaadı.

Varsayılan değer: ""
templatePlaceID: number

PlaceId klonlanacak yerin.

Varsayılan değer: ""
description: string

Yeni dünyaaçıklaması.

Varsayılan değer: ""

Dönüşler

PlaceId yeni dünya.

CreatePlaceInPlayerInventoryAsync

Bekletir

Parametreler

player: Instance
Varsayılan değer: ""
placeName: string
Varsayılan değer: ""
templatePlaceID: number
Varsayılan değer: ""
description: string
Varsayılan değer: ""

Dönüşler

GetAssetIdsForPackage

Bekletir

Belirtilen pakette bulunan bir dizi varlık kimliği döndürür.

Parametreler

packageAssetId: number
Varsayılan değer: ""

Dönüşler

Belirtilen pakete dahil olan varlık kimlikleri.

GetAudioMetadataAsync

Bekletir

Belirli bir ses kaynağı hakkında ilgili metadatlar sağlar (sanatçı, başlık, süre, yazvb.).

Parametreler

idList: Array

Metadatı almak için kullanılan varlık veya içerik kimliklerinin dizi boyutu maksimum 30'dur.

Varsayılan değer: ""

Dönüşler

Talebin aynı sırasındaki sözlük tablolarının dizilimi, her sözlüğün varlığı/içeriği için aşağıdaki metadatları içeren:

  • AssetId (dizi)

  • Title (dizi)

  • Artist (dizi)

  • Duration (sayı) saniye içinde

  • AudioType ( Enum.AudioSubType )

Örneğin, talep edilen varlıkların herhangi biri için meta veri alınırken bir hata oluşursa, örneğin varlık kimliği mevcut değilse, sözlük tablosu hala iade edilen dizeye dahil edilir, ancak yalnızca referans amaçlı AssetId alanı içerir.Ayrıca, eğer belli bir varlık için AudioType belirlenemiyorsa (belki de özel bir ses olduğundan), sonuçlu sözlük bir AudioType girişi içermeyecektir.

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

Bekletir

Bu işlev, belirtilen setiçeriğinin detaylarını döndürür.

Paket kimliği mevcut değilse, HTTP 400 (Bad Request) atar. Eğer bundleId bir tamsayıya dönüştürülemezse, Unable to cast string to int64 atar.

Parametreler

bundleId: number

Belirtilen setID'si.

Varsayılan değer: ""

Dönüşler

Belirtilen sethakkında ayrıntılar içeren aşağıdaki anahtar-değer çiftleri sözlüğü:

  • Id — Paket Kimliği (geçen bundleId argümanı ile aynı)

  • Name — Paket adı

  • Description — Paket açıklaması

  • BundleType — Örneğin Enum.BundleType veya "DynamicHead" temsil eden dize, örneğin "BodyParts" veya

  • Items — Paket içindeki öğelerin dizisi, her biri aşağıdaki anahtarlarla temsil edilen ayrıntılarla:

    • Id — Eşya ID'si

    • Name — Eşya adı

    • Type"Asset" gibi öğe türü.

Kod Örnekleri

Getting Bundle Details

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

Bekletir

Mevcut deneyim içindeki isim ve PlaceId yerlerin adını içeren bir StandardPages nesne döndürür.


Dönüşler

Kod Örnekleri

The following code prints the name and PlaceId of each place in the experience.

AssetService:GetGamePlacesAsync

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

Bekletir

Yayın diyaloğu yönlendirerek kullanıcıların deneyim içi varlık oluşturmasına izin verir.Çağrıldığında, kullanıcıya bir diyalog sunar, böylece bir isim, açıklama ve varlığın önizlemesini girerler.Gönderildikten sonra, varlığı kullanıcının envanterine kaydedilir.Sadece sunucu tarafında çağrılabilir.

Parametreler

player: Player

Bir varlık oluşturma gönderen kullanıcı.

Varsayılan değer: ""
instance: Instance

Oluşturulacak varlık. Şu anda, senaryoları veya halka açık olmayan varlıkları yerleştiremez.

Varsayılan değer: ""
assetType: Enum.AssetType

Varlık yaz. Şu anda sadece Enum.AssetType.Model olabilir.

Varsayılan değer: ""

Dönüşler

Başarılıysa Enum.PromptCreateAssetResult ve varlık kimlik çifti.

PromptImportAnimationClipFromVideoAsync

Bekletir

Parametreler

player: Player
Varsayılan değer: ""
progressCallback: function
Varsayılan değer: ""

Dönüşler

SavePlaceAsync

()
Bekletir

Mevcut dünyadurumunu kaydeder. Yalnızca AssetService:CreatePlaceAsync() ile oluşturulan yerler veya yer ayarları aracılığıyla API'nin etkinleştirildiği yerler için çalışır.


Dönüşler

()

SearchAudio

Bekletir

Verilen aramanın sonucunu içeren bir AudioPages nesne döndürür. Boş değerler içeren alanları geri vermez.

Bu yöntemin düşük bir HTTP istek sınırı olduğunu ve bir hata atabileceğini unutmayın, bu nedenle hata durumunda daima pcall() içine sarılmalıdır.Olası hata mesajları şunları içerir:


<th>Neden</th>
</tr>
</thead>
<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 beklenmeyen tür, beklenen dizi null aldı</td>
<td>Anahtar kelime argümanı filtrelenmiştir.</td>
</tr>
</tbody>
Hata Mesajı

Parametreler

searchParameters: AudioSearchParams
Varsayılan değer: ""

Dönüşler

Kod Örnekleri

This code gets the music assets returned by the keyword "happy" and prints out their titles.

Getting Music Search Titles

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
}
}
--]]

Etkinlikler