Con la Proprietàdi creazione delle risorse nell'esperienza, puoi consentire ai tuoi utenti di salvare le creazioni che hanno realizzato nella tua esperienza nei loro inventari.I tuoi utenti possono utilizzare queste creazioni in-experience proprio come qualsiasi altra risorsa.Inoltre, queste creazioni attribuiscono alla tua esperienza quando vengono visualizzate sulla PiattaformaRoblox, quindi qualsiasi utente può utilizzare il link di attribuzione per arrivare alla tua esperienza e creare la Proprio.
Ad esempio, puoi abilitare gli utenti a creare creature personalizzate come animali domestici nella tua esperienza e consentire loro di salvare i loro animali domestici preferiti nei loro inventari.Hai pieno controllo per specificare quali oggetti gli utenti possono modificare e salvare dalla tua esperienza.Gli utenti a loro volta possono mostrare le loro creazioni nei loro profili con attribuzione alla tua esperienza, aumentando la visibilità della tua esperienza.
Tipi di risorsa supportati e limiti
Proprio come tutte le risorse sulla Piattaforma, le creazioni in-experience sono soggette a moderazione delle risorse.Al momento, puoi consentire agli utenti di creare pacchetti dalla tua esperienza solo.Questi pacchetti non possono contenere script o risorse private, come audio/suono, video e pacchetti annidati.Se il sistema rileva gli script o le risorse private in un pacchetto che può essere salvato dagli utenti, blocca l'azione di salvataggio in-experience nascondendo il prompt di salvataggio per gli utenti.
Quando stai eseguendo o testando la tua esperienza e aggiungi script o risorse private come parte di una Creazioniin-experience, non riesce a salvare e richiede messaggi di errore allo Studio finestra di output o alla Console del programmatore.
Abilitazione della Creazionidi risorse in-experience
Per abilitare la creazione di risorse in-experience per i tuoi utenti, usa il metodo AssetService:PromptCreateAssetAsync() API sul lato server, insieme ad altre logiche di creazione.Specifica quali istanze nella tua esperienza vuoi abilitare questa funzionalità, imposta un trigger personalizzato (come un'Iconadell'interfaccia utente) per l'invocazione della funzione e ascolta gli eventi remoti del client per il salvataggio delle risorse.
AssetService:PromptCreateAssetAsync() prende i seguenti parametri:
- Un oggetto Player che rappresenta l'utente che invia la Creazionidi una risorsa.
- Un oggetto Instance rappresentante la risorsa per la Creazioni.
- Il Enum.AssetType, che è attualmente limitato a Enum.AssetType.Model .
Quando il server invoca AssetService:PromptCreateAssetAsync() , richiede un dialogo Invia pacchetto sul client, in modo che l'utente che attiva l'azione di salvataggio possa inserire un nome e una descrizione per il pacchetto.Roblox fornisce l'interfaccia utente di dialogo out-of-the-box, poiché il flusso di lavoro di salvataggio è una funzionalità di livello piattaforma.
Lo script lato server seguente richiede agli utenti di salvare una macchina che dipingono in un'esperienza:
Script di esempio per la creazione di risorse nell'esperienza
-- Definisci la variabile AssetService
local AssetService = game:GetService("AssetService")
-- Configura PromptCreateAssetAsync() per richiedere il dialogo di invio
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
-- Logica di pittura dell'auto omessa
-- Aggiungi un gestore eventi
local function onUserPublish(player, promptObject)
-- L'utente salva l'istanza dell'auto con il colore predefinito dell'esperienza
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 mostra un esempio su come puoi usare questa Proprietà.Puoi unirti alla demo per percorrere il flusso di lavoro di creazione in-experience come utente, o modificare il luogo in Studio per fare riferimento al design.
Post-creazione e attribuzione
Dopo che gli utenti hanno creato e salvato una risorsa dalla tua esperienza, possono trovarla nei seguenti luoghi:
- La loro pagina Il mio inventario.
- La scheda Creazioni della loro pagina Profilo.
- La scheda Oggetti di sviluppo sotto la loro dashboard del creatore Creazioni pagina.
- La scheda Inventario della loro Toolbox in Studio.
Quando gli utenti vedono creazioni in-experience sui profili o negli inventari dei loro amici, vedono l'attribuzione all'esperienza originale in cui è stata creata l'asset.Gli utenti possono fare clic sul link di attribuzione per essere reindirizzati alla pagina dell'esperienza, in modo da poter unirsi all'esperienza e crearne una Proprio.