A maioria das experiências permite que os jogadores usem seu próprio avatar Roblox, embora alguns implementem um sistema de personalização de in-experience, como o Merch Booth módulo. Outras experiências fazem modificações limitadas a avatares de jogadores, como capacetes, asas ou acessórios que correspondem ao gênero.
Para criar uma experiência única que altera a aparência dos seus usuários, você pode personalizar as propriedades do personagem padrão com o seguindo:
- Configure as Configurações de Jogo Avatar para definir as configurações de aparência global básicas para todos os usuários.
- Use Descrição Humanoide em qualquer momento para aplicar uma ampla gama de personalizações de personagens específicas a um ou mais usuários em sua experiência.
Configurações do Jogo
A seção Avatar no menu Configurações de Jogo permite que você defina rapidamente várias propriedades globais de personagens em sua experiência. Ao editar as Configurações de Jogo do Avatar, seu avatar será exibido no espaço de trabalho como uma prévia visual.
Você pode ajustar as seguintes propriedades de personagem em sua experiência usando as Configurações de Jogo de Avatar:
Configurando | Descrição |
---|---|
Predefinições | Aplica um conjunto comum de BodyTypeScale e ProportionScale combinações. Você pode ajustar essas propriedades com HumanoidDescription depois de selecionar uma predefinição. |
Tipo de Avatar | Define o tipo de avatar padrão para o avatar R15 ou R6. |
Animação | O conjunto de Animations que um usuário tem acesso. |
Colisão | Define os limites de colisão para os personagens na experiência. |
Partes do Corpo | Os IDs de Recursos do Face, Head, Class.HumanoidDescription.Torso|Tor |
Roupas | Os IDs de Recursos dos clássicos Shirt , Pants e ShirtGraphic imagens de textura que você pode aplicar ao personagem. |
Tipos de Avatar
A configuração Tipo de Avatar define sua experiência para carregar apenas modelos de personagem R15 ou R6 .
R15 é o avatar moderno padrão com 15 limbros. Este avatar permite mais flexibilidade, opções de acessórios e animações.
R6 é um avatar simples clássico com 6 membros. Este tipo de avatar fornece um sentido retrô, mas é limitado em animações e personalização adicional. As alterações na propriedade do escala do corpo não afetam os R6 personagens.
Limites de Colisão
A configuração Colisão define os limites de colisão para os personagens na experiência. Isso não afeta a aparência física dos personagens na sua experiência.
Configurar esta opção para Caixa externa aumenta dinamicamente as caixas de colisão de personagens com base em seus modelos individuais. Esta é a configuração padrão e recomendada para a maioria das experiências.
Configurar esta opção para Caixa Interna fornece limites de colisão fixos para todos os personagens em sua experiência.
Descrição Humanoide
Modelos de personagens jogáveis contêm um objeto Humanoid que permite que o modelo tenha propriedades especiais, como caminhar, pular, equipar itens e interagir com o ambiente. Para personalizar a aparência de um personagem Humanoid, você pode aplicar uma nova HumanoidDescription para alterar as propriedades do personagem.
Você pode ajustar as seguintes propriedades de personagem em sua experiência usando HumanoidDescription :
Propriedade de Personagem | Descrição |
---|---|
Escala | Números para traços físicos height , width , head , 1> Class.HumanoidDescription.BodyTypeScale|tipo de cor |
Acessórios | Os IDs de Recursos de Class.Accessory|acessórios] equipados por um personagem. |
Roupas clássicas | Os IDs de Recursos da Shirt, Pants e ShirtGraphic texturas de imagem que você pode aplicar ao personagem. |
Parte do Corpo | Os IDs de Recursos do Face, Head, Class.HumanoidDescription.Torso|Tor |
Cores do Corpo | O BodyColors das peças individuais do personagem. |
Animações | Os IDs de Recursos de Animations você pode usar em um personagem. |
Você pode personalizar um personagem com HumanoidDescription usando as seguintes etapas:
- Criar uma descrição a partir do personagem do usuário, um ID de Avatar específico ou a partir de um ID de Usuário específico.
- Modifique a descrição para personalizar as propriedades que você deseja aplicar ao personagem Humanoid.
- Aplique a descrição em um único personagem, todos os personagens de jogador ou mesmo em todos os personagens de spawn.
Criando Descrição Humanoide
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:
local humanoidDescription = Instance.new("HumanoidDescription")
Em muitos casos, você deve usar um HumanoidDescription existente em vez de um novo padrão HumanoidDescription ao referenciar um novo personagem de jogador , 2>avatar de roupa2> ou 5>ID de usuário5> .
A partir do Personagem do Jogador
Use o seguinte código de exemplo para criar um novo HumanoidDescription com base nas propriedades atuais do personagem do jogador:
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")local humanoidDescription = Instance.new("HumanoidDescription")if humanoid thenhumanoidDescription = humanoid:GetAppliedDescription()end
A partir de um Conjunto Existente
Use o seguinte código de exemplo para criar um HumanoidDescription a partir de um ID de roupa usando Players.GetHumanoidDescriptionFromOutfitID :
local Players = game:GetService("Players")local outfitId = 480059254local humanoidDescriptionFromOutfit = Players:GetHumanoidDescriptionFromOutfitId(outfitId)
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() :
local Players = game:GetService("Players")local userId = 491243243local humanoidDescriptionFromUser = Players:GetHumanoidDescriptionFromUserId(userId)
Modificando Descrição Humanoide
Para personalizar propriedades HumanoidDescription, defin-as diretamente na HumanoidDescription ou use um método específico antes de aplicar o HumanoidDescription a um personagem.
O seguinte código de exemplo fornece exemplos de configurar as diferentes propriedades 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 vários acessórios
Para alterações de acessórios em camadas ou volume, você pode usar HumanoidDescription:SetAccessories() para fazer atualizações relacionadas a acessórios. O seguinte código de exemplo adiciona um suéter e uma jaqueta de camadas na ordem seguinte para um 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 Descrição Humanoide
Aplique HumanoidDescription a personagens específicos Humanoid em sua experiência com Humanoid:ApplyDescription() ou 1> Class.Player:LoadCharacterWithHumanoidDescription1>.
Em um Personagem Único
ApplyDescription() pode alvoar qualquer Humanoid . Use o seguinte código para adicionar um novo par de óculos de sol e um novo torso ao personagem do jogador:
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")if humanoid thenlocal descriptionClone = humanoid:GetAppliedDescription()descriptionClone.Torso = 86500008-- Múltiplos recursos de acessórios de rosto são permitidos em uma string / cadeia / textocom separador de vídeodescriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"-- Aplicar "descriçãoClone" modificado a um humanoidehumanoid:ApplyDescription(descriptionClone)end
Em todos os personagens do jogador
Use o seguinte código de exemplo para aplicar um HumanoidDescription a todos os jogadores atuais no jogo:
local Players = game:GetService("Players")for _, player in Players:GetPlayers() dolocal humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")if humanoid then-- Crie uma Descrição 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
Em todos os personagens gerados
Use o seguinte código de exemplo para definir um HumanoidDescription específico para todos os personagens de jogador gerados:
local Players = game:GetService("Players")
-- Pare o spawn automático para que possa ser feito no retorno de chamada "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Crie uma Descrição 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)
-- Gerar personagem com a Descrição Humanoide
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 estiver vinculada à instância de trabalho, use o seguinte código de exemplo em um Script para acessar a instância de trabalho:
local Players = game:GetService("Players")
-- Pare o spawn automático para que possa ser feito no retorno de chamada "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Gerar personagem com "workspace.StudioHumanoidDescription"
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- Conectar o evento "PlayerAdded" à função "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)