La mayoría de las experiencias dejan a los jugadores usar su propio avatar de Roblox, aunque algunas implementan un sistema de personalización de inicio de experiencia como el módulo Cabina de Merch. Otras experiencias hacen modificaciones limitadas a los avatares de los jugadores, como cascos, alas o accesorios que coinciden con el género.
Para crear una experiencia única que cambia la apariencia de tus usuarios, puedes personalizar las propiedades del personaje por defecto con lo siguiendo:
- Configurar la configuración del avatar Game Settings para establecer los valores predeterminados de apariencia del avatar global para todos los usuarios.
- Usa Descripción Humanoide en cualquier momento para aplicar una gama de personalizaciones de personajes específicas a uno o más usuarios en tu experiencia.
Configuración del juego
La sección Avatar en el menú Configuración del juego te permite establecer rápidamente varias propiedades de personajes globales en tu experiencia. Cuando estás editando las Configuraciones del juego de avatar, tu avatar se muestra en el espacio de trabajo como una vista previa visual.
Puedes ajustar las siguientes propiedades de personaje en tu experiencia usando las Configuraciones del Juego de Avatar:
Configuración | Descripción |
---|---|
Predefinidos | Aplica un conjunto común de BodyTypeScale y ProportionScale combinaciones. Puedes ajustar estas propiedades con HumanoidDescription después de seleccionar un preajuste. |
Tipo de Avatar | Establece el tipo de avatar predeterminado R15 o R6 . |
Animación | El conjunto de Animations a los que un usuario tiene acceso. |
Colisión | Establece los límites de colisión para los personajes en la experiencia. |
Partes del cuerpo | Las ID de los elementos de Face, Head, Class.HumanoidDescription.Torso|Torso |
Ropa | Las ID de los elementos clásicos Shirt, Pants y ShirtGraphic que puedes aplicar al personaje. |
Tipos de Avatar
La configuración Tipo de Avatar establece tu experiencia para cargar solo modelos de personajes R15 o R6 .
R15 es el avatar moderno por defecto con 15 limbios. Este avatar permite una mayor flexibilidad de personalización, opciones de accesorios y animaciones.
R6 es un avatar simple clásico con 6 extremidades. Este tipo de avatar proporciona un sentimiento retro pero está limitado en animaciones y personalización adicional. Las modificaciones en la propiedad de escala del cuerpo no afectan a los personajes R6.
Límites de colisión
La configuración Colisión establece los límites de colisión para los personajes en la experiencia. Esto no afecta la apariencia física de los personajes en tu experiencia.
Establecer esta opción en Caja exterior hace que los tamaños de colisión de los personajes sean dinámicos en función de sus modelos individuales. Esta es la configuración predeterminada y recomendada para la mayoría de las experiencias.
Establecer esta opción en Caja interna proporciona límites de colisión fijos para todos los personajes en tu experiencia.
Descripción humanoide
Los modelos de personajes jugables contienen un objeto Humanoid que permite que el modelo tenga propiedades especiales, como caminar, saltar, equipar artículos y interactuar con el entorno, ambiente. Para personalizar la aspecto, lookde un personaje Class.Humanoid , puede aplicar un nuevo Class.HumanoidDescription para cambiar las propiedades del personaje.
Puede ajustar las siguientes propiedades de personaje en su experiencia usando HumanoidDescription :
Propiedad de personaje | Descripción |
---|---|
Escala | Números para rasgos físicos height , width , head , 1> Class.HumanoidDescription.BodyTypeScale|cuerpo |
Accesorios | Las ID de los Activos de Class.Accessory|accesorios equipados por un personaje. |
Ropa clásica | Las ID de los elementos de la Shirt, Pants y ShirtGraphic de imágenes que puedes aplicar al personaje. |
Parte del Cuerpo | Las ID de los elementos de Face, Head, Class.HumanoidDescription.Torso|Torso |
Colores de cuerpo | El BodyColors de las individuales partes del personaje. |
Animaciones | Las ID de los Recursos de Animations que puedes usar en un personaje. |
Puedes personalizar un personaje con HumanoidDescription usando los siguientes pasos:
- Crea una descripción del personaje del usuario, una ID de atuendo específica o un ID de usuario específico.
- Modifica la descripción para personalizar las propiedades que quieres aplicar al personaje Humanoid .
- Aplica la descripción en cualquier personaje, todos los personajes de los jugadores o incluso en todos los personajes de generación.
Creando Descripción Humanoide
Puede crear una nueva instancia de HumanoidDescription directamente dentro de la jerarquía Explorer o dentro de un Script con el siguiente código:
local humanoidDescription = Instance.new("HumanoidDescription")
En la mayoría de los casos, debe usar un nuevo HumanoidDescription en lugar de un nuevo HumanoidDescription por referencia de un personaje de jugador existente, un atuendo de avatar o un ID de usuario .
Desde el personaje del jugador
Usa el siguiente código de ejemplo para crear una nueva HumanoidDescription basada en las propiedades actuales del personaje del jugador:
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")local humanoidDescription = Instance.new("HumanoidDescription")if humanoid thenhumanoidDescription = humanoid:GetAppliedDescription()end
De un Traje Existente
Usa el siguiente código de ejemplo para crear un HumanoidDescription desde un ID de atuendo usando Players.GetHumanoidDescriptionFromOutfitID :
local Players = game:GetService("Players")local outfitId = 480059254local humanoidDescriptionFromOutfit = Players:GetHumanoidDescriptionFromOutfitId(outfitId)
De un Usuario Específico
Usa el siguiente código de ejemplo para crear un HumanoidDescription desde un ID de usuario usando Players:GetHumanoidDescriptionFromUserId() :
local Players = game:GetService("Players")local userId = 491243243local humanoidDescriptionFromUser = Players:GetHumanoidDescriptionFromUserId(userId)
Modificando Descripción Humanoide
Para personalizar las propiedades de HumanoidDescription, establece las directamente en el HumanoidDescription o usa un método especificado antes de aplicar el HumanoidDescription a un personaje.
El siguiente código de ejemplo proporciona ejemplos de la configuración de las diferentes propiedades de HumanoidDescription :
local humanoidDescription = Instance.new("HumanoidDescription")humanoidDescription.HatAccessory = "2551510151,2535600138"humanoidDescription.BodyTypeScale = 0.1humanoidDescription.ClimbAnimation = 619521311humanoidDescription.Face = 86487700humanoidDescription.GraphicTShirt = 1711661humanoidDescription.HeadColor = Color3.new(0, 1, 0)
Configurando varios accesorios
Para cambios de accesorios de capas o volumen, puede usar HumanoidDescription:SetAccessories() para hacer actualizaciones relacionadas con accesorios. La siguiente muestra de código agrega un suéter y una chaqueta de capas en ese orden a un HumanoidDescription :
local humanoidDescription = Instance.new("HumanoidDescription")local accessoryTable = {{Order = 1,AssetId = 6984769289,AccessoryType = Enum.AccessoryType.Sweater},{Order = 2,AssetId = 6984767443,AccessoryType = Enum.AccessoryType.Jacket}}humanoidDescription:SetAccessories(accessoryTable, false)
Aplicando Descripción Humanoide
Aplica HumanoidDescription a los personajes específicos Humanoid en tu experiencia con Humanoid:ApplyDescription() o 1> Class.Player:LoadCharacterWithHumanoidDescription1> .
En un personaje único
ApplyDescription() puede apuntar a cualquier Humanoid . Usa el código siguiente para agregar un nuevo par de gafas de sol y un nuevo torso al personaje del jugador:
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")if humanoid thenlocal descriptionClone = humanoid:GetAppliedDescription()descriptionClone.Torso = 86500008-- Se permiten múltiples accesorios para la cara en una cadena separada con comasdescriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"-- Aplicar "descripciónClon" modificado a humanoidhumanoid:ApplyDescription(descriptionClone)end
En todos los personajes de jugador
Usa el código de ejemplo a continuación para aplicar un HumanoidDescription a todos los jugadores actuales en el juego:
local Players = game:GetService("Players")for _, player in Players:GetPlayers() dolocal humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")if humanoid then-- Crear una Descripción Humanoidelocal humanoidDescription = Instance.new("HumanoidDescription")humanoidDescription.HatAccessory = "2551510151,2535600138"humanoidDescription.BodyTypeScale = 0.1humanoidDescription.ClimbAnimation = 619521311humanoidDescription.Face = 86487700humanoidDescription.GraphicTShirt = 1711661humanoidDescription.HeadColor = Color3.new(0, 1, 0)humanoid:ApplyDescription(humanoidDescription)endend
En todos los personajes que se generan
Usa el siguiente código de ejemplo para establecer un HumanoidDescription específico para todos los personajes de jugador que se generan:
local Players = game:GetService("Players")
-- Detener la generación automática para que se pueda hacer en el "PlayerAdded" llamada
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Crear una Descripción Humanoide
local humanoidDescription = Instance.new("HumanoidDescription")
humanoidDescription.HatAccessory = "2551510151,2535600138"
humanoidDescription.BodyTypeScale = 0.1
humanoidDescription.ClimbAnimation = 619521311
humanoidDescription.Face = 86487700
humanoidDescription.GraphicTShirt = 1711661
humanoidDescription.HeadColor = Color3.new(0, 1, 0)
-- Generar personaje con la descripción Humanoide
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- Conectar el evento "PlayerAdded" a la función "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)
Si la instancia HumanoidDescription fue creada en el Explorador y estaba asociada a la zona de trabajo, usa el siguiente código de ejemplo en un Script para acceder a la instancia de la zona de trabajo:
local Players = game:GetService("Players")
-- Detener la generación automática para que se pueda hacer en el "PlayerAdded" llamada
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Generar personaje con "workspace.StudioHumanoidDescription"
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- Conectar el evento "PlayerAdded" a la función "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)