Création d'actifs en jeu

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

Avec la fonctionnalité de création d'actifs en jeu, vous pouvez permettre à vos utilisateurs de sauvegarder les créations qu'ils ont réalisées dans votre jeu dans leurs inventaires. Vos utilisateurs peuvent utiliser ces créations en jeu tout comme n'importe quel autre actif. De plus, ces créations attribuent à votre jeu lorsqu'elles sont affichées sur la plateforme Roblox, ainsi tout utilisateur peut utiliser le lien d'attribution pour venir dans votre jeu et créer le leur.

Par exemple, vous pouvez permettre aux utilisateurs de créer des créatures personnalisées comme animaux de compagnie dans votre jeu, et leur permettre de sauvegarder leurs animaux de compagnie préférés dans leurs inventaires. Vous avez un contrôle total pour spécifier quels objets les utilisateurs peuvent modifier et sauvegarder depuis votre jeu. Les utilisateurs peuvent ensuite afficher leurs créations sur leurs profils avec attribution à votre jeu, augmentant la visibilité de votre jeu.

Types d'actifs et limites pris en charge

Tout comme tous les actifs sur la plateforme, les créations en jeu sont soumises à la modération des actifs. Actuellement, vous ne pouvez autoriser les utilisateurs à créer que des packages à partir de votre jeu. Ces packages ne peuvent contenir aucun script ni d'actifs privés, tels que de l'audio, de la vidéo et des packages imbriqués. Si le système détecte des scripts ou des actifs privés dans un package qui peut être sauvegardé par les utilisateurs, il bloque l'action de sauvegarde en jeu en masquant l'invite de sauvegarde pour les utilisateurs.

Lorsque vous exécutez ou testez votre jeu et ajoutez des scripts ou des actifs privés dans le cadre d'une création en jeu, cela échoue à sauvegarder et affiche des messages d'erreur dans la fenêtre de sortie de Studio ou dans la console des développeurs.

Activer la création d'actifs en jeu

Pour activer la création d'actifs en jeu pour vos utilisateurs, utilisez la méthode API AssetService:PromptCreateAssetAsync() dans un script côté serveur, avec d'autres logiques de création. Spécifiez quelles instances de votre jeu vous souhaitez activer cette fonctionnalité, définissez un déclencheur personnalisé (tel qu'une icône d'interface utilisateur) pour invoquer la méthode, et écoutez les événements distants des clients pour sauvegarder les actifs.

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

Lorsque le serveur invoque AssetService:PromptCreateAssetAsync(), cela invite à ouvrir 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 utilisateur de la dialog par défaut, car le flux de travail de sauvegarde est une fonctionnalité au niveau de la plateforme.

L'exemple de script côté serveur suivant invite les utilisateurs à sauvegarder une voiture qu'ils peignent dans un jeu :

Exemple de script pour la création d'actifs en jeu
-- Définir la variable AssetService
local AssetService = game:GetService("AssetService")
-- Configurer PromptCreateAssetAsync() pour inviter la soumission de la boîte de dialogue
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("téléchargement réussi, AssetId :", assetId)
else
print("Résultat reçu", result)
end
else
print("erreur")
print(result)
end
end
-- Logique de peinture de voiture omise
-- Ajouter un gestionnaire d'événements
local function onUserPublish(player, promptObject)
-- L'utilisateur sauvegarde l'instance de voiture avec la couleur par défaut du jeu
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)

L'arène de démonstration de création en expérience montre un exemple de la façon dont vous pouvez utiliser cette fonctionnalité. Vous pouvez rejoindre la démo pour parcourir le flux de création en jeu en tant qu'utilisateur, ou modifier l'endroit dans Studio pour se référer à la conception.

Post-création et attribution

Après que les utilisateurs créent et sauvegardent un actif à partir de votre jeu, ils peuvent le trouver dans les endroits suivants :

  • Leur page Mon Inventaire.
  • L'onglet Créations de leur page Profil.
  • L'onglet Articles de développement sous la page Créations du tableau de bord des créateurs Créations.
  • L'onglet Inventaire de leur Boîte à outils dans Studio.

Lorsque les utilisateurs voient des créations en jeu sur les profils ou les inventaires de leurs amis, ils voient l'attribution au jeu d'origine dans lequel l'actif a été créé. Les utilisateurs peuvent cliquer sur le lien d'attribution pour rediriger vers la page du jeu, afin qu'ils puissent rejoindre le jeu et créer le leur.

©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.