AssetService

Pokaż przestarzałe

*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.

Brak możliwości tworzenia
Usługa

AssetService to niezależny serwis, który weryfikuje związane z zasobami zapytania do witryny API Roblox.

Podsumowanie

Metody

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

editableImageOptions: Dictionary

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

editableMeshOptions: Dictionary

Zwroty

CreateEditableImageAsync

Wynik

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

content: Content
editableImageOptions: Dictionary

Zwroty

Nowy EditableImage zawierający dostarczone obraz.

CreateEditableMeshAsync

Wynik

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

content: Content
editableMeshOptions: Dictionary

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

Wynik

Ten metod tworzy MeshPart z określonym CollisionFidelity , Class.MeshPart.RenderFidelity|Render

Parametry

meshContent: Content
options: Dictionary

Tabela opcji zawierająca jedną lub więcej kontrol dla metody:

Wartość domyślna: "nil"

Zwroty

CreatePlaceAsync

Wynik

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

placeName: string

Nazwa nowego miejsce.

templatePlaceID: number

PlaceId miejsca do klonowania.

description: string

Opis nowego miejsce.

Wartość domyślna: ""

Zwroty

PlaceId nowego miejsce.

CreatePlaceInPlayerInventoryAsync

Wynik

Parametry

player: Instance
placeName: string
templatePlaceID: number
description: string
Wartość domyślna: ""

Zwroty

GetAssetIdsForPackage

Wynik

Zwraca maszynę przecinkową zawierającą ID zasobów, która jest częścią określonego pakietu.

Parametry

packageAssetId: number

Zwroty

Zasoby ID, które są zawarte w określonym pakiecie.

GetAudioMetadataAsync

Wynik

Dostarcza odpowiednie metadane o konkretnym źródle audio (artysta, tytuł, czas trwania, wpisywaćitp.).

Parametry

idList: Array

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:

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

Wynik

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

bundleId: number

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

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

Wynik

Zwraca obiekt StandardPages, który zawiera nazwę i PlaceId miejsc w obecnym doświadczeniu.


Zwroty

Przykłady kodu

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

Wynik

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

player: Player

Użytkownik, który wysyła do nas dzieło.

instance: Instance

Zasób do stworzenia. Obecnie nie może zawierać skryptów lub gniazda nie publicznych zasobów.

assetType: Enum.AssetType

wpisywaćzasobu. Obecnie może być tylko Enum.AssetType.Model .


Zwroty

ENSEUM.PromptCreateAssetResult i parametr ID zasobu jeśli się udało.

PromptImportAnimationClipFromVideoAsync

Wynik

Parametry

player: Player
progressCallback: function

Zwroty

SavePlaceAsync

void
Wynik

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

void

SearchAudio

Wynik

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łędziePowód

Parametry

searchParameters: AudioSearchParams

Zwroty

Przykłady kodu

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

Zdarzenia