Lớp công cụ
AvatarCreationService
*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
Phương Pháp
Sự Kiện
AvatarAssetModerationCompleted(assetId: number,moderationStatus: Enum.ModerationStatus):RBXScriptSignal |
AvatarModerationCompleted(outfitId: number,moderationStatus: Enum.ModerationStatus):RBXScriptSignal |
Tài Liệu Tham Khảo API
Phương Pháp
AutoSetupAvatarAsync
AvatarCreationService:AutoSetupAvatarAsync(
Tham Số
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
endGenerateAvatar2DPreviewAsync
AvatarCreationService:GenerateAvatar2DPreviewAsync(
Tham Số
Lợi Nhuận
GenerateAvatarAsync
AvatarCreationService:GenerateAvatarAsync(
Tham Số
Lợi Nhuận
GetBatchTokenDetailsAsync
LoadAvatar2DPreviewAsync
Tham Số
Lợi Nhuận
LoadGeneratedAvatarAsync
Tham Số
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
endPrepareAvatarForPreviewAsync
PromptCreateAvatarAssetAsync
AvatarCreationService:PromptCreateAvatarAssetAsync(
Tham Số
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
endPromptCreateAvatarAsync
AvatarCreationService:PromptCreateAvatarAsync(
Tham Số
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
endPromptSelectAvatarGenerationImageAsync
RequestAvatarGenerationSessionAsync
ValidateUGCAccessoryAsync
AvatarCreationService:ValidateUGCAccessoryAsync(
Tham Số
Lợi Nhuận
ValidateUGCBodyPartAsync
AvatarCreationService:ValidateUGCBodyPartAsync(
Tham Số
Lợi Nhuận
ValidateUGCFullBodyAsync
AvatarCreationService:ValidateUGCFullBodyAsync(
Tham Số
Lợi Nhuận
Sự Kiện
AvatarAssetModerationCompleted
AvatarCreationService.AvatarAssetModerationCompleted(
Tham Số
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
AvatarCreationService.AvatarModerationCompleted(
Tham Số