Ghi chú phát hành
Học
Lớp công cụ
AvatarCreationService
Không Thể Tạo
Dịch Vụ

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.


Tóm Tắt
Thành viên kế thừa

Tài Liệu Tham Khảo API
Phương Pháp
AutoSetupAvatarAsync
Sinh Lợi
Các khả năng: DynamicGeneration
AvatarCreationService:AutoSetupAvatarAsync(
player:Player, autoSetupParams:Dictionary, progressCallback:function?
Tham Số
player:Player
autoSetupParams:Dictionary
progressCallback:function?
Lợi Nhuận
Mẫu mã
Tự động thiết lập nhân vật bất đồng bộ
local AvatarCreationService = game:GetService("AvatarCreationService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LoadAvatarEvent = ReplicatedStorage.LoadAvatarEvent
local generatedAvatars = {}
-- Phải được gọi trên máy chủ
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(`Tiến độ AutoSetup: {progressInfo.Progress * 100}%`)
end
)
-- Tải và lưu trên máy chủ để sử dụng với PromptCreateAvatarAsync
local humanoidDescription = AvatarCreationService:LoadGeneratedAvatarAsync(generationId)
generatedAvatars[generationId] = humanoidDescription
-- Gửi tín hiệu đến khách hàng để họ có thể tải avatar cho xem trước tại địa phương
LoadAvatarEvent:FireClient(player, generationId)
end)
if not pcallSuccess then
warn("Thiết lập avatar không thành công:", result)
end
end

GenerateAvatar2DPreviewAsync
Sinh Lợi
Các khả năng: DynamicGeneration
AvatarCreationService:GenerateAvatar2DPreviewAsync(
avatarGeneration2dPreviewParams:Dictionary, progressCallback:function?
Tham Số
avatarGeneration2dPreviewParams:Dictionary
progressCallback:function?
Lợi Nhuận

GenerateAvatarAsync
Sinh Lợi
Các khả năng: DynamicGeneration
AvatarCreationService:GenerateAvatarAsync(
avatarGenerationParams:Dictionary, progressCallback:function?
Tham Số
avatarGenerationParams:Dictionary
progressCallback:function?
Lợi Nhuận

GetBatchTokenDetailsAsync
Sinh Lợi
Các khả năng: Monetization
AvatarCreationService:GetBatchTokenDetailsAsync(tokenIds:{any}):{any}
Tham Số
tokenIds:{any}
Lợi Nhuận

GetValidationRules
AvatarCreationService:GetValidationRules():Dictionary
Lợi Nhuận

LoadAvatar2DPreviewAsync
Sinh Lợi
Các khả năng: DynamicGeneration
AvatarCreationService:LoadAvatar2DPreviewAsync(previewId:string):EditableImage
Tham Số
previewId:string
Lợi Nhuận

LoadGeneratedAvatarAsync
Sinh Lợi
Các khả năng: DynamicGeneration
AvatarCreationService:LoadGeneratedAvatarAsync(generationId:string):HumanoidDescription
Tham Số
generationId:string
Lợi Nhuận
Mẫu mã
TảiAvatarĐượcTạoAsync
local AvatarCreationService = game:GetService("AvatarCreationService")
local Players = game:GetService("Players")
-- Có thể được gọi trên máy chủ hoặc máy khách
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("Avatar không thể tải:", result)
return nil
end
end

PrepareAvatarForPreviewAsync
Sinh Lợi
Các khả năng: AvatarAppearance
AvatarCreationService:PrepareAvatarForPreviewAsync(humanoidModel:Model):()
Tham Số
humanoidModel:Model
Lợi Nhuận
()

PromptCreateAvatarAssetAsync
Sinh Lợi
AvatarCreationService:PromptCreateAvatarAssetAsync(
tokenId:string, player:Player, assetInstance:Instance, assetType:Enum.AvatarAssetType
Tham Số
tokenId:string
player:Player
assetInstance:Instance
Lợi Nhuận
Mẫu mã
Yêu cầu tạo tài sản avatar
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("Tải lên thành công với AssetId: ", resultMessage)
else
print("Tải lên không thành công với thông báo lỗi:", resultMessage)
end
else
print("Tạo tài sản avatar thất bại.")
end
end

PromptCreateAvatarAsync
Sinh Lợi
Các khả năng: AssetCreateUpdate, Monetization
AvatarCreationService:PromptCreateAvatarAsync(
tokenId:string, player:Player, humanoidDescription:HumanoidDescription
Tham Số
tokenId:string
player:Player
humanoidDescription:HumanoidDescription
Lợi Nhuận
Mẫu mã
PromptCreateAvatarAsync
local AvatarCreationService = game:GetService("AvatarCreationService")
export type BodyPartInfo = {
bodyPart: Enum.BodyPart,
instance: Instance, --Thư mục chứa các MeshParts đã tạo
}
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("Tải lên thành công với BundleId: ", resultMessage)
else
print("Tải lên không thành công với thông báo lỗi:", resultMessage)
end
else
print("Hình đại diện không thể tạo.")
end
end

PromptSelectAvatarGenerationImageAsync
Sinh Lợi
Các khả năng: SensitiveInput
AvatarCreationService:PromptSelectAvatarGenerationImageAsync(player:Player):string
Tham Số
player:Player
Lợi Nhuận

RequestAvatarGenerationSessionAsync
Sinh Lợi
Các khả năng: DynamicGeneration
AvatarCreationService:RequestAvatarGenerationSessionAsync(
player:Player, callback:function
Tham Số
player:Player
callback:function
Lợi Nhuận

ValidateUGCAccessoryAsync
Sinh Lợi
AvatarCreationService:ValidateUGCAccessoryAsync(
player:Player, accessory:Instance, accessoryType:Enum.AccessoryType
Tham Số
player:Player
accessory:Instance
accessoryType:Enum.AccessoryType
Lợi Nhuận

ValidateUGCBodyPartAsync
Sinh Lợi
AvatarCreationService:ValidateUGCBodyPartAsync(
player:Player, instance:Instance, bodyPart:Enum.BodyPart
Tham Số
player:Player
instance:Instance
bodyPart:Enum.BodyPart
Lợi Nhuận

ValidateUGCFullBodyAsync
Sinh Lợi
AvatarCreationService:ValidateUGCFullBodyAsync(
player:Player, humanoidDescription:HumanoidDescription
Tham Số
player:Player
humanoidDescription:HumanoidDescription
Lợi Nhuận

Sự Kiện
AvatarAssetModerationCompleted
Các khả năng: DynamicGeneration
AvatarCreationService.AvatarAssetModerationCompleted(
assetId:number, moderationStatus:Enum.ModerationStatus
Tham Số
assetId:number
moderationStatus:Enum.ModerationStatus
Mẫu mã
local AvatarCreationService = game:GetService("AvatarCreationService")
local conn = AvatarCreationService.AvatarAssetModerationCompleted:Connect(function(assetId, moderationStatus)
print("Tài sản, " .. assetId .. ", đã sẵn sàng với trạng thái kiểm duyệt: " .. moderationStatus)
end)

AvatarModerationCompleted
Các khả năng: DynamicGeneration
AvatarCreationService.AvatarModerationCompleted(
outfitId:number, moderationStatus:Enum.ModerationStatus
Tham Số
outfitId:number
moderationStatus:Enum.ModerationStatus

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.