La mayoría de las experiencias permiten a los jugadores usar su propio avatar de Roblox, aunque algunos implementan un sistema de personalización en la experiencia como el módulo Merch Booth. Otras experiencias hacen modificaciones limitadas a los avatares del jugador, como cascos, alas o accesorios que coinciden con el género.
Para crear una experiencia única que modifique la apariencia de tus usuarios, puedes personalizar las propiedades de los personajes predeterminados con lo siguiendo:
- Configura el avatar Configuración del juego para establecer la apariencia básica del avatar global por defecto para todos los usuarios.
- Usa HumanoidDescription en cualquier momento para aplicar una amplia gama de personalizaciones de personajes específicos a uno o más usuarios en tu experiencia.
Configuración del juego
La sección Avatar en el menú Game Settings te permite establecer rápidamente varias propiedades de personajes globales en tu experiencia. Al editar la configuración del juego Avatar, tu avatar se muestra en el espacio de trabajo como una vista previa visual.
Puedes ajustar las siguientes propiedades del personaje en tu experiencia usando la Configuración del Juego de Avatar:
Ajustes | Descripción |
---|---|
Preajustes | Aplica un conjunto común de BodyTypeScale y ProportionScale combinaciones. Puede ajustar aún más estas propiedades con HumanoidDescription después de seleccionar un preajuste. |
Tipo de Avatar | Establece el tipo de avatar predeterminado como 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 de la experiencia. |
Partes del cuerpo | Los ID de activos de las Face, Head, Torso, RightArm, LeftArm, RightLeg y LeftLeg partes de un carácter. |
Ropa | Los ID de activos de las texturas de imagen clásicas Shirt , Pants , y ShirtGraphic que puedes aplicar al personaje. |
Tipos de Avatar
El ajuste Tipo de Avatar establece su experiencia para cargar solo R15 o R6 .
R15 es el avatar moderno predeterminado con 15 extremidades. Este avatar permite una personalización más flexible, opciones de accesorios y animaciones.
R6 es un avatar simple clásico con 6 extremidades. Este tipo de avatar proporciona una sensación retro, pero está limitado en animaciones y personalización adicional. Los cambios en la propiedad de escala del cuerpo no afectan a los personajes R6.
Fronteras de Colisión
El ajuste 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 Outer Box dimensiona dinámicamente las cajas de colisión de los personajes según sus modelos individuales. Este es el ajuste predeterminado y recomendado para la mayoría de las experiencias.
Establecer esta opción en Inner Box proporciona límites de colisión fijos para todos los personajes de tu experiencia.
HumanoideDescripción
Los modelos de personajes jugables contienen un Humanoid objeto que permite al modelo características especiales, como caminar, saltar, equipar objetos e interactuar con el entorno, ambiente. Para personalizar la aspecto, lookde un Humanoid personaje, puede aplicar un nuevo HumanoidDescription para cambiar las propiedades del personaje.
Puedes ajustar las siguientes propiedades de los personajes en tu experiencia usando HumanoidDescription :
Propiedades del personaje | Descripción |
---|---|
Escala | Número los valores de los rasgos físicos height , width , head , body type y proportion . Esto no afecta a los tipos de cuerpo R6. |
Accesorios | Los ID de Activos de accessories equipados por un personaje. |
Ropa Clásica | Los ID de activos de las texturas de imagen Shirt , Pants , y ShirtGraphic que puedes aplicar al personaje. |
Parte del cuerpo | Los ID de activos de las Face, Head, Torso, RightArm, LeftArm, RightLeg y LeftLeg partes de un carácter. |
Colores de Cuerpo | El BodyColors de las partes individuales del personaje. |
Animaciones | Los ID de Activos de Animations se pueden usar en un personaje. |
Puedes personalizar un personaje con HumanoidDescription usando los siguientes pasos:
- Crea una descripción del personaje del usuario, un ID de atuendo específico o un ID de usuario específico.
- Modifica la descripción para personalizar las propiedades que quieres aplicar al carácter Humanoid.
- Aplica la descripción a un solo personaje, a todos los personajes de los jugadores o incluso a todos los personajes que aparecen.
Creación de HumanoideDescripción
Puedes crear una nueva HumanoidDescription instancia directamente dentro de la jerarquía del Explorador 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 HumanoidDescription existente en lugar de un HumanoidDescription predeterminado haciendo referencia a un personaje de jugador existente , atuendo de avatar o ID de usuario .
Del personaje del jugador
Usa el siguiente código de ejemplo para crear un nuevo HumanoidDescription basado 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 de 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 de un ID de usuario usando Players:GetHumanoidDescriptionFromUserId():
local Players = game:GetService("Players")local userId = 491243243local humanoidDescriptionFromUser = Players:GetHumanoidDescriptionFromUserId(userId)
Modificando HumanoideDescripción
Para personalizar las HumanoidDescription propiedades, ponlas directamente en el HumanoidDescription o usa un método especificado antes de aplicar el HumanoidDescription a un carácter.
La siguiente muestra de código proporciona ejemplos de configuración de los diferentes tipos de HumanoidDescription propiedades:
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 múltiples accesorios
Para cambios de accesorios en capas o masivos, puede usar HumanoidDescription:SetAccessories() para realizar actualizaciones relacionadas con accesorios. La siguiente muestra de código agrega un suéter y una chaqueta en 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 HumanoideDescripción
Aplica HumanoidDescription a Humanoid caracteres específicos en tu experiencia con Humanoid:ApplyDescription() o Humanoid.LoadCharacterWithHumanoidDescription.
En un solo personaje
ApplyDescription() puede apuntar a cualquier Humanoid . Use el siguiente código para agregar un nuevo par de lentes 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 activos de accesorios faciales en una cadena separada por comasdescriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"-- Aplica una "descriptionClone" modificada al humanoidehumanoid:ApplyDescription(descriptionClone)end
En todos los personajes de los jugadores
Usa el siguiente código de ejemplo 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 un HumanoideDescripciónlocal 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 los jugadores que aparecen:
local Players = game:GetService("Players")
-- Deja de generar automáticamente para que se pueda hacer en la devolución de llamada "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Crear un HumanoideDescripción
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)
-- Genera un personaje con la Descripción del Humanoide
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- Conecta el evento "PlayerAdded" a la función "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)
Si la instancia HumanoidDescription se creó en el Explorador y se crió en el espacio de trabajo, use el siguiente código de muestra en una Script para acceder a la instancia de espacio de trabajo:
local Players = game:GetService("Players")
-- Deja de generar automáticamente para que se pueda hacer en la devolución de llamada "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Genera un personaje con "Workspace.StudioHumanoidDescription"
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- Conecta el evento "PlayerAdded" a la función "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)