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ść gier pozwala graczom używać własnego awatara Roblox, chociaż niektóre implementują system dostosowywania w grze, taki jak szablon UGC Homestore. Inne gry wprowadzają ograniczone modyfikacje awatarów graczy, takie jak hełmy, skrzydła lub akcesoria, które pasują do gatunku.

Aby stworzyć unikalną grę, która zmienia wygląd użytkowników, możesz dostosować domyślne właściwości postaci za pomocą ustawień awatara lub ręcznie modyfikować wygląd.

Globalne ustawienia awatara

PlikUstawienia awatara w Studio pozwala szybko ustawić kilka globalnych właściwości postaci gracza w twojej grze. Te ustawienia mają zastosowanie globalnie do wszystkich modeli postaci gracza dołączających do twojej gry. Aby zmodyfikować konkretne postacie, takie jak modele postaci niegraczy, zobacz ręcznie modyfikować wygląd.

W tym oknie możesz ustawić różne presety dla odzieży, akcesoriów, części ciała, zachowania kolizji, animacji i innych. Podczas edytowania tych ustawień w przestrzeni roboczej wyświetla się podgląd zastosowanych ustawień.

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

Ręcznie modyfikować wygląd

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 modeli postaci graczy lub modeli postaci niegraczy w twojej grze.

Możesz dostosować następujące właściwości postaci w swojej grze, używając HumanoidDescription:

Właściwość postaciOpis
SkalaWartości liczbowe dla cech fizycznych wysokość, szerokość, głowa, typ ciała i proporcja. To nie wpływa na typy ciała R6.
AkcesoriaIdentyfikatory zasobów akcesoria wyposażone przez postać.
Klasyczna odzieżIdentyfikatory zasobów Shirt, Pants i ShirtGraphic tekstur obrazów, które możesz zastosować do postaci.
Część ciałaIdentyfikatory zasobów twarz, głowa, tułów, prawa ręka, lewa ręka, prawa noga i lewa noga części postaci.
Kolory ciałaBodyColors poszczególnych części postaci.
AnimacjeIdentyfikatory zasobów animacje, które możesz użyć na postaci.

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

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

Utwórz HumanoidDescription

Możesz utworzyć nową instancję HumanoidDescription bezpośrednio w hierarchii Eksploratora lub w Script za pomocą następującego kodu:

Utwórz nową instancję HumanoidDescription
local humanoidDescription = Instance.new("HumanoidDescription")

W większości przypadków powinieneś używać 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 następującego przykładu kodu, aby utworzyć 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 następującego przykładu kodu, aby utworzyć HumanoidDescription z identyfikatora stroju, używając 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 następującego przykładu kodu, aby utworzyć HumanoidDescription z identyfikatora użytkownika, używając Players:GetHumanoidDescriptionFromUserId():

Generuj HumanoidDescription z identyfikatora użytkownika
local Players = game:GetService("Players")
local userId = 491243243
local humanoidDescriptionFromUser = Players:GetHumanoidDescriptionFromUserId(userId)

Modyfikuj 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.

Następujący przykład kodu przedstawia przykłady ustawiania różnych typów 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 zbiorczych zmian akcesoriów możesz użyć HumanoidDescription:SetAccessories(), aby wprowadzić aktualizacje związane z akcesoriami. Następujący przykład kodu 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 twojej grze za pomocą Humanoid:ApplyDescription() lub Humanoid.LoadCharacterWithHumanoidDescription.

Na pojedynczej postaci

ApplyDescription() może celować w dowolny Humanoid. Użyj następującego kodu, aby dodać nową parę 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 twarzy w ciągu oddzielonym przecinkiem
descriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"
-- Zastosuj zmodyfikowany "descriptionClone" do humanoida
humanoid:ApplyDescription(descriptionClone)
end

Na wszystkich postaciach graczy

Użyj następującego przykładu 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 następującego przykładu 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 to było zrobić w wywołaniu zwrotnym "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)
-- Pojawienie się postaci z HumanoidDescription
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- Połącz zdarzenie "PlayerAdded" z funkcją "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Jeśli instancja HumanoidDescription została utworzona w Eksploratorze i przypisana do przestrzeni roboczej, użyj następującego przykładu kodu w Script, aby uzyskać dostęp do instancji w przestrzeni roboczej:

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

Warstwowe akcesoria na non-R15

Akcesoria w klatkach, takie jak akcesoria warstwowe, używają WrapTarget i WrapLayer, aby rozciągać i owijać się wokół docelowego Model. Akcesoria warstwowe mogą działać zarówno z standardowymi postaciami graczy, jak i modelami non-R15.

Niestandardowa implementacja akcesoriów warstwowych, takich jak model używający unikalnej mapy UV klatki, nie może być przesyłana i publikowana na rynku. Aby uzyskać więcej informacji, zobacz specyfikacje akcesoriów warstwowych.

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

  • Docelowy model, zazwyczaj ciało, ma komponent WrapTarget na siatkach, które mają być owinięte przez dodatkowe modele.
  • Model warstwowy, zazwyczaj odzież lub akcesorium, ma komponent WrapLayer na siatkach, które mają owijać model docelowy.
  • Zewnętrzna klatka modelu docelowego oraz wewnętrzna i zewnętrzna klatka modelu warstwowego mają dopasowane 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 nadrzędnej części.
  • Jeśli twój model docelowy jest zarówno R15, jak i zawiera Humanoid, ten spaw jest tworzony 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.