AssetService

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar
Dienst

AssetService ist ein nicht replizierter Dienst, der auf Asset-bezogene Anfragen zur Roblox-Web-API behandelt.

Zusammenfassung

Methoden

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

editableImageOptions: Dictionary

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

editableMeshOptions: Dictionary

Rückgaben

CreateEditableImageAsync

Angehalten

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

content: Content
editableImageOptions: Dictionary

Rückgaben

Ein neues EditableImage mit dem bereitgestellten Bild.

CreateEditableMeshAsync

Angehalten

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

content: Content
editableMeshOptions: Dictionary

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

Angehalten

Diese Methode erstellt ein MeshPart mit einem bestimmten CollisionFidelity , Class.MeshPart.RenderFidel

Parameter

meshContent: Content
options: Dictionary

Optionstabelle, in der eine oder mehrere Steuerelemente für die Methode enthalten sind:

Standardwert: "nil"

Rückgaben

CreatePlaceAsync

Angehalten

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

placeName: string

Name des neuen Ortes.

templatePlaceID: number

PlaceId des Ortes, zu dem du klonen möchtest.

description: string

Beschreibung des neuen Ortes.

Standardwert: ""

Rückgaben

PlaceId des neuen Ortes.

CreatePlaceInPlayerInventoryAsync

Angehalten

Parameter

player: Instance
placeName: string
templatePlaceID: number
description: string
Standardwert: ""

Rückgaben

GetAssetIdsForPackage

Angehalten

Kehre ein Array von Asset-IDs zurück, die in einem bestimmten Paket enthalten sind.

Parameter

packageAssetId: number

Rückgaben

Asset-IDs, die in einem bestimmten Paket enthalten sind.

GetAudioMetadataAsync

Angehalten

Bietet relevanten Metadaten über eine bestimmte Audioquelle (Künstler, Titel, Dauer, eingebenusw.).

Parameter

idList: Array

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:

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

Angehalten

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

bundleId: number

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

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

Angehalten

Kehrt ein StandardPages Objekt zurück, das den Namen und PlaceId der Orte innerhalb der aktuellen Erlebnisenthält.


Rückgaben

Code-Beispiele

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

Angehalten

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

player: Player

Der Benutzer, der eine Schöpfungeinreicht.

instance: Instance

Das Asset, das erstellt werden soll. Kann derzeit keine Skripte enthalten oder nachfolgende nicht öffentliche Assets.

assetType: Enum.AssetType

Der eingeben. Derzeit kann nur Enum.AssetType.Model sein.


Rückgaben

Die Enum.PromptCreateAssetResult und die Asset-ID-Paar, wenn erfolgreich.

PromptImportAnimationClipFromVideoAsync

Angehalten

Parameter

player: Player
progressCallback: function

Rückgaben

SavePlaceAsync

void
Angehalten

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

void

SearchAudio

Angehalten

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-NachrichtGrund

Parameter

searchParameters: AudioSearchParams

Rückgaben

Code-Beispiele

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

Ereignisse