AssetService
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
AssetService to niezależny serwis, który weryfikuje związane z zasobami zapytania do witryny API Roblox.
Podsumowanie
Metody
Tworzy nowy EditableImage .
Tworzy nowy, pusty EditableMesh .
Tworzy nowy obiekt EditableImage z wypełnionym obrazem.
Powoduje powstanie nowego obiektu EditableMesh z istniejącego ID treści siatki.
Tworzy nowy MeshPart z określonym ID sieci i opcjonalną tabelą wartości fidelności.
Klonuje miejsce poprzez podany templatePlaceID .
- CreatePlaceInPlayerInventoryAsync(player : Instance,placeName : string,templatePlaceID : number,description : string):number
Klonuje miejsce za pomocą danej templatePlaceID i umieszcza go w ekwipunku danej graczy.
Zwraca maszynę przecinkową zawierającą ID zasobów, która jest częścią określonego pakietu.
Dostarcza odpowiednie metadane kod źródłowyaudio.
Powoduje szczegóły zawartości określonego pakiet.
Zwraca obiekt StandardPages, który zawiera nazwę i PlaceId miejsc w obecnym doświadczeniu.
Umożliwia tworzenie własności w grze dla użytkowników poprzez zapytanie dialogu publikacji.
Zapisuje stan bieżącego miejsce.
Znajduje zasoby audio pasujące do różnych kryteriów wyszukiwania.
Właściwości
Metody
CreateEditableImage
Tworzy nowy EditableImage . Domyślnie rozdzielczość jest ustawiona na 512×512, ale możesz określić inną rozmiar używając tabeli opcji metody.
Jeśli limit wydatków pamięci edytalnej na urządzeniu jest wyczerpany, nie udało się utworzyć i ten metodowy nil .
Parametry
Tabela opcji zawierająca sterowanie dla metody:
- Size – A Vector2 określający pożądany rozmiar i wysokość obrazu.
Zwroty
CreateEditableMesh
Tworzy nowy, pusty EditableMesh . Wierzchołdy mogą być dodane dynamicznie do niego. Jeśli limit budżetu pamięci urządzenia jest wyczerpany, tworzenie będzie nie powodować powodzenia, a ten metod wywróci nil .
Parametry
Zwroty
CreateEditableImageAsync
Tworzy nowy obiekt EditableImage z wypełnioną teksturą. Nie są wspierane ID tekstur niezasobowych, takie jak rbxthumb:// . Jeśli używa się własnej tekstury, należy ją związać z i/lub posiadać przez twórcę doświadczenia lub musi zostać stworz
Zobacz sekcje Włącz Edytowalny Obraz dla Opublikowanych Doświadczeń i Upoważnienia w EditableImage dla uzyskania szczegółowych informacji dotyczących użycia tej API.
Parametry
Zwroty
Nowy EditableImage zawierający dostarczone obraz.
CreateEditableMeshAsync
Zwraca nowy obiekt EditableMesh stworzony z istniejącej ID treści sieci. Domyślnie obiekt EditableMesh stworzony z tego metody będzie miał małą rozmiar, aby dane sieci mogły być zmienione, a nie dodane lub usunięte. Rozmiar mały EditableMesh konsumuje mniej pamięci i pow
Jeśli limit edytowalnego budżetu pamięci urządzenia zostanie wyczerpany, tworzenie nie powiodło się, a ten metodowy nil zwróci.
Zobacz sekcje Włącz Edytora Sieci dla Opublikowanych Doświadczeń i Upoważnienia w EditableMesh dla uzyskania szczegółowych informacji na temat użycia tej API.
Parametry
Tabela opcji zawierająca sterowanie dla metody:
- FixedSize – A bool . Domyślna wartość jest true , a zwrócony 0> Class.EditableMesh0> nie pozwoli ci dodać lub usunąć krawędzi, tylko zmienić ich wartości. Ustaw na FixedSize3> , jeśli możliwość zmiany topologii
Zwroty
Nowa instansja EditableMesh.
CreateMeshPartAsync
Ten metod tworzy MeshPart z określonym CollisionFidelity , Class.MeshPart.RenderFidelity|Render
Parametry
Tabela opcji zawierająca jedną lub więcej kontrol dla metody:
- CollisionFidelity – wartość CollisionFidelity w wynikającej części. Domyślnie Enum.CollisionFidelity.Default jeśli opcja jest nieaktywna lub tabela 0> Options0> jest nieważna.
- RenderFidelity – Wartość RenderFidelity w wynikającej części. Domyślnie dla Enum.RenderFidelity.Automatic jeśli opcja jest brakiem lub tabela 0> Options0> jest nieważna.
- FluidFidelity – Wartość FluidFidelity w wynikającej części. Domyślnie jest to Enum.FluidFidelity.Automatic jeśli opcja jest nieaktywna lub tabela 0> Options0> jest nieważna.
Zwroty
CreatePlaceAsync
Klonuje miejsce poprzez podany templatePlaceID i zwraca PlaceId nowego miejsca, którego można używać z TeleportService. Klonuje miejsce wyświetla w ekwipunku twórcy z podanym imieniem i opisem.
Uwaga, że miejsce szablonu musi mieć kopiowanie szablonu włączone poprzez ustawienia miejsca. Nie możesz użyć tego metody, aby kopiować miejsca, które nie posiadać.
Nie zaleca się częstego używania tej API, szczególnie jeśli stworzone miejsca zawierają skrypty, ponieważ aktualizowanie kodu w dużej ilości miejsc szybko staje się niemożliwe. Dla światów generowanych przez użytkowników rozważaj serIALizację użytwowników i zapisywanie ich w DataStores zamiast tego.
Parametry
Nazwa nowego miejsce.
Opis nowego miejsce.
Zwroty
CreatePlaceInPlayerInventoryAsync
Parametry
Zwroty
GetAssetIdsForPackage
Zwraca maszynę przecinkową zawierającą ID zasobów, która jest częścią określonego pakietu.
Parametry
Zwroty
Zasoby ID, które są zawarte w określonym pakiecie.
GetAudioMetadataAsync
Dostarcza odpowiednie metadane o konkretnym źródle audio (artysta, tytuł, czas trwania, wpisywaćitp.).
Parametry
Materiały ID dla których można odzyskać metadane. Maksymalna wielkość partii wynosi 30.
Zwroty
Materiały źródłowe tabeli słowników w tym samym porządku, co prośba, gdzie każdy słownik zawiera następujące metadane dla jego zasobu/treści:
AssetId (string )
Title (string )
Artist (string )
Duration ( liczba ) w sekundach
AudioType (Enum.AudioSubType )
Uwaga, jeśli wystąpi błąd podczas pobierania metadanych dla żądanych zasobów, na przykład ID zasobu nie istnieje, jego tabela słówek nadal jest włączona w zwróconym arkuszu, ale zawiera tylko pole AssetId dla celów referencyjnych. Dodatkowo, jeśli nie można zidentyfikować <
Przykłady kodu
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
Funkcja ta zwraca szczegóły zawartości określonego pakiet.
Jeśli nie ma ID zestawu, wyświetla HTTP 400 (Bad Request) . Jeśli bundleId nie jest przekształcony na liczbę, wyświetla Unable to cast string to int64 .
Parametry
Identyfikator zdefiniowanego pakiet.
Zwroty
Słownik z następującymi parami kluczowych zawierającymi szczegóły o określonym pakiet:
Id — ID zestawu (to samo co przekazane bundleId argument)
Name — nazwa zestawu
Description — opis zestawu
BundleType — Strings представляющий Enum.BundleType , na przykład "BodyParts" lub 0>„DynamicHead”0>
Items — Arrays przedmiotów w pakiet, każdy z nich posiada szczegóły przedstawione poprzez następujące klucze:
Id — Identyfikator przedmiotu
Name — Imię przedmiotu
Type — Typ przedmiotu, takiego jak "Asset" .
Przykłady kodu
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
Zwraca obiekt StandardPages, który zawiera nazwę i PlaceId miejsc w obecnym doświadczeniu.
Zwroty
Przykłady kodu
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
Umożliwia tworzenie zasobów w doświadczeniu dla użytkowników poprzez zapis dialogu. Gdy jest wywołany, prezentuje dialog dla użytkownika, pozwalając im na wpisanie imienia, opisu i podgląd zasobu. Po wysłaniu, zachowuje zasób w wyposażenieużytkownika. Można go uruchomić tylko na stronie serwera.
Parametry
Użytkownik, który wysyła do nas dzieło.
Zasób do stworzenia. Obecnie nie może zawierać skryptów lub gniazda nie publicznych zasobów.
wpisywaćzasobu. Obecnie może być tylko Enum.AssetType.Model .
Zwroty
ENSEUM.PromptCreateAssetResult i parametr ID zasobu jeśli się udało.
PromptImportAnimationClipFromVideoAsync
Parametry
Zwroty
SavePlaceAsync
Zapisuje stan obecnego miejsce. Działa tylko dla miejsc, które zostały utworzone za pomocą AssetService:CreatePlaceAsync() lub które mają włączoną API poprzez ustawienia miejsca.
Zwroty
SearchAudio
Zwraca obiekt AudioPages zawierający wynik danej wyszukiwać. Nie będzie to działać, jeśli pola zostawisz puste.
Uwaga, że ten metodowy ma niski limit wysyłania prośb HTTP i może wykonać błąd, więc powinien zawsze być otwarty w pcall() dla błędznego handlowania błędami. Możliwe wiadomości błędne obejmują:
<tbody><tr><td>HTTP 429 (Zbyt wiele żądań)</td><td><code>Class.AssetService:SearchAudio()</code> zbyt wiele razy wzywano.</td></tr><tr><td>Nieoczekiwany typ danych, zezwolono na zerwanie wymaganego wymiaru</td><td>Argument słowa kluczowego został sfiltrowany.</td></tr></tbody>
Wiadomość o błędzie | Powód |
---|
Parametry
Zwroty
Przykłady kodu
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
}
}
--]]