Impara
Classe motore
AvatarCreationService
Non costruibile
Assistenza

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.



Riferimento API
Metodi
AutoSetupAvatarAsync
Resa
Capacità: DynamicGeneration
AvatarCreationService:AutoSetupAvatarAsync(
player:Player, autoSetupParams:Dictionary, progressCallback:function?
Parametri
player:Player
autoSetupParams:Dictionary
progressCallback:function?
Restituzioni
Campioni di codice
AutoSetupAvatarAsync
local AvatarCreationService = game:GetService("AvatarCreationService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LoadAvatarEvent = ReplicatedStorage.LoadAvatarEvent
local generatedAvatars = {}
-- Deve essere chiamato sul server
local function setupAvatar(player: Player, avatarModel: Model, layeredShirtModel : Model)
local arguments = {
Body = avatarModel,
Accessories = {}
}
local accessoryArgument = {
AccessoryType = Enum.AccessoryType.Shirt,
IsLayered = true,
Instance = layeredShirtModel,
}
table.insert(arguments.Accessories, accessoryArgument)
local pcallSuccess, result = pcall(function()
local generationId = AvatarCreationService:AutoSetupAvatarAsync(
player,
arguments,
function(progressInfo)
print(`AutoSetup progress: {progressInfo.Progress * 100}%`)
end
)
-- Carica e memorizza sul server per utilizzare con PromptCreateAvatarAsync
local humanoidDescription = AvatarCreationService:LoadGeneratedAvatarAsync(generationId)
generatedAvatars[generationId] = humanoidDescription
-- Segnala al client in modo che possa caricare l'avatar per l'anteprima locale
LoadAvatarEvent:FireClient(player, generationId)
end)
if not pcallSuccess then
warn("Configurazione dell'avatar non riuscita:", result)
end
end

GenerateAvatar2DPreviewAsync
Resa
Capacità: DynamicGeneration
AvatarCreationService:GenerateAvatar2DPreviewAsync(
avatarGeneration2dPreviewParams:Dictionary, progressCallback:function?
Parametri
avatarGeneration2dPreviewParams:Dictionary
progressCallback:function?
Restituzioni
Campioni di codice
Genera Anteprima Avatar2 D Async
local AvatarCreationService = game:GetService("AvatarCreationService")
function generateAvatar2DPreview(sessionId, fileId, textPrompt)
local pcallSuccess, result = pcall(function()
local args = {}
args.SessionId = sessionId
args.FileId = fileId
args.TextPrompt = textPrompt
return AvatarCreationService:GenerateAvatar2DPreviewAsync(args)
end)
if not pcallSuccess then
warn("Generazione dell'anteprima 2D non riuscita: ", result)
end
return result
end

GenerateAvatarAsync
Resa
Capacità: DynamicGeneration
AvatarCreationService:GenerateAvatarAsync(
avatarGenerationParams:Dictionary, progressCallback:function?
Parametri
avatarGenerationParams:Dictionary
progressCallback:function?
Restituzioni
Campioni di codice
Genera Avatar Async
local AvatarCreationService = game:GetService("AvatarCreationService")
function generateAvatar(sessionId, previewId)
local pcallSuccess, result = pcall(function()
local args = {}
args.SessionId = sessionId
args.PreviewId = previewId
return AvatarCreationService:GenerateAvatarAsync(args)
end)
if not pcallSuccess then
warn("Generazione dell'avatar non riuscita: ", result)
end
return result
end

GetBatchTokenDetailsAsync
Resa
Capacità: Monetization
AvatarCreationService:GetBatchTokenDetailsAsync(tokenIds:{any}):{any}
Parametri
tokenIds:{any}
Restituzioni

GetValidationRules
AvatarCreationService:GetValidationRules():Dictionary
Restituzioni

LoadAvatar2DPreviewAsync
Resa
Capacità: DynamicGeneration
AvatarCreationService:LoadAvatar2DPreviewAsync(previewId:string):EditableImage
Parametri
previewId:string
Restituzioni
Campioni di codice
Carica Anteprima Avatar2 D in modo asincrono
local AvatarCreationService = game:GetService("AvatarCreationService")
function loadAvatar2DPreview(previewId)
local pcallSuccess, result = pcall(function()
return AvatarCreationService:LoadAvatar2DPreviewAsync(previewId)
end)
if not pcallSuccess then
warn("Impossibile caricare l'anteprima: ", result)
end
return result
end

LoadGeneratedAvatarAsync
Resa
Capacità: DynamicGeneration
AvatarCreationService:LoadGeneratedAvatarAsync(generationId:string):HumanoidDescription
Parametri
generationId:string
Campioni di codice
CaricaAvatarGeneratoAsync
local AvatarCreationService = game:GetService("AvatarCreationService")
local Players = game:GetService("Players")
-- Può essere chiamato sia sul server che sul client
local function loadAvatar(generationId: string): Model?
local pcallSuccess, result = pcall(function()
local humanoidDescription = AvatarCreationService:LoadGeneratedAvatarAsync(generationId)
local model = Players:CreateHumanoidModelFromDescriptionAsync(humanoidDescription, Enum.HumanoidRigType.R15)
return model
end)
if pcallSuccess then
return result
else
print("L'avatar non è riuscito a caricarsi:", result)
return nil
end
end

PrepareAvatarForPreviewAsync
Resa
Capacità: AvatarAppearance
AvatarCreationService:PrepareAvatarForPreviewAsync(humanoidModel:Model):()
Parametri
humanoidModel:Model
Restituzioni
()

PromptCreateAvatarAssetAsync
Resa
AvatarCreationService:PromptCreateAvatarAssetAsync(
tokenId:string, player:Player, assetInstance:Instance, assetType:Enum.AvatarAssetType
Parametri
tokenId:string
player:Player
assetInstance:Instance
Restituzioni
Campioni di codice
PromptCreateAvatarAssetAsync
local AvatarCreationService = game:GetService("AvatarCreationService")
local function publishAvatarAsset(tokenId: string, player: Player, assetInstance: Accessory, assetType: Enum.AvatarAssetType)
local pcallSuccess, result, resultMessage = pcall(function()
return AvatarCreationService:PromptCreateAvatarAssetAsync(tokenId, player, assetInstance, assetType)
end)
if pcallSuccess then
if result == Enum.PromptCreateAssetResult.Success then
print("Caricamento avvenuto con successo con AssetId: ", resultMessage)
else
print("Caricamento non riuscito con messaggio di errore:", resultMessage)
end
else
print("Creazione dell'asset dell'avatar non riuscita.")
end
end

PromptCreateAvatarAsync
Resa
Capacità: AssetCreateUpdate, Monetization
AvatarCreationService:PromptCreateAvatarAsync(
tokenId:string, player:Player, humanoidDescription:HumanoidDescription
Parametri
tokenId:string
player:Player
humanoidDescription:HumanoidDescription
Restituzioni
Campioni di codice
PromptCreateAvatarAsync
local AvatarCreationService = game:GetService("AvatarCreationService")
export type BodyPartInfo = {
bodyPart: Enum.BodyPart,
instance: Instance, --Cartella con i MeshParts creati
}
export type BodyPartList = { BodyPartInfo }
local function publishAvatar(bodyPartInstances: BodyPartList, player: Player, tokenId: string)
local humanoidDescription = Instance.new("HumanoidDescription")
for _, bodyPartInfo in bodyPartInstances do
local bodyPartDescription = Instance.new("BodyPartDescription")
bodyPartDescription.Instance = bodyPartInfo.instance
bodyPartDescription.BodyPart = bodyPartInfo.bodyPart
bodyPartDescription.Parent = humanoidDescription
end
local pcallSuccess, result, resultMessage = pcall(function()
return AvatarCreationService:PromptCreateAvatarAsync(tokenId, player, humanoidDescription)
end)
if pcallSuccess then
if result == Enum.PromptCreateAvatarResult.Success then
print("Caricamento avvenuto con successo con BundleId: ", resultMessage)
else
print("Caricamento non riuscito con messaggio di errore:", resultMessage)
end
else
print("Creazione dell'avatar fallita.")
end
end

PromptSelectAvatarGenerationImageAsync
Resa
Capacità: SensitiveInput
AvatarCreationService:PromptSelectAvatarGenerationImageAsync(player:Player):string
Parametri
player:Player
Restituzioni

RequestAvatarGenerationSessionAsync
Resa
Capacità: DynamicGeneration
AvatarCreationService:RequestAvatarGenerationSessionAsync(
player:Player, callback:function
Parametri
player:Player
callback:function
Restituzioni
Campioni di codice
Richiesta di sessione di generazione avatar asincrona
local AvatarCreationService = game:GetService("AvatarCreationService")
local playerSessions = {}
local playerSessionRequests = {}
function requestAvatarGenerationSession(player)
local pcallSuccess, conn, waitTime = pcall(function()
return AvatarCreationService:RequestAvatarGenerationSessionAsync(player, function(sessionInfo)
playerSessions[player.UserID] = sessionInfo
playerSessionRequests[player.UserID] = nil
end)
end)
if not pcallSuccess then
warn("Impossibile richiedere la sessione di generazione dell'avatar: ", conn)
end
playerSessionRequests[player.UserID] = conn
print("Tempo di attesa per la sessione: ", tostring(waitTime))
end
function cancelAvatarGenerationSessionRequest(player)
if playerSessionRequests[player.UserID] ~= nil then
playerSessionRequests[player.UserID]:Disconnect()
end
end

ValidateUGCAccessoryAsync
Resa
AvatarCreationService:ValidateUGCAccessoryAsync(
player:Player, accessory:Instance, accessoryType:Enum.AccessoryType
Parametri
player:Player
accessory:Instance
accessoryType:Enum.AccessoryType
Restituzioni

ValidateUGCBodyPartAsync
Resa
AvatarCreationService:ValidateUGCBodyPartAsync(
player:Player, instance:Instance, bodyPart:Enum.BodyPart
Parametri
player:Player
instance:Instance
bodyPart:Enum.BodyPart
Restituzioni

ValidateUGCFullBodyAsync
Resa
AvatarCreationService:ValidateUGCFullBodyAsync(
player:Player, humanoidDescription:HumanoidDescription
Parametri
player:Player
humanoidDescription:HumanoidDescription
Restituzioni

Eventi
AvatarAssetModerationCompleted
Capacità: DynamicGeneration
AvatarCreationService.AvatarAssetModerationCompleted(
assetId:number, moderationStatus:Enum.ModerationStatus
Parametri
assetId:number
moderationStatus:Enum.ModerationStatus
Campioni di codice
Moderazione degli Asset dell'Avatar Completata
local AvatarCreationService = game:GetService("AvatarCreationService")
local conn = AvatarCreationService.AvatarAssetModerationCompleted:Connect(function(assetId, moderationStatus)
print("Risorsa, " .. assetId .. ", pronta con stato di moderazione: " .. moderationStatus)
end)

AvatarModerationCompleted
Capacità: DynamicGeneration
AvatarCreationService.AvatarModerationCompleted(
outfitId:number, moderationStatus:Enum.ModerationStatus
Parametri
outfitId:number
moderationStatus:Enum.ModerationStatus

© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.