Aparência do personagem

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

A maioria das experiências permite que os jogadores usem seu próprio avatar do Roblox, embora algumas implementem um sistema de personalização dentro da experiência, como o modelo de UGC Homestore. Outras experiências fazem modificações limitadas aos avatares dos jogadores, como capacetes, asas ou acessórios que combinam com o gênero.

Para criar uma experiência única que altera a aparência de seus usuários, você pode personalizar as propriedades padrão do personagem através das configurações de avatar ou uma modificação manual da aparência.

Configurações globais de avatar

O Arquivo ⟩ Configurações de Avatar do Studio permite que você defina rapidamente várias propriedades globais do personagem jogador na sua experiência. Essas configurações se aplicam globalmente a todos os modelos de personagens jogadores que ingressam em sua experiência. Para modificar personagens específicos, como modelos de personagens não jogáveis, veja modificação manual da aparência.

Nesta janela, você pode definir vários predefinições para roupas, acessórios, partes do corpo, comportamento de colisão, animações e muito mais. Ao editar essas configurações, uma prévia das configurações aplicadas é exibida no espaço de trabalho.

Para mais informações, veja Configurações de Avatar.

Modificação manual da aparência

Modelos de personagens contêm um objeto Humanoid que fornece características especiais ao modelo, como andar, pular, equipar itens e interagir com o ambiente.

Você pode modificar programaticamente um Humanoid atualizando HumanoidDescription. Isso inclui modelos de personagens jogadores ou modelos de personagens não jogáveis na sua experiência.

Você pode ajustar as seguintes propriedades do personagem em sua experiência usando HumanoidDescription:

Propriedade do personagemDescrição
EscalaValores numéricos para características físicas altura, largura, cabeça, tipo de corpo e proporção. Isso não afeta tipos de corpo R6.
Acessórios Os IDs dos ativos de acessórios equipados por um personagem.
Roupas ClássicasOs IDs dos ativos de Shirt, Pants, e ShirtGraphic que você pode aplicar ao personagem.
Parte do CorpoOs IDs dos ativos de Face, Cabeça, Tronco, Braço Direito, Braço Esquerdo, Perna Direita e Perna Esquerda de um personagem.
Cores do CorpoOs BodyColors das partes individuais do personagem.
AnimaçõesOs IDs dos Animações que você pode usar em um personagem.

Personalize um personagem com HumanoidDescription usando os seguintes passos:

  1. Crie uma descrição a partir do personagem do usuário, um ID de Outfit específico ou de um ID de usuário específico.
  2. Modifique a descrição para personalizar as propriedades que você deseja aplicar ao personagem Humanoid.
  3. Aplique a descrição em um único personagem, todos os personagens jogadores ou até mesmo em todos os personagens que estão surgindo.

Criar HumanoidDescription

Você pode criar uma nova instância de HumanoidDescription diretamente na hierarquia do Explorer ou dentro de um Script com o seguinte código:

Criar nova instância de HumanoidDescription

local humanoidDescription = Instance.new("HumanoidDescription")

Na maioria dos casos, você deve usar um HumanoidDescription existente em vez de um novo HumanoidDescription padrão, referenciando um personagem jogador existente, um traje de avatar ou um ID de usuário.


A partir do personagem jogador

Use o seguinte exemplo de código para criar um novo HumanoidDescription com base nas propriedades atuais do personagem jogador:

Gerar um HumanoidDescription a partir de um personagem jogador

local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
local humanoidDescription = Instance.new("HumanoidDescription")
if humanoid then
humanoidDescription = humanoid:GetAppliedDescription()
end

A partir de um traje existente

Use o seguinte código de exemplo para criar um HumanoidDescription a partir de um ID de traje usando Players.GetHumanoidDescriptionFromOutfitID:

Gerar um HumanoidDescription a partir de um ID de traje

local Players = game:GetService("Players")
local outfitId = 480059254
local humanoidDescriptionFromOutfit = Players:GetHumanoidDescriptionFromOutfitId(outfitId)

A partir de um usuário específico

Use o seguinte código de exemplo para criar um HumanoidDescription a partir de um ID de usuário usando Players:GetHumanoidDescriptionFromUserId():

Gerar um HumanoidDescription a partir de um ID de usuário

local Players = game:GetService("Players")
local userId = 491243243
local humanoidDescriptionFromUser = Players:GetHumanoidDescriptionFromUserId(userId)

Modificar HumanoidDescription

Para personalizar as propriedades de HumanoidDescription, defina-as diretamente no HumanoidDescription ou use um método especificado antes de aplicar o HumanoidDescription a um personagem.

O seguinte exemplo de código fornece exemplos de como definir os diferentes tipos de propriedades de HumanoidDescription:

Atualizar várias propriedades de HumanoidDescription

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)

Definir múltiplos acessórios

Para mudanças de acessórios em camadas ou em lote, você pode usar HumanoidDescription:SetAccessories() para fazer atualizações relacionadas a acessórios. O seguinte exemplo de código adiciona um suéter em camadas e uma jaqueta nesta ordem a um HumanoidDescription:

Mudar múltiplos acessórios de uma vez

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)

Aplicar HumanoidDescription

Aplique HumanoidDescription a personagens específicos Humanoid em sua experiência com Humanoid:ApplyDescription() ou Humanoid.LoadCharacterWithHumanoidDescription.

Em um único personagem

ApplyDescription() pode direcionar qualquer Humanoid. Use o seguinte código para adicionar um novo par de óculos de sol e um novo tronco ao personagem do jogador:

Atualizar HumanoidDescription para um personagem jogador específico

local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
local descriptionClone = humanoid:GetAppliedDescription()
descriptionClone.Torso = 86500008
-- Vários ativos de acessórios faciais são permitidos em uma string separada por vírgulas
descriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"
-- Aplicar "descriptionClone" modificado ao humanoide
humanoid:ApplyDescription(descriptionClone)
end

Em todos os personagens jogadores

Use o seguinte código de exemplo para aplicar um HumanoidDescription a todos os jogadores atuais no jogo:

Atualizar HumanoidDescription para todos os personagens jogadores atuais

local Players = game:GetService("Players")
for _, player in Players:GetPlayers() do
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- Criar um HumanoidDescription
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)
humanoid:ApplyDescription(humanoidDescription)
end
end

Em todos os personagens que estão surgindo

Use o seguinte código de exemplo para definir um HumanoidDescription específico para todos os personagens jogadores que estão surgindo:

Atualizar HumanoidDescription para todos os personagens que estão surgindo

local Players = game:GetService("Players")
-- Parar o surgimento automático para que possa ser feito no callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Criar um HumanoidDescription
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)
-- Surgir personagem com o HumanoidDescription
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- Conectar o evento "PlayerAdded" à função "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Se a instância HumanoidDescription foi criada no Explorer e anexada ao espaço de trabalho, use o seguinte código de exemplo em um Script para acessar a instância do espaço de trabalho:


local Players = game:GetService("Players")
-- Parar o surgimento automático para que possa ser feito no callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Surgir personagem com "workspace.StudioHumanoidDescription"
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- Conectar o evento "PlayerAdded" à função "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Roupas em camadas em não-R15

Acessórios em camadas, como roupas em camadas, usam WrapTarget e WrapLayer para esticar e envolver sobre um Model alvo. Acessórios em camadas podem funcionar tanto com os personagens R15 do Roblox padrão quanto com modelos não R15.

A implementação personalizada de roupas em camadas, como um modelo usando um mapa UV de gaiola exclusivo, não pode ser carregada e publicada no Marketplace. Para mais informações, veja Especificações de roupas em camadas.

Se você está implementando acessórios em camadas em um rig de avatar R15, ou usando um rig personalizado, certifique-se de que seus acessórios e corpos incluam o seguinte:

  • O modelo alvo, tipicamente o corpo, tem um componente WrapTarget nas malhas que modelos adicionais se destinam a envolver.
  • O modelo de sobreposição, tipicamente a roupa ou o acessório, tem um componente WrapLayer nas malhas destinadas a envolver o modelo alvo.
  • A gaiola externa do modelo alvo, e a gaiola interna e externa do modelo de sobreposição têm mapas UV correspondentes.
    • Os vértices correspondentes na gaiola alvo devem ter os mesmos UVs que aqueles vértices na gaiola da camada.
  • Se o seu modelo alvo não for R15, ou não incluir um Humanoid, você deve adicionar um objeto Weld ao MeshPart de sobreposição.
    • O Weld deve ter Part0 e Part1 definidos para vincular o MeshPart de sobreposição à hierarquia de Part do Modelo. Por exemplo, Part0 refere-se ao acessório e Part1 refere-se à Parte pai.
  • Se o seu modelo alvo for tanto R15 quanto incluir um Humanoid, essa solda é criada automaticamente.
©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.