Sebagian besar game membiarkan pemain menggunakan avatar Roblox mereka sendiri, meskipun beberapa menerapkan sistem kustomisasi dalam game seperti template UGC Homestore. Game lainnya membuat modifikasi terbatas pada avatar pemain seperti helm, sayap, atau aksesori yang sesuai dengan genre.
Untuk menciptakan game yang unik yang mengubah penampilan pengguna Anda, Anda dapat menyesuaikan properti karakter default melalui pengaturan avatar atau memodifikasi penampilan secara manual.
Pengaturan Avatar Global
File ⟩ Pengaturan Avatar di Studio memungkinkan Anda untuk dengan cepat mengatur beberapa properti karakter pemain global dalam game Anda. Pengaturan ini diterapkan secara global pada semua model karakter pemain yang bergabung dalam game Anda. Untuk memodifikasi karakter tertentu, seperti model karakter non-pemain, lihat memodifikasi penampilan secara manual.
Di jendela ini, Anda dapat mengatur berbagai preset untuk pakaian, aksesori, bagian tubuh, perilaku tabrakan, animasi dan banyak lagi. Saat mengedit pengaturan ini, pratinjau pengaturan yang diterapkan ditampilkan di workspace.
Untuk informasi lebih lanjut, lihat Pengaturan Avatar.
Modifikasi Penampilan Secara Manual
Model karakter mengandung 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 game Anda.
Anda dapat menyesuaikan properti karakter berikut dalam game Anda menggunakan HumanoidDescription:
| Properti Karakter | Deskripsi |
|---|---|
| Skala | Nilai angka untuk sifat fisik tinggi, lebar, kepala, tipe tubuh dan proporsi. Ini tidak mempengaruhi jenis tubuh R6. |
| Aksesori | ID aset dari aksesori yang dipakai oleh karakter. |
| Pakaian Klasik | ID aset dari Shirt, Pants, dan ShirtGraphic tekstur gambar yang dapat Anda terapkan pada karakter. |
| Bagian Tubuh | ID aset dari bagian Wajah, Kepala, Tubuh, Lengan Kanan, Lengan Kiri, Kaki Kanan dan Kaki Kiri dari karakter. |
| Warna Tubuh | BodyColors dari bagian individual karakter. |
| Animasi | ID aset dari Animasi yang dapat Anda gunakan pada karakter. |
Sesuaikan karakter dengan HumanoidDescription menggunakan langkah-langkah berikut:
- Buat deskripsi dari karakter pengguna, ID Outfit tertentu, atau dari ID Pengguna tertentu.
- Modifikasi deskripsi untuk menyesuaikan properti yang ingin Anda terapkan pada karakter Humanoid.
- Terapkan deskripsi baik pada satu karakter, semua karakter pemain, atau bahkan pada semua karakter yang muncul.
Buat HumanoidDescription
Anda dapat membuat instance HumanoidDescription baru langsung dalam hierarki Explorer atau dalam Script dengan kode berikut:
Buat instance HumanoidDescription barulocal humanoidDescription = Instance.new("HumanoidDescription")
Dalam kebanyakan kasus, Anda harus menggunakan HumanoidDescription yang sudah ada daripada yang baru dengan merujuk pada karakter pemain yang ada, outfit avatar, atau ID pengguna.
Dari karakter pemain
Gunakan contoh kode berikut untuk membuat HumanoidDescription baru berdasarkan properti saat ini dari karakter pemain:
Hasilkan HumanoidDescription dari karakter pemainlocal humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")local humanoidDescription = Instance.new("HumanoidDescription")if humanoid thenhumanoidDescription = humanoid:GetAppliedDescription()end
Dari outfit yang ada
Gunakan kode contoh berikut untuk membuat HumanoidDescription dari ID outfit menggunakan Players.GetHumanoidDescriptionFromOutfitID:
Hasilkan HumanoidDescription dari ID Outfitlocal Players = game:GetService("Players")local outfitId = 480059254local humanoidDescriptionFromOutfit = Players:GetHumanoidDescriptionFromOutfitId(outfitId)
Dari pengguna tertentu
Gunakan kode contoh berikut untuk membuat HumanoidDescription dari ID pengguna menggunakan Players:GetHumanoidDescriptionFromUserId():
Hasilkan HumanoidDescription dari ID penggunalocal Players = game:GetService("Players")local userId = 491243243local humanoidDescriptionFromUser = Players:GetHumanoidDescriptionFromUserId(userId)
Modifikasi HumanoidDescription
Untuk menyesuaikan properti HumanoidDescription, tetapkan langsung pada HumanoidDescription atau gunakan metode yang ditentukan sebelum menerapkan HumanoidDescription pada karakter.
Contoh kode berikut memberikan contoh pengaturan berbagai jenis properti HumanoidDescription:
Perbarui berbagai properti HumanoidDescriptionlocal humanoidDescription = Instance.new("HumanoidDescription")humanoidDescription.HatAccessory = "2551510151,2535600138"humanoidDescription.BodyTypeScale = 0.1humanoidDescription.ClimbAnimation = 619521311humanoidDescription.Face = 86487700humanoidDescription.GraphicTShirt = 1711661humanoidDescription.HeadColor = Color3.new(0, 1, 0)
Set beberapa aksesori
Untuk perubahan aksesori berlapis atau massal, Anda dapat menggunakan HumanoidDescription:SetAccessories() untuk membuat pembaruan terkait aksesori. Contoh kode berikut menambahkan sweter berlapis dan jaket dalam urutan itu ke HumanoidDescription:
Ubah beberapa aksesori sekaliguslocal 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 game Anda dengan Humanoid:ApplyDescription() atau Humanoid.LoadCharacterWithHumanoidDescription.
Pada satu karakter
ApplyDescription() dapat menargetkan Humanoid mana pun. Gunakan kode berikut untuk menambahkan sepasang kacamata hitam baru dan torso baru pada karakter pemain:
Perbarui HumanoidDescription untuk karakter pemain tertentulocal humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")if humanoid thenlocal descriptionClone = humanoid:GetAppliedDescription()descriptionClone.Torso = 86500008-- Beberapa aset aksesori wajah diperbolehkan dalam string yang dipisahkan dengan komadescriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"-- Terapkan "descriptionClone" yang dimodifikasi pada humanoidhumanoid:ApplyDescription(descriptionClone)end
Pada semua karakter pemain
Gunakan kode contoh berikut untuk menerapkan HumanoidDescription ke semua pemain saat ini dalam game:
Perbarui HumanoidDescription untuk semua karakter pemain saat inilocal Players = game:GetService("Players")for _, player in Players:GetPlayers() dolocal humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")if humanoid then-- Buat HumanoidDescriptionlocal 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
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 agar 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)
-- Munculkan karakter dengan HumanoidDescription
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- Sambungkan event "PlayerAdded" ke fungsi "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)
Jika instance HumanoidDescription dibuat di Explorer dan dipasang di workspace, gunakan kode contoh berikut dalam Script untuk mengakses instance workspace:
local Players = game:GetService("Players")
-- Hentikan pemunculan otomatis agar dapat dilakukan dalam callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Munculkan karakter dengan "workspace.StudioHumanoidDescription"
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- Sambungkan event "PlayerAdded" ke fungsi "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)
Pakaian Berlapis pada Non-R15
Aksesori yang terkurung, seperti pakaian berlapis, menggunakan WrapTarget dan WrapLayer untuk meregangkan dan membungkus di sekitar Model target. Aksesori berlapis dapat berfungsi dengan baik pada kedua karakter R15 Roblox standar maupun model non-R15.
Implementasi khusus dari pakaian berlapis, seperti model menggunakan peta UV kandang yang unik, tidak dapat diunggah dan diterbitkan ke Marketplace. Untuk informasi lebih lanjut, lihat Spesifikasi pakaian berlapis.
Apakah Anda menerapkan aksesori berlapis pada rig avatar R15, atau menggunakan rig khusus, pastikan bahwa aksesori dan tubuh Anda menyertakan hal-hal berikut:
- Model target, biasanya tubuh, memiliki komponen WrapTarget pada mesh yang model tambahan dimaksudkan untuk dibungkus di sekelilingnya.
- Model berlapis, biasanya pakaian atau aksesori, memiliki komponen WrapLayer pada mesh yang dimaksudkan untuk membungkus model target.
- Kandang luar model target, dan kandang dalam dan luar dari model yang berlapis memiliki peta UV yang sesuai.
- 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 lapisan.
- Weld harus memiliki Part0 dan Part1 diatur untuk menghubungkan MeshPart lapisan 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.