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 dos jogos permite que os jogadores usem seu próprio avatar do Roblox, embora alguns implementem um sistema de personalização dentro do jogo, como o template UGC Homestore. Outros jogos fazem modificações limitadas modificações nos avatares dos jogadores, como capacetes, asas ou acessórios que combinam com o gênero.

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

Configurações globais do avatar

O ArquivoConfigurações do Avatar do Studio permite que você defina rapidamente várias propriedades globais do personagem jogador no seu jogo. Essas configurações se aplicam globalmente a todos os modelos de personagem jogador que entram no seu jogo. 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 pré-configurados para roupas, acessórios, partes do corpo, comportamento de colisão, animações e muito mais. Ao editar essas configurações, uma pré-visualização das configurações aplicadas é exibida no espaço de trabalho.

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

Modificação manual da aparência

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

Você pode modificar programaticamente um Humanoid atualizando HumanoidDescription. Isso inclui modelos de personagens jogáveis ou modelos de personagens não jogáveis no seu jogo.

Você pode ajustar as seguintes propriedades do personagem em seu jogo 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 os 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 texturas de imagem de ShirtGraphic que você pode aplicar ao personagem.
Parte do CorpoOs IDs dos ativos de Face, Cabeça, Torso, Braço Direito, Braço Esquerdo, Perna Direita e Perna Esquerda partes 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, de um ID de roupa específica, 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, em todos os personagens jogadores, ou até mesmo em todos os personagens que estão nascendo.

Criar HumanoidDescription

Você pode criar uma nova instância de HumanoidDescription diretamente dentro da 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, roupa de avatar ou 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 uma roupa existente

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

Gerar um HumanoidDescription a partir de um ID de roupa
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 uma 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 na HumanoidDescription ou use um método especificado antes de aplicar a 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 vários acessórios

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

Mudar vários 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 seu jogo 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 torso ao personagem 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
-- Múltiplos ativos de acessório facial são permitidos em uma string separada por vírgulas
descriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"
-- Aplique a "descriptionClone" modificada ao humanoide
humanoid:ApplyDescription(descriptionClone)
end

Em todos os personagens jogadores

Use o seguinte código de exemplo para aplicar uma 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
-- Crie uma 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 nascendo

Use o seguinte código de exemplo para definir uma HumanoidDescription específica para todos os personagens jogadores que estão nascendo:

Atualizar HumanoidDescription para todos os personagens que estão nascendo
local Players = game:GetService("Players")
-- Parar o nascimento automático para que possa ser feito no callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Crie uma 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)
-- Nascer personagem com a HumanoidDescription
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- Conectar o evento "PlayerAdded" à função "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Se a instância de HumanoidDescription foi criada no Explorer e aninhada 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 nascimento automático para que possa ser feito no callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Nascer personagem com "workspace.StudioHumanoidDescription"
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- Conectar o evento "PlayerAdded" à função "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Acessórios em camadas em não-R15

Acessórios em caixotes, como acessórios 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.

Implementações personalizadas de acessórios em camadas, como um modelo usando um mapa UV de gaiola exclusivo, não podem ser enviadas e publicadas no Marketplace. Para mais informações, veja Especificações de acessórios em camadas.

Seja você implementando acessórios em camadas em uma estrutura de avatar R15, ou usando uma estrutura personalizada, 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 os modelos adicionais têm a intenção de envolver.
  • O modelo de camada, tipicamente a roupa ou 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 camada têm mapas UV correspondentes.
    • Os vértices correspondentes na gaiola alvo devem ter os mesmos UVs que aqueles vértices na gaiola de camada.
  • Se seu modelo alvo não for R15, ou não incluir um Humanoid, você deve adicionar um objeto Weld ao MeshPart de camada.
    • O Weld deve ter Part0 e Part1 configurados para vincular o MeshPart de camada à hierarquia de Part do Modelo. Por exemplo, Part0 se refere ao acessório e Part1 se refere à Parte pai.
  • Se seu modelo alvo é tanto R15 quanto inclui um Humanoid, este weld é criado 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.