Mit der In-Experience-Asset-Erstellung-Funktion können Sie Ihren Benutzern erlauben, Kreationen, die sie in Ihrem Erlebnis erstellt haben, in ihren Inventaren zu speichern. Ihre Benutzer können diese In-Experience-Kreationen wie jedes andere Objektverwenden. Darüber hinaus können diese Kreationen Ihrem Erlebnis zugewiesen werden, wenn sie auf der Roblox-Plattform angezeigt werden, damit jeder Benutzer den Attributions-Link verwenden kann, um zu Ihrem Erlebnis zu gel
Zum Beispiel können Sie Benutzern erlauben, benutzerdefinierte Kreaturen als Haustiere in Ihrer Erlebniszu erstellen, und ihnen erlauben, ihre Lieblings-Haustiere in ihrem Inventar zu speichern. Sie haben volle Kontrolle darüber, welche Objekte Benutzer von Ihrer Erlebnismodifizieren und speichern können, und können Benutzer in der Folge ihre Ergebnisse auf ihren Profils mit der Namensnennung Ihrer Erlebnisanzeigen, um die Sichtbarkeit Ihrer Erlebniszu steigern.
Unterstützte Asset-Typen und Limit
Wie alle Assets auf der Plattform unterliegen In-Experience-Erstellungen der Asset-Moderation. Derzeit kannst du nur Benutzern erlauben, Pakete aus deiner Erlebniszu erstellen. Diese Pakete können keine Skripte oder private Assets enthalten, wie Audiodateien, Video und verschachtelte Pakete. Wenn das System Skripte oder private Assets in einem Paket erkennt, die von Benutzern gespeichert werden können
Wenn Sie Ihr Erlebnis ausführen oder testen und Skripte oder private Assets als Teil einer Schöpfunghinzufügen, wird es nicht gespeichert und zeigt Fehler-Nachrichten im Studio-Ausgabe-Fenster oder der Entwickler-Konsole an.
In-Experience-Asset-Erstellung aktivieren
Um in-experience-Assets für deine Benutzer zu aktivieren, verwende die Class.AssetService:PromptCreateAssetAsync() -API-Methode in einem Server-seitigen Skript, das. PL: die Skripts, zusammen mit anderen Erstellungslogik. Spezifiziere, welche Instanzen in deiner Erfahrung diesen Funktionsumfang aktivieren sollen, und setze einen Benutzerdefinierten Trigger (z. B. ein UI-Symbol) für die Aktivierung der Methode und hör auf, um Client- Remote-Ereignisse zu spe
AssetService:PromptCreateAssetAsync() nimmt die folgenden Argumente:
- Ein Player-Objekt, das den Benutzer darstellt, der eine Schöpfungeinreicht.
- Ein Instance-Objekt, das das Asset für die Schöpfungdarstellt.
- Die Enum.AssetType, die derzeit auf Enum.AssetType.Model beschränkt ist.
Wenn der Server Class.AssetService:PromptCreateAssetAsync() aufruft, gibt er eine Submit Package-Dialog auf dem Client an, damit der Benutzer, der die Speicheraktion auslöst, einen Namen und eine Beschreibung für das Paket eingeben kann. Roblox bietet die Dialog-Benutzeroberfläche aus-of-the-Box, da der Speicher-Workflow eine Plattform-Level-Funktionalität ist.
Das folgende Beispiel Server-seitiges Skript veranlasst Benutzer, ein Auto zu speichern, das sie in einem Erlebnis zeichnen:
Beispiel-Skript für die Erstellung von In-Experience-Assets
-- Definieren Sie die AssetService-Variable
local AssetService = game:GetService("AssetService")
-- Setzen Sie PromptCreateAssetAsync() für die Anfrage des Bearbeitungsdialogs ein
local function CreateAsset(player, instance)
local complete, result, assetId = pcall(function()
return AssetService:PromptCreateAssetAsync(player, instance, Enum.AssetType.Model)
end)
if complete then
if result == Enum.PromptCreateAssetResult.Success then
print("successfully uploaded, AssetId:", assetId)
else
print("Received result", result)
end
else
print("error")
print(result)
end
end
-- Autofarb-Logik ausgelassen
-- Füge einen Ereignishändler hinzu
local function onUserPublish(player, promptObject)
-- Der Benutzer speichert die Autoinstanz mit der Standardfarbe des Erlebnisses
if promptObject.Name == "car" then
CreateAsset(player, car)
elseif promptObject.Name == "CarPaintYellow" or promptObject.Name == "CarPaintBlue" or promptObject.Name == "CarPaintBlack" or promptObject.Name == "CarPaintRed" then
PaintCarColor(promptObject.Name)
end
end
PublishEvent.OnServerEvent:Connect(onUserPublish)
In-Experience Creation Demo Arena zeigt ein Beispiel dar, wie Sie diese Funktion verwenden können. Sie können dem Demo-Arena beitreten, um den In-Experience-Entwicklungs-Workflow als Benutzer durchzugehen und den Platz-Datei mit der Bearbeiten-in-Studio-Option zu referenzieren, um das Design zu beziehen.
Post-Creation und Namensgebung
Nachdem Benutzer ein Asset aus deiner Erlebnissen erstellt und gespeichert haben, können sie es in den folgenden Orten finden:
- Ihre Mein Inventar Seite.
- Die Kreationen-Registerkarte ihrer Profile-Seite.
- Die Entwicklung-Items -Registerkarte unter ihrem Creator-Dashboard Kreationen-Seite.
- Die Inventar--Registerkarte ihrer Toolbox- in Studio.
Wenn Benutzer in-Experience-Kreationen auf den Profilen oder Inventaren ihrer Freunde sehen, sehen sie die Zuschreibung der ursprünglichen Erfahrung, in der das Asset erstellt wurde. Benutzer können auf den Zuschreibungs-Link klicken, um zur Erlebnisseite weitergeleitet zu werden, damit sie dem Erlebnis beitreten und ihr besitzenerstellen können.