AssetService
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
AssetService ist ein nicht replizierter Dienst, der auf Asset-bezogene Anfragen zur Roblox-Web-API behandelt.
Zusammenfassung
Methoden
Erstellt ein neues EditableImage .
Erstellt eine neue, leere EditableMesh .
Erstellt eine neue EditableImage Instanz, die mit dem gegebenen Bild gefüllt ist.
Kehrt eine neue EditableMesh Instanz zurück, die aus einer bestehenden Mesh-Inhalts-ID erstellt wurde.
Erstellt einen neuen MeshPart mit einer bestimmten Mesh-ID und einer optionalen Tabelle von Fidelity-Werten.
Klonen Sie einen Ort durch den gegebenen templatePlaceID .
- CreatePlaceInPlayerInventoryAsync(player : Instance,placeName : string,templatePlaceID : number,description : string):number
Klont einen Ort durch das gegebene templatePlaceID und setzt ihn in den Inventar des gegebenen Spieler:in.
Kehre ein Array von Asset-IDs zurück, die in einem bestimmten Paket enthalten sind.
Bietet relevanten Metadaten über eine bestimmte Ausgangstext.
Gibt Details der Inhalte des angegebenen Bündelzurück.
Kehrt ein StandardPages Objekt zurück, das den Namen und PlaceId der Orte innerhalb der aktuellen Erlebnisenthält.
Erlaubt die Erstellung von In-Experience-Assets für Benutzer, indem ein Veröffentlichungs-Dialog angezeigt wird.
Speichert den Zustand des aktuellen Ortes.
Findet Audio-Assets, die verschiedenen Suchkriterien entsprechen.
Eigenschaften
Methoden
CreateEditableImage
Erstellt eine neues EditableImage. Standardmäßig ist die Auflösung auf 512×512 eingestellt, aber Sie können eine andere Größe über die Option-Tabelle des Methods spezifizieren.
Wenn das Geräte spezifische Edit-Memory-Budget erschöpft ist, fehlert die Erstellung und diese Methode gibt nil zurück.
Parameter
Optionen-Tabelle, die Steuerelemente für die Methode enthält:
- Size – Ein Vector2, der die gewünschte Breite und Höhe des Bildes spezifiziert.
Rückgaben
CreateEditableMesh
Erstellt eine neue, leere EditableMesh. Die vertikalen, dreieck und ihre Attribute können dynamisch hinzugefügt werden. Wenn das Geräte-spezifische editable memory budget erschöpft ist, wird die Erstellung fehlgeschlagen und diese Methode wird nil zurückgeben.
Parameter
Rückgaben
CreateEditableImageAsync
Erstellt eine neue EditableImage Instanz, die mit der gegebenen Textur gefüllt ist. Objektwie rbxthumb:// werden unterstützt. Wenn Sie ein Bild verwenden, muss es mit und/oder im Besitz eines Erstellers der Erlebnisverbunden und/oder in der Erlebniserstellt worden sein. Wenn das Geräte-spezifische Budget für
Parameter
Rückgaben
Ein neues EditableImage mit dem bereitgestellten Bild.
CreateEditableMeshAsync
Kehrt eine neue EditableMesh Instanz zurück, die aus einer bestehenden Mesh-Inhalts-ID erstellt wurde. Standardmäßig wird eine EditableMesh aus dieser Methode erstellt, die nur verändert, nicht hinzugefügt oder entfernt werden kann. Eine feste EditableMesh -Größe konsumiert weniger Speicher und sollte bei Möglichkeit bevorzugt werden.
Wenn das Geräte-spezifische editable memory budget erschöpft ist, wird die erstellung fehlgeschlagen und diese Methode wird nil zurückgeben.
Parameter
Optionen-Tabelle, die Steuerelemente für die Methode enthält:
- FixedSize – A bool . Standardwert ist true , und die zurückgegebene 0> Class.EditableMesh 0> erlaubt Ihnen nicht, Verwerfen oder Entfernen von Knoten hinzuzufügen oder zu entfernen, sondern nur ihre Werte zu ändern. Setzen Sie auf 3> false ', wenn die Fähigkeit zum Änd
Rückgaben
Die neue EditableMesh Instanz.
CreateMeshPartAsync
Diese Methode erstellt ein MeshPart mit einem bestimmten CollisionFidelity , Class.MeshPart.RenderFidel
Parameter
Optionstabelle, in der eine oder mehrere Steuerelemente für die Methode enthalten sind:
- CollisionFidelity – Der Wert von CollisionFidelity in der resultierenden Teil. Standards auf Enum.CollisionFidelity.Default wenn die Option fehlt oder die 0> Options0> Tabelle ist CollisionFidelity3> .
- RenderFidelity – Der Wert von RenderFidelity in der resultierenden Teil. Standards auf Enum.RenderFidelity.Automatic wenn die Option fehlt oder die 0> optionen0> Tabelle ist RenderFidelity3> .
- FluidFidelity – Der Wert von FluidFidelity in der resultierenden Teil. Standards auf Enum.FluidFidelity.Automatic wenn die Option fehlt oder die 0> Options0> Tabelle ist FluidFidelity3> .
Rückgaben
CreatePlaceAsync
Klonen Sie einen Ort durch das angegebene templatePlaceID und geben Sie die PlaceId des neuen Ortes zurück, den Sie mit TeleportService verwenden können. Der Klon-Ort wird innerhalb des Inventars des Orteserstellers mit dem angegebenen Namen und Beschreibung angezeigt.
Beachten Sie, dass der Platzvorlage-Ort die Platz-Kopierung durch Platz-Einstellungen aktiviert haben muss. Sie können diese Methode nicht verwenden, um Orte zu klonen, die Sie nicht besitzen.
Die häufige Verwendung dieser API wird nicht empfohlen, insbesondere wenn die erstellten Orte Skripte enthalten, da das Aktualisieren des Codes in einem großen Volumen von Orten schnell unrealistisch wird. Für benutzergenerierte Welten betrachten Sie die SerIALisierung der Benutzererstellungen und speichern sie in DataStores anstelle dessen.
Parameter
Name des neuen Ortes.
Beschreibung des neuen Ortes.
Rückgaben
CreatePlaceInPlayerInventoryAsync
Parameter
Rückgaben
GetAssetIdsForPackage
Kehre ein Array von Asset-IDs zurück, die in einem bestimmten Paket enthalten sind.
Parameter
Rückgaben
Asset-IDs, die in einem bestimmten Paket enthalten sind.
GetAudioMetadataAsync
Bietet relevanten Metadaten über eine bestimmte Audioquelle (Künstler, Titel, Dauer, eingebenusw.).
Parameter
Matrix von Asset- oder Inhalts-IDs, für die Metadaten abgerufen werden. Die maximale Batch-Größe beträgt 30.
Rückgaben
Matrix von Wörterbüchertischen in der gleichen Reihenfolge wie die Anfrage, in der jedes Wörterbuch seine Asset/Content-Metadaten enthält:
AssetId ( string )
Title ( string )
Artist ( string )
Duration ( Zahl ) in Sekunden
AudioType ( Enum.AudioSubType )
Beachten Sie, dass wenn ein Fehler beim Abrufen von Metadaten für eines der angefordertenen Assets auftreten sollte, z. B. die Asset-ID existiert nicht, ist seine Diction-Tabelle immer noch im zurückgegebenen Array enthalten, aber sie enthält nur die AssetId-Feld für Verweisungszwecke. Darüber hinaus, wenn der AudioType nicht für ein best
Code-Beispiele
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
Diese Funktion gibt Details der Inhalte des angegebenen Bündelzurück.
Wenn die Bundle-ID nicht existiert, gibt es HTTP 400 (Bad Request). Wenn bundleId nicht in ganzzahligumwandelbar ist, gibt es Unable to cast string to int64.
Parameter
Die ID des angegebenen Bündel.
Rückgaben
Wörterbuch mit den folgenden Schlüsselwerten, die Details über das angegebene Bündel enthalten:
Id — Bundle-ID (gleich wie das zugegebene bundleId-Argument)
Name — Bundle-Name
Description — Bundle-Beschreibung
BundleType — Strings, die den Enum.BundleType darstellen, z. B. "BodyParts" oder 0> "DynamicHead"0>
Items — Array-Item in der Bündel, jedes mit Details durch die folgenden Schlüssel repräsentiert:
Id — Artikel-ID
Name — Artikelname
Type — Artikeltyp wie "Asset".
Code-Beispiele
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
Kehrt ein StandardPages Objekt zurück, das den Namen und PlaceId der Orte innerhalb der aktuellen Erlebnisenthält.
Rückgaben
Code-Beispiele
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
Erlaubt die Erstellung von In-Experience-Assets für Benutzer, indem eine Veröffentlichungs-Dialoganfrage aufgerufen wird. Wenn aufgerufen, wird dem Benutzer ein Dialog präsentiert, in dem er einen Namen, eine Beschreibung und eine Vorschau des Objekteingeben kann. Nach dem Senden wird das Asset in das Inventar des Benutzers gespeichert. Kann nur auf der Serverseite aufgerufen werden.
Parameter
Der Benutzer, der eine Schöpfungeinreicht.
Das Asset, das erstellt werden soll. Kann derzeit keine Skripte enthalten oder nachfolgende nicht öffentliche Assets.
Der eingeben. Derzeit kann nur Enum.AssetType.Model sein.
Rückgaben
Die Enum.PromptCreateAssetResult und die Asset-ID-Paar, wenn erfolgreich.
PromptImportAnimationClipFromVideoAsync
Parameter
Rückgaben
SavePlaceAsync
Speichert den Zustand des aktuellen Ortes. Gilt nur für Orte, die mit AssetService:CreatePlaceAsync() oder durch Platz-Einstellungen die API aktiviert haben.
Rückgaben
SearchAudio
Gibt ein AudioPages-Objekt zurück, das das Ergebnis der angegebenen suchenenthält. Wird keine Felder mit leeren Werten zurückgeben.
Beachten Sie, dass diese Methode ein niedriges HTTP-Anforderungslimit hat und einen Fehler werfen kann, so dass sie immer in pcall() für die Fehlerverarbeitung eingeschlossen sein sollte. Mögliche Fehlernachrichten beinhalten:
<tbody><tr><td>HTTP 429 (Zu viele Anfragen)</td><td><code>Class.AssetService:SearchAudio()</code> wurde zu oft aufgerufen.</td></tr><tr><td>Unerwarteter Typ für Daten, erwartete Matrix erhalten null</td><td>Das Keyword-Argument wurde gefiltert.</td></tr></tbody>
Fehler-Nachricht | Grund |
---|
Parameter
Rückgaben
Code-Beispiele
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
}
}
--]]