エンジンクラス
AvatarCreationService
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
概要
方法
イベント
AvatarAssetModerationCompleted(assetId: number,moderationStatus: Enum.ModerationStatus):RBXScriptSignal |
AvatarModerationCompleted(outfitId: number,moderationStatus: Enum.ModerationStatus):RBXScriptSignal |
APIリファレンス
方法
AutoSetupAvatarAsync
AvatarCreationService:AutoSetupAvatarAsync(
パラメータ
戻り値
コードサンプル
AutoSetupAvatarAsync
local AvatarCreationService = game:GetService("AvatarCreationService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LoadAvatarEvent = ReplicatedStorage.LoadAvatarEvent
local generatedAvatars = {}
-- サーバーで呼び出す必要があります
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
)
-- プロンプトでCreateAvatarAsyncを使用するためにサーバーにロードして保存します
local humanoidDescription = AvatarCreationService:LoadGeneratedAvatarAsync(generationId)
generatedAvatars[generationId] = humanoidDescription
-- クライアントに信号を送信して、ローカルプレビューのためにアバターをロードできるようにします
LoadAvatarEvent:FireClient(player, generationId)
end)
if not pcallSuccess then
warn("アバターのセットアップに失敗しました:", result)
end
endGenerateAvatar2DPreviewAsync
AvatarCreationService:GenerateAvatar2DPreviewAsync(
パラメータ
戻り値
GenerateAvatarAsync
AvatarCreationService:GenerateAvatarAsync(
パラメータ
戻り値
GetBatchTokenDetailsAsync
LoadAvatar2DPreviewAsync
パラメータ
LoadGeneratedAvatarAsync
パラメータ
コードサンプル
生成されたアバターを非同期で読み込む
local AvatarCreationService = game:GetService("AvatarCreationService")
local Players = game:GetService("Players")
-- サーバーまたはクライアントのいずれかで呼び出すことができます
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("アバターの読み込みに失敗しました:", result)
return nil
end
endPrepareAvatarForPreviewAsync
PromptCreateAvatarAssetAsync
AvatarCreationService: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("AssetIdで正常にアップロードされました: ", resultMessage)
else
print("エラーメッセージで正常にアップロードされませんでした:", resultMessage)
end
else
print("アバター資産の作成に失敗しました。")
end
endPromptCreateAvatarAsync
AvatarCreationService:PromptCreateAvatarAsync(
パラメータ
戻り値
コードサンプル
アバター作成のプロンプト
local AvatarCreationService = game:GetService("AvatarCreationService")
export type BodyPartInfo = {
bodyPart: Enum.BodyPart,
instance: Instance, -- 作成された MeshParts のフォルダ
}
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("バンドルIDで正常にアップロードされました: ", resultMessage)
else
print("エラーメッセージで非正常にアップロードされました:", resultMessage)
end
else
print("アバターの作成に失敗しました。")
end
endPromptSelectAvatarGenerationImageAsync
RequestAvatarGenerationSessionAsync
ValidateUGCAccessoryAsync
AvatarCreationService:ValidateUGCAccessoryAsync(
パラメータ
戻り値
ValidateUGCBodyPartAsync
AvatarCreationService:ValidateUGCBodyPartAsync(
パラメータ
戻り値
ValidateUGCFullBodyAsync
AvatarCreationService:ValidateUGCFullBodyAsync(
パラメータ
戻り値
イベント
AvatarAssetModerationCompleted
AvatarCreationService.AvatarAssetModerationCompleted(
パラメータ
コードサンプル
local AvatarCreationService = game:GetService("AvatarCreationService")
local conn = AvatarCreationService.AvatarAssetModerationCompleted:Connect(function(assetId, moderationStatus)
print("アセット, " .. assetId .. ", モデレーションステータス:" .. moderationStatus)
end)AvatarModerationCompleted
AvatarCreationService.AvatarModerationCompleted(
パラメータ