Wygląd postaci

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Większość doświadczeń pozwala graczom używać własnych awatarów Roblox, chociaż niektóre implementują system dostosowania wewnątrz gry, taki jak szablon UGC Homestore. Inne doświadczenia wprowadzają ograniczone zmiany w awatarach graczy, takie jak hełmy, skrzydła lub akcesoria, które pasują do gatunku.

Aby stworzyć unikalne doświadczenie, które zmienia wygląd Twoich użytkowników, możesz dostosować domyślne właściwości postaci za pomocą ustawień awatara lub ręcznego dostosowania wyglądu.

Globalne ustawienia awatara

Opcja Plik ⟩ Ustawienia awatara w Studio umożliwia szybkie ustawienie kilku globalnych właściwości postaci gracza w Twoim doświadczeniu. Ustawienia te stosują się globalnie do wszystkich modeli postaci graczy, którzy dołączają do Twojego doświadczenia. Aby zmodyfikować konkretne postacie, takie jak modele postaci niezależnych, zobacz ręczne dostosowanie wyglądu.

W tym oknie możesz ustawić różne presety dotyczące ubrań, akcesoriów, części ciała, zachowania kolizji, animacji i więcej. Podczas edytowania tych ustawień w roboczym obszarze wyświetlany jest podgląd zastosowanych ustawień.

Aby uzyskać więcej informacji, zobacz Ustawienia awatara.

Ręczne dostosowanie wyglądu

Modele postaci zawierają obiekt Humanoid, który nadaje modelowi specjalne cechy, takie jak chodzenie, skakanie, zakładanie przedmiotów i interakcja z otoczeniem.

Możesz programowo modyfikować Humanoid, aktualizując HumanoidDescription. Dotyczy to zarówno modeli postaci gracza, jak i modeli postaci niezależnych w Twoim doświadczeniu.

Możesz dostosować następujące właściwości postaci w swoim doświadczeniu za pomocą HumanoidDescription:

Właściwość postaciOpis
SkalaWartości numeryczne dla cech fizycznych wysokość, szerokość, główka, typ ciała oraz proporcje. Nie wpływa na typy ciała R6.
Akcesoria Identyfikatory zasobów akcesoria zakładane przez postać.
Ubrania klasyczneIdentyfikatory zasobów dla Shirt, Pants i ShirtGraphic, których tekstury można zastosować do postaci.
Część ciałaIdentyfikatory zasobów dla Twarz, Głowa, Tułów, Prawa ręka, Lewa ręka, Prawa noga oraz Lewa noga części postaci.
Kolory ciałaBodyColors indywidualnych części postaci.
AnimacjeIdentyfikatory zasobów dla Animacji, które można użyć na postaci.

Dostosuj postać za pomocą HumanoidDescription, wykonując następujące kroki:

  1. Utwórz opis na podstawie postaci użytkownika, konkretnego identyfikatora stroju lub konkretnego identyfikatora użytkownika.
  2. Zmień opis, aby dostosować właściwości, które chcesz zastosować do postaci Humanoid.
  3. Zastosuj opis do jednej postaci, wszystkich postaci graczy lub nawet do wszystkich postaci pojawiających się.

Utwórz HumanoidDescription

Możesz stworzyć nową instancję HumanoidDescription bezpośrednio w hierarchii Eksploratora lub w Script używając następującego kodu:

Utwórz nową instancję HumanoidDescription

local humanoidDescription = Instance.new("HumanoidDescription")

W większości przypadków powinieneś użyć istniejącego HumanoidDescription zamiast domyślnej nowej HumanoidDescription, odwołując się do istniejącej postaci gracza, stroju awatara lub identyfikatora użytkownika.


Z postaci gracza

Użyj poniższego przykładowego kodu, aby stworzyć nową HumanoidDescription na podstawie aktualnych właściwości postaci gracza:

Generuj HumanoidDescription z postaci gracza

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

Z istniejącego stroju

Użyj poniższego przykładowego kodu, aby stworzyć HumanoidDescription z identyfikatora stroju, korzystając z Players.GetHumanoidDescriptionFromOutfitID:

Generuj HumanoidDescription z identyfikatora stroju

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

Z konkretnego użytkownika

Użyj poniższego przykładowego kodu, aby stworzyć HumanoidDescription z identyfikatora użytkownika, korzystając z Players:GetHumanoidDescriptionFromUserId():

Generuj HumanoidDescription z identyfikatora użytkownika

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

Zmodyfikuj HumanoidDescription

Aby dostosować właściwości HumanoidDescription, ustaw je bezpośrednio na HumanoidDescription lub użyj określonej metody przed zastosowaniem HumanoidDescription do postaci.

Poniższy przykładowy kod ilustruje różne typy właściwości HumanoidDescription:

Aktualizuj różne właściwości 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)

Ustaw wiele akcesoriów

Dla warstwowych lub zbiorowych zmian akcesoriów możesz użyć HumanoidDescription:SetAccessories(), aby wprowadzić zmiany związane z akcesoriami. Poniższy przykładowy kod dodaje warstwowy sweter i kurtkę w tej kolejności do HumanoidDescription:

Zmień wiele akcesoriów jednocześnie

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)

Zastosuj HumanoidDescription

Zastosuj HumanoidDescription do konkretnych postaci Humanoid w Twoim doświadczeniu za pomocą Humanoid:ApplyDescription() lub Humanoid.LoadCharacterWithHumanoidDescription.

Na pojedynczej postaci

ApplyDescription() może dotyczyć dowolnego Humanoid. Użyj poniższego kodu, aby dodać parę nowych okularów przeciwsłonecznych i nowy tułów do postaci gracza:

Aktualizuj HumanoidDescription dla konkretnej postaci gracza

local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
local descriptionClone = humanoid:GetAppliedDescription()
descriptionClone.Torso = 86500008
-- Dozwolone są wiele zasobów akcesoriów na twarz w ciągu ciągu rozdzielonym przecinkiem
descriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"
-- Zastosuj zmodyfikowany "descriptionClone" do humanoida
humanoid:ApplyDescription(descriptionClone)
end

Na wszystkich postaciach graczy

Użyj poniższego przykładowego kodu, aby zastosować HumanoidDescription do wszystkich aktualnych graczy w grze:

Aktualizuj HumanoidDescription dla wszystkich aktualnych postaci graczy

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

Na wszystkich pojawiających się postaciach

Użyj poniższego przykładowego kodu, aby ustawić konkretną HumanoidDescription dla wszystkich pojawiających się postaci graczy:

Aktualizuj HumanoidDescription dla wszystkich pojawiających się postaci

local Players = game:GetService("Players")
-- Zatrzymaj automatyczne pojawianie się, aby można było to zrobić w funkcji "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Utwórz 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)
-- Spawnowanie postaci z HumanoidDescription
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- Połącz zdarzenie "PlayerAdded" z funkcją "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Jeśli instancja HumanoidDescription została stworzona w Eksploratorze i przypisana do obszaru roboczego, użyj poniższego przykładowego kodu w Script, aby uzyskać dostęp do instancji obszaru roboczego:


local Players = game:GetService("Players")
-- Zatrzymaj automatyczne pojawianie się, aby można było to zrobić w funkcji "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Spawnowanie postaci z "workspace.StudioHumanoidDescription"
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- Połącz zdarzenie "PlayerAdded" z funkcją "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Odzież warstwowa na non-R15

Akcesoria w klatkach, takie jak odzież warstwowa, używają WrapTarget oraz WrapLayer, aby rozciągać i owijać się wokół określonego Model. Akcesoria warstwowe mogą działać zarówno z standardowymi awatarami R15 Roblox, jak i modelami non-R15.

Niestandardowa implementacja odzieży warstwowej, na przykład modelu używającego unikalnej mapy UV klatki, nie może być przesyłana i publikowana na rynku. Aby uzyskać więcej informacji, zobacz specyfikacje odzieży warstwowej.

Niezależnie od tego, czy implementujesz akcesoria warstwowe na rig R15 awatara, czy korzystasz z niestandardowego rig, upewnij się, że Twoje akcesoria i ciała zawierają następujące elementy:

  • Docelowy model, typowo ciało, ma komponent WrapTarget na siatkach, wokół których ma owijać się dodatkowe modele.
  • Model warstwy, typowo odzież lub akcesorium, ma komponent WrapLayer na siatkach, które mają owijać się wokół modelu docelowego.
  • Zewnętrzna klatka modelu docelowego oraz wewnętrzna i zewnętrzna klatka modelu warstwy mają odpowiednie mapy UV.
    • Odpowiednie wierzchołki na klatce docelowej powinny mieć te same UV, co te wierzchołki na klatce warstwy.
  • Jeśli Twój model docelowy nie jest R15 lub nie zawiera Humanoid, musisz dodać obiekt Weld do warstwowego MeshPart.
    • Weld musi mieć Part0 i Part1 ustawione, aby połączyć warstwowy MeshPart z hierarchią Part modelu. Na przykład Part0 odnosi się do akcesorium, a Part1 odnosi się do rodzica Part.
  • Jeśli Twój model docelowy jest zarówno R15, jak i zawiera Humanoid, to złącze jest tworzone automatycznie.
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.