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
Tài Liệu Tham Khảo API
Phương Pháp
AutoSetupAvatarAsync
AvatarCreationService:AutoSetupAvatarAsync(
Tham Số
Lợi Nhuận
Mẫu mã
AutoSetupAvatarAsync
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 trình 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 để nó có thể tải avatar cho xem trước cục bộ
LoadAvatarEvent:FireClient(player, generationId)
end)
if not pcallSuccess then
warn("Thiết lập avatar thất bại:", result)
end
endGenerateAvatar2DPreviewAsync
AvatarCreationService:GenerateAvatar2DPreviewAsync(
Tham Số
Lợi Nhuận
Mẫu mã
Tạo bản xem trước Avatar2 D không đồng bộ
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("Tạo bản xem trước 2D thất bại: ", result)
end
return result
endGenerateAvatarAsync
AvatarCreationService:GenerateAvatarAsync(
Tham Số
Lợi Nhuận
Mẫu mã
Tạo Avatar Không Đồng Bộ
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("Tạo avatar thất bại: ", result)
end
return result
endGetBatchTokenDetailsAsync
LoadAvatar2DPreviewAsync
Tham Số
Lợi Nhuận
Mẫu mã
Tải Avatar2 D Xem Trước Không Đồng Bộ
local AvatarCreationService = game:GetService("AvatarCreationService")
function loadAvatar2DPreview(previewId)
local pcallSuccess, result = pcall(function()
return AvatarCreationService:LoadAvatar2DPreviewAsync(previewId)
end)
if not pcallSuccess then
warn("Không thể tải xem trước: ", result)
end
return result
endLoadGeneratedAvatarAsync
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 cả 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ã
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("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ài sản avatar không thể tạo.")
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 ra.")
end
endPromptSelectAvatarGenerationImageAsync
RequestAvatarGenerationSessionAsync
Lợi Nhuận
Mẫu mã
Yêu cầu Phiên Tạo Hình Đại Diện Bất Đồng Bộ
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("Không thể yêu cầu phiên tạo hình đại diện: ", conn)
end
playerSessionRequests[player.UserID] = conn
print("Thời gian chờ cho phiên: ", tostring(waitTime))
end
function cancelAvatarGenerationSessionRequest(player)
if playerSessionRequests[player.UserID] ~= nil then
playerSessionRequests[player.UserID]:Disconnect()
end
endValidateUGCAccessoryAsync
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