Penampilan karakter

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Sebagian besar permainan memungkinkan pemain menggunakan avatar Roblox mereka sendiri, meskipun beberapa menerapkan sistem kustomisasi dalam permainan seperti template UGC Homestore. Permainan lain melakukan modifikasi terbatas pada avatar pemain seperti helm, sayap, atau aksesori yang sesuai dengan genre.

Untuk membuat permainan yang unik yang mengubah penampilan pengguna Anda, Anda dapat menyesuaikan properti karakter default melalui pengaturan avatar atau modifikasi penampilan secara manual.

Pengaturan avatar global

FilePengaturan Avatar di Studio memungkinkan Anda dengan cepat mengatur beberapa properti karakter pemain global dalam permainan Anda. Pengaturan ini berlaku secara global untuk semua model karakter pemain yang bergabung dengan permainan Anda. Untuk memodifikasi karakter tertentu, seperti model karakter non-pemain, lihat modifikasi penampilan secara manual.

Di jendela ini, Anda dapat mengatur berbagai preset untuk pakaian, aksesori, bagian tubuh, perilaku tabrakan, animasi, dan lainnya. Saat mengedit pengaturan ini, pratinjau dari pengaturan yang diterapkan ditampilkan di workspace.

Untuk informasi lebih lanjut, lihat Pengaturan Avatar.

Modifikasi penampilan secara manual

Model karakter berisi objek Humanoid yang memberikan karakteristik khusus pada model, seperti berjalan, melompat, mengenakan item, dan berinteraksi dengan lingkungan.

Anda dapat memodifikasi Humanoid secara programatis dengan memperbarui HumanoidDescription. Ini termasuk model karakter pemain atau model karakter non-pemain dalam permainan Anda.

Anda dapat menyesuaikan properti karakter berikut dalam permainan Anda menggunakan HumanoidDescription:

Properti karakterDeskripsi
SkalaNilai angka untuk sifat fisik tinggi, lebar, kepala, tipe tubuh dan proporsi. Ini tidak mempengaruhi tipe tubuh R6.
AksesoriID aset dari aksesori yang dilengkapi oleh karakter.
Pakaian KlasikID aset dari Shirt, Pants, dan tekstur gambar ShirtGraphic yang dapat Anda terapkan pada karakter.
Bagian TubuhID aset dari bagian Wajah, Kepala, Torso, Lengan Kanan, Lengan Kiri, Kaki Kanan dan Kaki Kiri dari karakter.
Warna TubuhBodyColors dari bagian individu karakter.
AnimasiID aset dari Animasi yang dapat Anda gunakan pada karakter.

Sesuaikan karakter dengan HumanoidDescription menggunakan langkah-langkah berikut:

  1. Buat deskripsi dari karakter pengguna, ID Outfit tertentu, atau dari ID Pengguna tertentu.
  2. Modifikasi deskripsi untuk menyesuaikan properti yang ingin Anda terapkan pada karakter Humanoid.
  3. Terapkan deskripsi pada karakter tunggal, semua karakter pemain, atau bahkan pada semua karakter yang muncul.

Buat HumanoidDescription

Anda dapat membuat instance baru HumanoidDescription langsung di dalam hierarki Explorer atau dalam Script dengan kode berikut:

Buat instance HumanoidDescription baru
local humanoidDescription = Instance.new("HumanoidDescription")

Dalam kebanyakan kasus, Anda harus menggunakan HumanoidDescription yang sudah ada daripada HumanoidDescription baru default dengan merujuk pada karakter pemain yang sudah ada, outfit avatar, atau ID pengguna.


Dari karakter pemain

Gunakan contoh kode berikut untuk membuat HumanoidDescription baru berdasarkan properti karakter pemain saat ini:

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

Dari outfit yang ada

Gunakan kode contoh berikut untuk membuat HumanoidDescription dari ID outfit menggunakan Players.GetHumanoidDescriptionFromOutfitID:

Hasilkan HumanoidDescription dari ID Outfit
local Players = game:GetService("Players")
local outfitId = 480059254
local humanoidDescriptionFromOutfit = Players:GetHumanoidDescriptionFromOutfitId(outfitId)

Dari pengguna tertentu

Gunakan kode contoh berikut untuk membuat HumanoidDescription dari ID pengguna menggunakan Players:GetHumanoidDescriptionFromUserId():

Hasilkan HumanoidDescription dari ID pengguna
local Players = game:GetService("Players")
local userId = 491243243
local humanoidDescriptionFromUser = Players:GetHumanoidDescriptionFromUserId(userId)

Modifikasi HumanoidDescription

Untuk menyesuaikan properti HumanoidDescription, atur langsung pada HumanoidDescription atau gunakan metode tertentu sebelum menerapkan HumanoidDescription ke karakter.

Contoh kode berikut memberikan contoh pengaturan berbagai jenis properti HumanoidDescription:

Perbarui berbagai properti 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)

Atur beberapa aksesori

Untuk perubahan aksesori berlapis atau massal, Anda dapat menggunakan HumanoidDescription:SetAccessories() untuk melakukan pembaruan terkait aksesori. Contoh kode berikut menambahkan sweater berlapis dan jaket dalam urutan itu ke HumanoidDescription:

Ubah beberapa aksesori sekaligus
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)

Terapkan HumanoidDescription

Terapkan HumanoidDescription ke karakter Humanoid tertentu dalam permainan Anda dengan Humanoid:ApplyDescription() atau Humanoid.LoadCharacterWithHumanoidDescription.

Pada karakter tunggal

ApplyDescription() dapat menargetkan Humanoid mana pun. Gunakan kode berikut untuk menambahkan sepasang kacamata hitam baru dan torso baru ke karakter pemain:

Perbarui HumanoidDescription untuk karakter pemain tertentu
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
local descriptionClone = humanoid:GetAppliedDescription()
descriptionClone.Torso = 86500008
-- Beberapa aset aksesori wajah diizinkan dalam string yang dipisahkan koma
descriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"
-- Terapkan "descriptionClone" yang dimodifikasi ke humanoid
humanoid:ApplyDescription(descriptionClone)
end

Pada semua karakter pemain

Gunakan kode contoh berikut untuk menerapkan HumanoidDescription ke semua pemain saat ini dalam permainan:

Perbarui HumanoidDescription untuk semua karakter pemain saat ini
local Players = game:GetService("Players")
for _, player in Players:GetPlayers() do
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- Buat 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

Pada semua karakter yang muncul

Gunakan kode contoh berikut untuk mengatur HumanoidDescription tertentu untuk semua karakter pemain yang muncul:

Perbarui HumanoidDescription untuk semua karakter yang muncul
local Players = game:GetService("Players")
-- Hentikan pemunculan otomatis sehingga dapat dilakukan dalam callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Buat 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 karakter dengan HumanoidDescription
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- Hubungkan event "PlayerAdded" ke fungsi "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Jika instance HumanoidDescription dibuat di Explorer dan diparent ke workspace, gunakan kode contoh berikut dalam Script untuk mengakses instance workspace:

local Players = game:GetService("Players")
-- Hentikan pemunculan otomatis sehingga dapat dilakukan dalam callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Spawn karakter dengan "workspace.StudioHumanoidDescription"
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- Hubungkan event "PlayerAdded" ke fungsi "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Aksesori berlapis pada non-R15

Aksesori yang terkurung, seperti aksesori berlapis, menggunakan WrapTarget dan WrapLayer untuk meregangkan dan membungkus di atas Model target. Aksesori berlapis dapat bekerja dengan baik pada karakter pemain standar maupun model non-R15.

Implementasi kustom aksesori berlapis, seperti model yang menggunakan peta UV kandang unik, tidak dapat diunggah dan diterbitkan ke Marketplace. Untuk informasi lebih lanjut, lihat spesifikasi aksesori berlapis.

Apakah Anda menerapkan aksesori berlapis pada rig avatar R15, atau menggunakan rig kustom, pastikan bahwa aksesori dan tubuh Anda mencakup hal-hal berikut:

  • Model target, biasanya tubuh, memiliki komponen WrapTarget pada mesh yang dimaksudkan untuk dibungkus oleh model tambahan.
  • Model pelapisan, biasanya pakaian atau aksesori, memiliki komponen WrapLayer pada mesh yang dimaksudkan untuk membungkus model target.
  • Kandang luar model target, dan kandang dalam dan luar model pelapisan memiliki peta UV yang cocok.
    • Vertex yang sesuai pada kandang target harus memiliki UV yang sama dengan vertex tersebut pada kandang lapisan.
  • Jika model target Anda bukan R15, atau tidak menyertakan Humanoid, Anda harus menambahkan objek Weld ke MeshPart pelapisan.
    • Weld harus memiliki Part0 dan Part1 yang diatur untuk menghubungkan MeshPart pelapisan ke hierarki Part dari Model. Misalnya, Part0 mengacu pada aksesori dan Part1 mengacu pada Part induk.
  • Jika model target Anda adalah R15 dan menyertakan Humanoid, pengelasan ini dibuat secara otomatis.
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.