AvatarCreationService

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

No creable
Servicio

AvatarCreationService es un servicio que soporta creadores de avatares de desarrolladores, proporcionando métodos que admiten la solicitud de la creación de avatares desde dentro de las experiencias.

Resumen

Métodos

Propiedades

Métodos

GetValidationRules

Obtiene datos sobre las reglas que los activos deben cumplir para pasar la validación de UGC.La validación es un paso esencial antes de crear avatares y hay varias comprobaciones que producirse, incluidos los límites de triángulo de malla, los tamaños de textura, los límites de tamaño de parte del cuerpo, las posiciones de los accesorios y más.

El diccionario devuelto de reglas de validación toma la siguiente forma:


{
["MeshRules"] = {
["BodyPartMaxTriangles"] = {
Enum.AssetType.DynamicHead: number,
Enum.AssetType.LeftArm: number,
Enum.AssetType.RightArm: number,
Enum.AssetType.Torso: number,
Enum.AssetType.LeftLeg: number,
Enum.AssetType.RightLeg: number,
},
["AccessoryMaxTriangles"]: number,
["MeshVertColor"]: Color3,
["CageMeshMaxDistanceFromRenderMesh"]: number,
},
["TextureRules"] = {
["MaxTextureSize"]: number,
},
["BodyPartRules"] = {
[Enum.AssetType.DynamicHead] = {
["Bounds"] = {
["Classic"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
["ProportionsSlender"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
["ProportionsNormal"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
},
["SubParts"] = {
["Head"] = {
["NeckRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["FaceFrontAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["HatAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["HairAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["FaceCenterAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
},
},
},
[Enum.AssetType.LeftArm] = {
["Bounds"] = {
["Classic"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
["ProportionsSlender"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
["ProportionsNormal"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
},
["SubParts"] = {
["LeftHand"] = {
["LeftWristRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["LeftGripAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
},
["LeftUpperArm"] = {
["LeftShoulderRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["LeftShoulderAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["LeftElbowRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
},
["LeftLowerArm"] = {
["LeftElbowRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["LeftWristRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
},
},
},
...
},
["AccessoryRules"] = {
[Enum.AssetType.HairAccessory] = {
["Attachments"] = {
{
["Size"]: Vector3,
["Offset"]: Vector3,
["Name"]: string,
},
},
["RigidAllowed"]: boolean,
},
...
}
}

Devuelve

Diccionario de reglas de validación como se detalla anteriormente.

GenerateAvatar2DPreviewAsync

Proporciona

Parámetros

avatarGeneration2dPreviewParams: Dictionary
Valor predeterminado: ""

Devuelve

GetBatchTokenDetailsAsync

Proporciona

Obtiene los detalles del token de creación de avatar para una lista de tokens de creación de avatar a la vez (los tokens se generan a través del proceso de creación de tokens ).Devuelve un array de detalles de creación de avatar; cada detalle de token es un diccionario con los campos indicados en el resultado de ejemplo a continuación:


{
["Name"] = "string",
["Description"] = "string",
["UniverseId"] = 0,
["CreatorId"] = 0,
["CreatorType"] = Enum.CreatorType.User,
["OnSale"] = true,
["Price"] = 0,
["OffSaleReasons"] = {
"string",
}
}

Parámetros

tokenIds: Array

La lista de ID de token de creación de avatar para obtener detalles.

Valor predeterminado: ""

Devuelve

阵列 de detalles de creación de token de avatar como se describe anteriormente.

LoadAvatar2DPreviewAsync

Proporciona

Parámetros

previewId: string
Valor predeterminado: ""

Devuelve

LoadGeneratedAvatarAsync

Proporciona

Parámetros

generationId: string
Valor predeterminado: ""

Devuelve

PrepareAvatarForPreviewAsync

()
Proporciona

Parámetros

humanoidModel: Model
Valor predeterminado: ""

Devuelve

()

PromptCreateAvatarAsync

Proporciona

Solicita a Player que compre y cree un avatar desde un HumanoidDescription .El precio de la creación se dicta por el precio atribuido al token de creación de avatar.Esta ficha de creación de avatar es requerida para la compra y creación del cuerpo y se puede generar siguiendo el proceso de creación de fichas de.

Para la creacionesde avatares, se espera que el HumanoidDescription incluya nuevos recursos a crear para cada una de las 6 partes del cuerpo (Head , Torso , RightLeg , LeftLeg , RightArm , LeftArm).Opcionalmente, también puede incluir un nuevo accesorio Hair.

Para apoyar esto, el HumanoidDescription debe incluir 6 BodyPartDescription niños (uno por cada parte del cuerpo).Para cada uno, la propiedad se refiere a una que incluye todas las instancias que componen la parte del cuerpo, por ejemplo, una carpeta que tiene , y .La propiedad BodyPartDescription.BodyPart debe establecerse también al Enum.BodyPart relevante.

Cada parte del cuerpo MeshPart también deberá incluir:

Si se incluye un accesorio como el pelo, el HumanoidDescription debe incluir un hijo AccessoryDescription donde:

Por último, el HumanoidDescription debe incluir las escalas humanoides de BodyTypeScale , HeadScale , HeightScale , WidthScale , y ProportionScale .Tenga en cuenta las escalas con las que se importa un cuerpo base para que coincidan con las escalas proporcionadas al HumanoidDescription.

Parámetros

tokenId: string

El ID de una creación de token de avatar.El token debe ser válido en que el universo al que se llama el método es el mismo universo para el que se creó el token.Además, el creador de tokens debe mantener la verificación de ID y Roblox Premium.Para crear una token para su utilización en esta API, sigue el proceso de creación de fichas.

Valor predeterminado: ""
player: Player

El Player destinado a presentarse con el asistente de creación.

Valor predeterminado: ""
humanoidDescription: HumanoidDescription

El HumanoidDescription de la avatar destinado a la creaciones.

Valor predeterminado: ""

Devuelve

Un túnel que contiene, en orden:

Muestras de código

The following code populates a HumanoidDescription in the expected format, prompts for avatar creation, and responds to the result.

PromptCreateAvatarAsync

local AvatarCreationService = game:GetService("AvatarCreationService")
export type BodyPartInfo = {
bodyPart: Enum.BodyPart,
instance: Instance, --Folder with Created 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("Successfully uploaded with BundleId: ", resultMessage)
else
print("Unsuccessfully uploaded with error message:", resultMessage)
end
else
print("Avatar failed to create.")
end
end

ValidateUGCAccessoryAsync

Proporciona

Solo estudio. Dado un Player y Instance por un Enum.AccessoryType , determina si pasa la validación de UGC.

Parámetros

player: Player

La validación de Player se completa para.

Valor predeterminado: ""
accessory: Instance

Se ejecuta la validación de la instancia.

Valor predeterminado: ""
accessoryType: Enum.AccessoryType

Enum.AccessoryType se espera que la instancia sea. Espera Eyebrow , Eyelash o Hair .

Valor predeterminado: ""

Devuelve

Un túnel que contiene, en orden:

  • Un booleano que indica si la validación tuvo éxito para el accesorio.
  • Una tabla opcional de cadenas. Esto incluye razones de fallo si la validación no tuvo éxito; de lo contrario, nil si la validación tuvo éxito.

ValidateUGCBodyPartAsync

Proporciona

Solo estudio.Dada una Player y Instance por un Enum.BodyPart , determina si pasa la validación de UGC.El parámetro instance se espera como un Folder en el siguiente formato de ejemplo con relevancia MeshParts :

Sin embargo, si el esperado es , la función toma un singular directamente.

Parámetros

player: Player

La validación de Player se completa para.

Valor predeterminado: ""
instance: Instance

Se ejecuta la validación de la instancia.

Valor predeterminado: ""
bodyPart: Enum.BodyPart

Enum.BodyPart se espera que la instancia sea.

Valor predeterminado: ""

Devuelve

Un túnel que contiene, en orden:

  • Un booleano que indica si la validación tuvo éxito para la parte del cuerpo.
  • Una tabla opcional de cadenas. Esto incluye razones de fallo si la validación no tuvo éxito; de lo contrario, nil si la validación tuvo éxito.

ValidateUGCFullBodyAsync

Proporciona

Solo estudio. Dado un Player y HumanoidDescription, todas las instancias en el HumanoidDescription se validarán.

Se espera que el HumanoidDescription incluya instancias establecidas en BodyPartDescription hijos para cada uno de los 6 valores requeridos Enum.BodyPart.Opcionalmente, puede incluir instancias establecidas en AccessoryDescription hijos para Eyebrow , Eyelash , y Hair``Enum.AccessoryType|AccessoryTypes .

Parámetros

player: Player

La validación de Player se completa para.

Valor predeterminado: ""
humanoidDescription: HumanoidDescription

HumanoidDescription representando el cuerpo en el que se ejecuta la validación.

Valor predeterminado: ""

Devuelve

Un túnel que contiene, en orden:

  • Un booleano que indica si la validación tuvo éxito para el cuerpo.
  • Una tabla opcional de cadenas. Esto incluye razones de fallo si la validación no tuvo éxito; de lo contrario, nil si la validación tuvo éxito.

Eventos

AvatarModerationCompleted

Parámetros

outfitId: number
moderationStatus: Enum.ModerationStatus