Apparence du personnage

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

La plupart des jeux permettent aux joueurs d'utiliser leur propre avatar Roblox, bien que certains implémentent un système de personnalisation en jeu comme le modèle UGC Homestore. D'autres jeux apportent des modifications limitées aux avatars des joueurs, telles que des casques, des ailes ou des accessoires qui correspondent au genre.

Pour créer un jeu unique qui modifie l'apparence de vos utilisateurs, vous pouvez personnaliser les propriétés par défaut du personnage via les paramètres d'avatar ou en modifiant manuellement l'apparence.

Paramètres globaux de l'avatar

Le menu FichierParamètres d'avatar de Studio vous permet de définir rapidement plusieurs propriétés globales des personnages joueurs dans votre jeu. Ces paramètres s'appliquent globalement à tous les modèles de personnages joueurs rejoignant votre jeu. Pour modifier des personnages spécifiques, tels que les modèles de personnages non-joueurs, voir modifier manuellement l'apparence.

Dans cette fenêtre, vous pouvez définir divers préréglages pour les vêtements, les accessoires, les parties du corps, le comportement de collision, les animations, et plus encore. Lorsque vous modifiez ces paramètres, un aperçu des paramètres appliqués s'affiche dans l'espace de travail.

Pour plus d'informations, voir Paramètres d'avatar.

Modifier manuellement l'apparence

Les modèles de personnages contiennent un objet Humanoid qui donne au modèle des caractéristiques spéciales, telles que marcher, sauter, équiper des objets et interagir avec l'environnement.

Vous pouvez modifier programmatique un Humanoid en mettant à jour HumanoidDescription. Cela inclut les modèles de personnages joueurs ou non-joueurs dans votre jeu.

Vous pouvez ajuster les propriétés de personnage suivantes dans votre jeu en utilisant HumanoidDescription :

Propriété du personnageDescription
ÉchelleValeurs numériques pour les traits physiques hauteur, largeur, tête, type de corps et proportion. Cela n'affecte pas les types de corps R6.
AccessoiresLes identifiants des actifs de accessoires équipés par un personnage.
Vêtements classiquesLes identifiants des actifs de Shirt, Pants, et ShirtGraphic pour les textures d'image que vous pouvez appliquer au personnage.
Partie du corpsLes identifiants des actifs de Visage, Tête, Torso, Bras droit, Bras gauche, Jambe droite et Jambe gauche d'un personnage.
Couleurs de corpsLes BodyColors des pièces individuelles du personnage.
AnimationsLes identifiants des actifs de Animations que vous pouvez utiliser sur un personnage.

Personnalisez un personnage avec HumanoidDescription en suivant les étapes suivantes :

  1. Créez une description à partir du personnage de l'utilisateur, d'un identifiant d'Outfit spécifique ou d'un identifiant d'utilisateur spécifique.
  2. Modifiez la description pour personnaliser les propriétés que vous souhaitez appliquer au personnage Humanoid.
  3. Appliquez la description soit à un seul personnage, à tous les personnages joueurs, ou même à tous les personnages en cours de création.

Créer un HumanoidDescription

Vous pouvez créer une nouvelle instance de HumanoidDescription directement dans la hiérarchie Explorer ou dans un Script avec le code suivant :

Créer une nouvelle instance de HumanoidDescription

local humanoidDescription = Instance.new("HumanoidDescription")

Dans la plupart des cas, vous devriez utiliser un HumanoidDescription existant plutôt qu'une nouvelle HumanoidDescription par défaut, en faisant référence à un personnage joueur existant, à une tenue d'avatar, ou à un identifiant d'utilisateur.


À partir du personnage joueur

Utilisez l'exemple de code suivant pour créer un nouveau HumanoidDescription basé sur les propriétés actuelles du personnage joueur :

Générer une HumanoidDescription à partir d'un personnage joueur

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

À partir d'une tenue existante

Utilisez l'exemple de code suivant pour créer un HumanoidDescription à partir d'un identifiant d'outfit en utilisant Players.GetHumanoidDescriptionFromOutfitID :

Générer une HumanoidDescription à partir d'un identifiant d'outfit

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

À partir d'un utilisateur spécifique

Utilisez l'exemple de code suivant pour créer un HumanoidDescription à partir d'un identifiant d'utilisateur en utilisant Players:GetHumanoidDescriptionFromUserId() :

Générer une HumanoidDescription à partir d'un identifiant d'utilisateur

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

Modifier HumanoidDescription

Pour personnaliser les propriétés de HumanoidDescription, définissez-les directement sur le HumanoidDescription ou utilisez une méthode spécifique avant d'appliquer la HumanoidDescription à un personnage.

L'exemple de code suivant fournit des exemples de définition des différents types de propriétés de HumanoidDescription :

Mettre à jour diverses propriétés 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)

Définir plusieurs accessoires

Pour des changements d'accessoires en couches ou en vrac, vous pouvez utiliser HumanoidDescription:SetAccessories() pour effectuer des mises à jour liées aux accessoires. L'exemple de code suivant ajoute un pull en couches et une veste dans cet ordre à un HumanoidDescription :

Changer plusieurs accessoires à la fois

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)

Appliquer HumanoidDescription

Appliquez HumanoidDescription à des personnages spécifiques Humanoid dans votre jeu avec Humanoid:ApplyDescription() ou Humanoid.LoadCharacterWithHumanoidDescription.

Sur un seul personnage

ApplyDescription() peut cibler n'importe quel Humanoid. Utilisez le code suivant pour ajouter une nouvelle paire de lunettes de soleil et un nouveau torse au personnage joueur :

Mettre à jour HumanoidDescription pour un personnage joueur spécifique

local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
local descriptionClone = humanoid:GetAppliedDescription()
descriptionClone.Torso = 86500008
-- Plusieurs actifs d'accessoires faciaux sont autorisés dans une chaîne séparée par des virgules
descriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"
-- Appliquer le "descriptionClone" modifié au humanoid
humanoid:ApplyDescription(descriptionClone)
end

Sur tous les personnages joueurs

Utilisez l'exemple de code suivant pour appliquer un HumanoidDescription à tous les joueurs actuels dans le jeu :

Mettre à jour HumanoidDescription pour tous les personnages joueurs actuels

local Players = game:GetService("Players")
for _, player in Players:GetPlayers() do
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- Créer un 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

Sur tous les personnages en cours de création

Utilisez l'exemple de code suivant pour définir un HumanoidDescription spécifique pour tous les personnages joueurs en cours de création :

Mettre à jour HumanoidDescription pour tous les personnages en cours de création

local Players = game:GetService("Players")
-- Arrêtez le spawning automatique pour le faire dans le callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Créer un 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)
-- Spawn de caractère avec le HumanoidDescription
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- Connectez l'événement "PlayerAdded" à la fonction "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Si l'instance HumanoidDescription a été créée dans l'Explorer et parentée au workspace, utilisez l'exemple de code suivant dans un Script pour accéder à l'instance du workspace :


local Players = game:GetService("Players")
-- Arrêtez le spawning automatique pour le faire dans le callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Spawn de caractère avec "workspace.StudioHumanoidDescription"
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- Connectez l'événement "PlayerAdded" à la fonction "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Vêtements superposés sur modèles non-R15

Les accessoires en cage, comme les vêtements superposés, utilisent WrapTarget et WrapLayer pour s'étirer et s'enrouler sur un Model cible. Les accessoires superposés peuvent fonctionner avec les personnages R15 Roblox standards et les modèles non-R15.

Une mise en œuvre personnalisée de vêtements superposés, comme un modèle utilisant une carte UV de cage unique, ne peut pas être téléchargée et publiée sur le Marketplace. Pour plus d'informations, voir spécifications des vêtements superposés.

Que vous implémentiez des accessoires superposés sur un rig d'avatar R15 ou que vous utilisiez un rig personnalisé, assurez-vous que vos accessoires et corps incluent les éléments suivants :

  • Le modèle cible, généralement le corps, a un composant WrapTarget sur les maillages que les modèles supplémentaires sont censés envelopper.
  • Le modèle de superposition, généralement les vêtements ou accessoires, a un composant WrapLayer sur les maillages destinés à envelopper le modèle cible.
  • La cage extérieure du modèle cible, et la cage intérieure et extérieure du modèle de superposition ont des cartes UV correspondantes.
    • Les sommets correspondants sur la cage cible doivent avoir les mêmes UV que ceux des sommets sur la cage de superposition.
  • Si votre modèle cible n'est pas R15 ou n'inclut pas un Humanoid, vous devez ajouter un objet Weld à la MeshPart de superposition.
    • Le Weld doit avoir Part0 et Part1 définis pour lier la MeshPart de superposition à la hiérarchie de la Partie du Modèle. Par exemple, Part0 fait référence à l'accessoire et Part1 fait référence à la Partie parente.
  • Si votre modèle cible est à la fois R15 et inclut un Humanoid, cette soudure est créée automatiquement.
©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.