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 Asset-bezogene Anfragen an die Roblox-Web-API verarbeitet.

Zusammenfassung

Methoden

Eigenschaften

Methoden

CreateEditableImage

Erstellt ein neues EditableImage. Standardmäßig wird die Auflösung auf 512×512 festgelegt, aber du kannst eine andere Größe mit der Optionstabelle der Methode angeben.

Wenn das spezifische bearbeitbare Speicherbudget für das Gerät ausgegeben ist, scheitert die Erstellung und diese Methode gibt nil zurück.

Parameter

editableImageOptions: Dictionary

Optionentabelle mit Steuerelementen für die Methode:

  • Size – A Vector2 das gibt die gewünschte Breite und Höhe des Bildes an.
Standardwert: ""

Rückgaben

CreateEditableMesh

Erstellt eine neue, leere EditableMesh.Vertiz, Dreieck und ihre Attribute können dynamisch zu ihr hinzugefügt werden.Wenn das spezifische bearbeitbare Speicherbudget für das Gerät erschöpft ist, scheitert die Erstellung und diese Methode gibt nil zurück.

Parameter

editableMeshOptions: Dictionary

Tabelle mit Optionen für die erstellte EditableMesh .Derzeit sind keine Optionen verfügbar, da FixedSize immer false für leere bearbeitbare Meshes sein wird.

Standardwert: ""

Rückgaben

CreateAssetAsync

Angehalten

Lädt ein neues Asset auf Roblox vom angegebenen Objekt hoch.

Derzeit kann diese Methode nur in lokal geladenen Plugins und Assets hochgeladen werden, ohne zuerst gefragt zu werden.

Parameter

object: Object

Das Objekt, das als Asset erstellt werden soll.

Standardwert: ""
assetType: Enum.AssetType

Derzeit unterstützte Arten sind:

Standardwert: ""
requestParameters: Dictionary

Optionentabelle mit Asset-Metadaten:

  • Name – Name des Assets als String. Standard ist [object.Name] .
  • Description – Beschreibung des Assets als String. Standard ist "Created with AssetService:CreateAssetAsync" .
  • CreatorId – ID des Asset-Erstellers als Zahl.Standard für den angemeldeten Roblox Studio-Benutzer für Plugin-Kontext.Erforderlich für den Open Cloud Luau-Ausführungskontext.
  • CreatorTypeEnum.AssetCreatorType – zeigt den Typ des Asset-Erstellers an.Standard auf Enum.AssetCreatorType.User im Plugin-Kontext.Erforderlich für den Open Cloud Luau-Ausführungskontext.
  • IsPackage – boolescher Wert, nur für den Enum.AssetType.Model Typ gültig. Standard ist true .
Standardwert: "nil"

Rückgaben

Die Enum.CreateAssetResult und Asset-ID-Paare, wenn erfolgreich.

Code-Beispiele

Der folgende Code erstellt ein Mesh-Asset aus einem bearbeitbaren Mesh.

AssetService: CreateAssetAsync

local AssetService = game:GetService("AssetService")
local editableMesh = AssetService:CreateEditableMesh()
-- füge vertices, gesichter und uvs zum netz hinzu
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

Angehalten

Lädt eine neue Version für ein vorhandenes Asset aus dem angegebenen Objekt hoch.

Derzeit kann diese Methode nur in lokal geladenen Plugins und Assets hochgeladen werden, ohne zuerst gefragt zu werden.

Parameter

object: Object

Das Objekt, das als Asset erstellt werden soll.

Standardwert: ""
assetType: Enum.AssetType

Derzeit unterstützte Arten sind:

Standardwert: ""
assetId: number

Die ID des Assets für die neue Version.

Standardwert: ""
requestParameters: Dictionary

Optionentabelle mit Asset-Metadaten:

  • Name – Ein string . Name des Assets. Standard: object.Name.
  • Description – Eine string . Beschreibung des Assets. Standard: "Erstellt mit AssetService:CreateAssetAsync".
  • CreatorId – A number .ID des Asset-Erstellers.Standard: Der angemeldete Roblox Studio-Benutzer für den Plugin-Kontext.Erforderlich für den Open Cloud Luau-Ausführungskontext.
  • CreatorType – Ein Enum.AssetCreatorType . Typ des Asset-Erstellers. Standard: Enum.AssetCreatorType.User im Plugin-Kontext. Erforderlich für den Kontext der Open Cloud Luau-Ausführung.
  • IsPackage – A bool . Nur für den Enum.AssetType.Model Typ anwendbar. Standard: true.
Standardwert: "nil"

Rückgaben

Die Enum.CreateAssetResult und Asset-Versionnummerpaare, wenn erfolgreich.

Code-Beispiele

Der folgende Code erstellt eine neue Modell-Asset-Version.

AssetService: Erstellt AssetversionAsync

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

Angehalten

Erstellt ein neues EditableImage Objekt, das mit der angegebenen Textur gefüllt ist.Nicht-Asset-Texturen-IDs wie rbxthumb:// werden unterstützt.Wenn ein Bild-Asset verwendet wird, muss es mit und/oder im Besitz eines Erstellers des Erlebnisses sein oder es muss innerhalb des Erlebnisses erstellt worden sein.Wenn das für das Gerät spezifische bearbeitbare Speicherbudget erschöpft ist, scheitert die Erstellung und diese Methode gibt nil zurück.

Siehe die EditableImage.

Parameter

content: Content

Verweis auf Inhalte, die extern gespeichert oder als Objekt innerhalb des Ortes gespeichert sind, und die ein einzelnes Wert von einem der unterstützten Enum.ContentSourceType -Werte ummanteln.

Standardwert: ""
editableImageOptions: Dictionary

Tabelle mit Optionen für die erstellte EditableImage . Derzeit sind keine Optionen verfügbar, da die Größenänderung über Size nicht unterstützt wird.

Standardwert: ""

Rückgaben

Ein neues EditableImage, das das bereitgestellte Bild enthält.

CreateEditableMeshAsync

Angehalten

Gibt ein neues Objekt zurück, das aus einer vorhandenen oder Mesh-ID erstellt wurde.Standardmäßig wird ein EditableMesh , das aus dieser Methode erstellt wurde, die Größe korrigiert, so dass Mesh-Daten nur modifiziert, nicht hinzugefügt oder entfernt werden können.Eine feste Größe EditableMesh verbraucht weniger Speicher und sollte bei möglichstem Einsatz bevorzugt werden.

Wenn das spezifische bearbeitbare Speicherbudget für das Gerät erschöpft ist, scheitert die Erstellung und diese Methode gibt nil zurück.

Siehe die Aktivierung von bearbeitbaren Meshes für veröffentlichte Erlebnisse und Berechtigungen Abschnitte von für besondere Überlegungen beim Einsatz dieser API.

Parameter

content: Content

Verweis auf Inhalte, die extern gespeichert oder als Objekt innerhalb des Ortes gespeichert sind, und die ein einzelnes Wert von einem der unterstützten Enum.ContentSourceType -Werte ummanteln.

Standardwert: ""
editableMeshOptions: Dictionary

Optionentabelle mit Steuerelementen für die Methode:

  • FixedSize – A bool .Der Standardwert ist true , und die zurückgegebene EditableMesh wird es Ihnen nicht erlauben, Vertices hinzuzufügen oder zu entfernen, nur ihre Werte zu modifizieren.Setze es auf false, wenn die Fähigkeit, die Mesh-Topologie zu ändern, erforderlich ist, zu Lasten der Verwendung mehrerer Speicher.
Standardwert: ""

Rückgaben

CreateMeshPartAsync

Angehalten

Diese Methode erstellt ein MeshPart mit einem angegebenen CollisionFidelity, RenderFidelity und FluidFidelity.Da MeshPart.MeshId nur lesbar ist, ist diese Methode für die Erstellung eines Meshes mit einer beliebigen Meshing-ID durch Skripte gedacht, ohne ein vorhandenes MeshPart klonen zu müssen.Es wirft Fehler, wenn die Erstellung fehlschlägt.

Parameter

meshContent: Content

Verweis auf Inhalte, die extern gespeichert oder als Objekt innerhalb des Ortes gespeichert sind, und die ein einzelnes Wert von einem der unterstützten Enum.ContentSourceType -Werte ummanteln.

Standardwert: ""
options: Dictionary

Optionentabelle mit einer oder mehreren Steuerelementen für die Methode:

Standardwert: "nil"

Rückgaben

CreatePlaceAsync

Angehalten

Klont einen Ort durch die angegebene templatePlaceID und gibt die PlaceId des neuen Ortes zurück, die du mit TeleportService verwenden kannst.Der Klonplatz wird im Inventar des Erstellers des Ortes mit dem angegebenen Namen und der Beschreibung angezeigt.

Beachten Sie, dass der Platz für Vorlagen durch Platzoptionen aktiviert sein muss, um Kopieren von Vorlagen zu aktivieren. Sie können diese Methode nicht verwenden, um Orte zu klonen, die Sie nicht besitzen.

Es wird nicht empfohlen, diese API häufig zu verwenden, insbesondere wenn die erstellten Orte Skripte enthalten, da das Aktualisieren des Codes in einer großen Anzahl von Orten schnell unmöglich wird.Für von Benutzern generierte Welten, betrachte die Serialisierung von Benutzererstellungen und speichere sie stattdessen in DataStores .

Parameter

placeName: string

Name des neuen Ortes.

Standardwert: ""
templatePlaceID: number

PlaceId des ortes zum klonen.

Standardwert: ""
description: string

Beschreibung des neuen Ortes.

Standardwert: ""

Rückgaben

PlaceId des neuen ortes.

CreatePlaceInPlayerInventoryAsync

Angehalten

Parameter

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

Rückgaben

GetAssetIdsForPackage

Angehalten

Gibt eine Reihe von Asset-IDs zurück, die in einem bestimmten Paket enthalten sind.

Parameter

packageAssetId: number
Standardwert: ""

Rückgaben

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

GetAudioMetadataAsync

Angehalten

Bietet relevante Metadaten über eine bestimmte Audioquelle (Künstler, Titel, Dauer, Art, etc.).

Parameter

idList: Array

Array von Asset- oder Inhalts-IDs, für die Metadaten abgerufen werden sollen. Die maximale Batchgröße beträgt 30.

Standardwert: ""

Rückgaben

Array von Dictionär-Tabellen in der gleichen Reihenfolge wie die Anfrage, in der jedes Dictionär die folgenden Metadaten für sein Asset/Inhalt enthält:

  • AssetId (zeichenkette)

  • Title (zeichenkette)

  • Artist (zeichenkette)

  • Duration (zahl) in sekunden

  • AudioType ( Enum.AudioSubType )

Beachten Sie, dass, wenn ein Fehler beim Abrufen von Metadaten für eines der angeforderten Assets auftritt, zum Beispiel die Asset-ID nicht existiert, ihre Dictionary-Tabel immer noch in der zurückgegebenen Liste enthalten ist, aber sie enthält nur das Feld AssetId für Referenzzwecke.Zusätzlich, wenn die AudioType für ein bestimmtes Asset nicht bestimmt werden kann (vielleicht weil es sich um privates Audio handelt), wird die daraus resultierende Diktion kein AudioType Eintrag enthalten.

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 über den Inhalt des angegebenen Bündels zurück.

Wenn die Bündel-ID nicht existiert, wirft sie HTTP 400 (Bad Request) . Wenn bundleId nicht in ein Ganzzahl umwandelbar ist, wirft sie Unable to cast string to int64 .

Parameter

bundleId: number

Die ID des angegebenen Bündels.

Standardwert: ""

Rückgaben

Wörterbuch mit den folgenden Schlüssel-Wert-Paaren, die Details über das angegebene Bündel enthalten:

  • Id — Bündel-ID (gleich wie übergebenes bundleId Argument)

  • Name — Bündelnamen

  • Description — Bündelbeschreibung

  • BundleType — Sicherung, die die Enum.BundleType darstellt, zum Beispiel "BodyParts" oder "DynamicHead"

  • Items — Array von Elementen im Bündel, jedes mit Details, die durch die folgenden Schlüssel dargestellt werden:

    • 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

Gibt ein StandardPages Objekt zurück, das den Namen und PlaceId der Orte innerhalb der aktuellen Erfahrung enthält.


Rückgaben

Code-Beispiele

Der folgende Code druckt den Namen und PlaceId jedes Ortes in der Erfahrung aus.

AssetService: Spielplätze abrufenAsync

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 Assets in der Erfahrung für Benutzer, indem ein Veröffentlichungsdialog angezeigt wird.Wenn aufgerufen, präsentiert es dem Benutzer einen Dialog, um ihm zu ermöglichen, einen Namen, eine Beschreibung und eine Vorschau des Assets einzugeben.Nach dem Absenden speichert es das Asset im Inventar des Benutzers.Kann nur auf der Serverseite aufgerufen werden.

Parameter

player: Player

Der Benutzer, der eine Asset-Erstellung einreicht.

Standardwert: ""
instance: Instance

Das Asset, das erstellt werden soll. Derzeit kann keine Skripte oder nicht öffentliche Assets enthalten.

Standardwert: ""
assetType: Enum.AssetType

Der Asset-Typ. Derzeit kann nur Enum.AssetType.Model sein.

Standardwert: ""

Rückgaben

Die Enum.PromptCreateAssetResult und Asset-ID-Paare, wenn erfolgreich.

PromptImportAnimationClipFromVideoAsync

Angehalten

Parameter

player: Player
Standardwert: ""
progressCallback: function
Standardwert: ""

Rückgaben

SavePlaceAsync

()
Angehalten

Speichert den aktuellen Zustand des Ortes. Beachte die folgenden Richtlinien und Einschränkungen:

  • Diese Methode funktioniert nur für Orte, die mit AssetService:CreatePlaceAsync() erstellt wurden, oder die die API über die Einstellungen des Ortes aktiviert haben.
  • Diese Methode überschreibt den vorherigen Zustand des Ortes. Um eine Speicherung rückgängig zu machen, veröffentliche eine ältere Version des Ortes.
  • Es gibt Fälle, in denen Speicherungen gleichzeitig im Studio und auf mehreren Erlebnissерvern auftreten können.Die Reihenfolge der Speicherungen geschieht in der Reihenfolge, in der sie aufgerufen werden.
  • Eine aktive Team-Erstellungs-Sitzung im Studio blockiert alle Speicherungen.

Parameter

requestParameters: Dictionary
Standardwert: ""

Rückgaben

()

SearchAudio

Angehalten

Gibt ein AudioPages Objekt zurück, das das Ergebnis der angegebenen Suche enthält. Wird keine Felder mit leeren Werten zurückgeben.

Beachten Sie, dass diese Methode ein niedriges HTTP-Anforderungslimit hat und Fehler werfen kann, so dass sie immer in pcall() für die Fehlerbehandlung eingepackt werden sollte.Mögliche Fehlermeldungen umfassen:


<th>Grund</th>
</tr>
</thead>
<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, erwartetes Array wurde null</td>
<td>Das Schlüsselwort-Argument wurde gefiltert.</td>
</tr>
</tbody>
Fehlnachricht

Parameter

searchParameters: AudioSearchParams
Standardwert: ""

Rückgaben

Code-Beispiele

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

Ereignisse