Création d'objets dans l'expérience

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Avec la fonctionalitéde création d'objets dans l'expérience, vous pouvez permettre à vos utilisateurs de sauvegarder les créations qu'ils ont faites dans votre expérience dans leurs inventaires. Vos utilisateurs peuvent utiliser ces créations dans l'expérience comme n'importe quel autre contenu. De plus, ces créations attribuent à votre expérience lorsque affichées sur la plateformeRoblox, afin que tout utilisateur puisse utiliser le lien d'attribution pour venir à votre expérience et créer leur posséder.

Par exemple, vous pouvez permettre aux utilisateurs de créer des créatures personnalisées en tant que familiers dans votre expérience, et leur permettre de sauvegarder leurs familiers préférés dans leurs inventaires. Vous avez le contrôle complet pour spécifier les objets que les utilisateurs peuvent modifier et enregistrer dans votre expérience. Les utilisateurs peuvent ensuite afficher leurs créations sur leurs profils avec une attribution à votre expérience, ce qui augmente la visibilité de votre expérience.

Type de ressources et limites pris en charge

Comme toutes les ressources sur la plateforme, les créations dans l'expérience sont soumises à la modération des ressources . . Actuellement, vous ne pouvez permettre aux utilisateurs que de créer des packs à partir de votre expérience. Ces packs ne peuvent pas contenir de scripts ou de ressources privées, tels que l'audio, la vidéo et les packs imbriqués. Si le système détecte des

Lorsque vous exécutez ou testez votre expérience et ajoutez des scripts ou des ressources privées en tant que partie d'une créationsdans l'expérience, il ne peut pas enregistrer et afficher des messages d'erreur dans la fenêtre d'sortie Studio ou dans la fenêtre de développeur Console.

Activer la création d'objets dans l'expérience

Pour activer la création d'actifs dans l'expérience pour vos utilisateurs, utilisez la méthode AssetService:PromptCreateAssetAsync() de l'API dans un script côté serveur, ainsi que d'autres logiques de création. Spécifiez dans votre expérience les instances dans lesquelles vous souhaitez activer cette fonctionnalité, définissez un déclencheur personnalisé (tel qu'un icône d'interface utilisateur) pour l'invocation de la méthode et écoutez

AssetService:PromptCreateAssetAsync() prend les paramètres suivants :

Lorsque le serveur invite AssetService:PromptCreateAssetAsync() , il invite une boîte de dialogue soumettre le package sur le client, afin que l'utilisateur qui déclenche l'action de sauvegarde puisse entrer un nom et une description pour le package. Roblox fournit l'interface de dialogue par défaut, car le workflow de sauvegarde est une fonctionnalité de niveau de plateforme.

Le script côté serveur suivant demande aux utilisateurs de sauvegarder une voiture qu'ils peignent dans une expérience :

Exemple de script pour la création d'une ressource dans l'expérience

-- Définissez la variable AssetService
local AssetService = game:GetService("AssetService")
-- Configurez PromptCreateAssetAsync() pour demander la boîte de dialogue d'invitation
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
-- Logique de peinture de voiture omise
-- Ajouter un gestionnaire d'événement
local function onUserPublish(player, promptObject)
-- L'utilisateur enregistre la voiture avec la couleur par défaut de l'expérience
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 présente un exemple sur la façon dont vous pouvez utiliser cette fonctionalité. Vous pouvez rejoindre le démo pour parcourir le flux de travail de création dans l'expérience en tant qu'utilisateur et accéder au fichier de lieu en utilisant l'option modifier dans le studio pour référencer le design.

A close up view of an experience's tile on its landing page. The ellipsis button is highlighted.

Poste-création et Attribution

Une fois que les utilisateurs ont créé et enregistré une ressource de votre expérience, ils peuvent la trouver dans les endroits suivants :

  • Leur page Mon inventaire.
  • L'onglet Créations de leur page Profil.
  • L'onglet Objets de développement sous leur page Créations.
  • L'onglet Inventaire de leur boîte à outils dans Studio.

Lorsque les utilisateurs voient des créations dans l'expérience sur les profils ou inventaires de leurs amis, ils voient l'attribution à l'expérience originale dans laquelle la ressource a été créée. Les utilisateurs peuvent cliquer sur le lien d'attribution pour rediriger vers la page de l'expérience, afin qu'ils puissent rejoindre l'expérience et créer la posséder.

An example asset tile that shows the attribution of an in-experience creation.