รูปลักษณ์ตัวละคร

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

เกมส่วนใหญ่ให้ผู้เล่นสามารถใช้ภาพอวตาร์ Roblox ของตนเองได้ แม้ว่าบางเกมจะมีระบบปรับแต่งในเกม เช่น เทมเพลต UGC Homestore เกมอื่น ๆ ทำการ ปรับเปลี่ยน อวตาร์ของผู้เล่นในขอบเขตที่จำกัด เช่น หมวก ปีก หรืออุปกรณ์เสริมที่ตรงกับแนวเกม

เพื่อสร้างเกมที่เป็นเอกลักษณ์ที่เปลี่ยนแปลงรูปลักษณ์ของผู้ใช้ คุณสามารถปรับแต่งคุณสมัติตัวละครเริ่มต้นได้ผ่าน การตั้งค่าอวตาร์ หรือ ปรับเปลี่ยนรูปลักษณ์ด้วยตนเอง

การตั้งค่าอวตาร์ทั่วโลก

เมนู ไฟล์การตั้งค่าอวตาร์ ของ Studio ช่วยให้คุณสามารถตั้งค่าคุณสมัติตัวละครของผู้เล่นทั่วโลกในเกมของคุณได้อย่างรวดเร็ว การตั้งค่าเหล่านี้จะมีผลทั่วโลกกับโมเดลตัวละครของผู้เล่นทุกคนที่เข้าร่วมเกมของคุณ หากต้องการปรับเปลี่ยนตัวละครเฉพาะ เช่น โมเดลตัวละครที่ไม่ใช่ผู้เล่น ให้ดูที่ ปรับเปลี่ยนรูปลักษณ์ด้วยตนเอง

ในหน้าต่างนี้ คุณสามารถตั้งค่าพรีเซ็ตต่าง ๆ สำหรับเสื้อผ้า อุปกรณ์เสริม ส่วนต่าง ๆ ของร่างกาย พฤติกรรมการชนกัน การเคลื่อนไหว และอื่น ๆ เมื่อแก้ไขการตั้งค่าเหล่านี้ จะมีการแสดงตัวอย่างการตั้งค่าที่ใช้ในพื้นที่ทำงาน

สำหรับข้อมูลเพิ่มเติม โปรดดูที่ การตั้งค่าอวตาร์.

ปรับเปลี่ยนรูปลักษณ์ด้วยตนเอง

โมเดลตัวละครมีวัตถุ Humanoid ที่ให้ลักษณะพิเศษกับโมเดล เช่น การเดิน กระโดด สวมใส่ไอเท็ม และโต้ตอบกับสิ่งแวดล้อม

คุณสามารถปรับเปลี่ยน Humanoid ได้อย่างรวดโดยการอัปเดต HumanoidDescription ซึ่งรวมถึงโมเดลตัวละครของผู้เล่นหรือโมเดลตัวละครที่ไม่ใช่ผู้เล่นในเกมของคุณ

คุณสามารถปรับแต่งคุณสมัติตัวละครต่อไปนี้ในเกมของคุณโดยใช้ HumanoidDescription:

คุณสมัติตัวละครคำอธิบาย
ขนาดค่าตัวเลขสำหรับลักษณะทางกายภาพ สูง, กว้าง, ศีรษะ, ประเภทตัว, และ สัดส่วน. สิ่งนี้จะไม่ส่งผลต่อรูปแบบร่างกาย R6.
อุปกรณ์เสริม รหัสทรัพย์สินของ อุปกรณ์เสริม ที่ติดตั้งโดยตัวละคร.
เสื้อผ้าแบบคลาสสิกรหัสทรัพย์สินของ Shirt, Pants, และ ShirtGraphic ที่สามารถนำไปใช้กับตัวละคร.
ส่วนต่าง ๆ ของร่างกายรหัสทรัพย์สินของส่วนต่าง ๆ ของตัวละคร ใบหน้า, ศีรษะ, ลำตัว, แขนขวา, แขนซ้าย, ขาขวา และ ขาซ้าย.
สีของร่างกายสี BodyColors ของส่วนต่าง ๆ ของตัวละคร.
การเคลื่อนไหวรหัสทรัพย์สินของ การเคลื่อนไหว ที่คุณสามารถใช้กับตัวละคร.

ปรับแต่งตัวละครด้วย HumanoidDescription โดยทำตามขั้นตอนต่อไปนี้:

  1. สร้างคำอธิบาย จากตัวละครของผู้ใช้ รหัสชุดเฉพาะ หรือจาก ID ผู้ใช้เฉพาะ
  2. ปรับแต่งคำอธิบาย เพื่อปรับเปลี่ยนคุณสมัติที่คุณต้องการใช้กับตัวละคร Humanoid.
  3. ใช้คำอธิบาย กับตัวละครเดียว ตัวละครของผู้เล่นทั้งหมด หรือแม้แต่ตัวละครที่เกิดขึ้นทั้งหมด

สร้าง HumanoidDescription

คุณสามารถสร้างอินสแตนซ์ใหม่ของ HumanoidDescription ได้โดยตรงในลำดับชั้น Explorer หรือภายใน Script ด้วยโค้ดต่อไปนี้:

สร้างอินสแตนซ์ HumanoidDescription ใหม่
local humanoidDescription = Instance.new("HumanoidDescription")

ในกรณีส่วนใหญ่ คุณควรใช้ HumanoidDescription ที่มีอยู่แทนที่จะเป็น HumanoidDescription ใหม่โดยการอ้างอิงตัวละครของผู้เล่นที่มีอยู่ ชุดอวตาร์ หรือ ID ผู้ใช้


จากตัวละครของผู้เล่น

ใช้โค้ดตัวอย่างต่อไปนี้เพื่อสร้าง HumanoidDescription ใหม่ตามคุณสมัติปัจจุบันของตัวละครผู้เล่น:

สร้าง HumanoidDescription จากตัวละครผู้เล่น
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
local humanoidDescription = Instance.new("HumanoidDescription")
if humanoid then
humanoidDescription = humanoid:GetAppliedDescription()
end

จากชุดที่มีอยู่

ใช้โค้ดตัวอย่างต่อไปนี้เพื่อสร้าง HumanoidDescription จาก ID ชุดโดยใช้ Players.GetHumanoidDescriptionFromOutfitID:

สร้าง HumanoidDescription จาก Outfit ID
local Players = game:GetService("Players")
local outfitId = 480059254
local humanoidDescriptionFromOutfit = Players:GetHumanoidDescriptionFromOutfitId(outfitId)

จากผู้ใช้เฉพาะ

ใช้โค้ดตัวอย่างต่อไปนี้เพื่อสร้าง HumanoidDescription จาก ID ผู้ใช้โดยใช้ Players:GetHumanoidDescriptionFromUserId():

สร้าง HumanoidDescription จาก ID ผู้ใช้
local Players = game:GetService("Players")
local userId = 491243243
local humanoidDescriptionFromUser = Players:GetHumanoidDescriptionFromUserId(userId)

ปรับแต่ง HumanoidDescription

เพื่อปรับแต่งคุณสมัติของ HumanoidDescription ให้ตั้งค่าโดยตรงบน HumanoidDescription หรือใช้วิธีการที่กำหนดก่อนที่จะใช้ HumanoidDescription กับตัวละคร

โค้ดตัวอย่างต่อไปนี้ให้ตัวอย่างการตั้งค่าประเภทต่าง ๆ ของคุณสมัติ HumanoidDescription:

อัปเดตคุณสมบัติ 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)

ตั้งค่าอุปกรณ์เสริมหลายตัว

สำหรับการเปลี่ยนแปลงอุปกรณ์เสริมแบบเลเยอร์หรือจำนวนมาก คุณสามารถใช้ HumanoidDescription:SetAccessories() เพื่ออัปเดตที่เกี่ยวข้องกับอุปกรณ์เสริม โค้ดตัวอย่างต่อไปนี้เพิ่มสเวตเตอร์แบบเลเยอร์และแจ็คเก็ตตามลำดับลงใน HumanoidDescription:

เปลี่ยนอุปกรณ์เสริมหลายตัวในครั้งเดียว
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)

ใช้ HumanoidDescription

ใช้ HumanoidDescription กับตัวละคร Humanoid โดยเฉพาะในเกมของคุณด้วย Humanoid:ApplyDescription() หรือ Humanoid.LoadCharacterWithHumanoidDescription.

ในตัวละครเดียว

ApplyDescription() สามารถมุ่งเป้าไปที่ Humanoid ใดก็ได้ ใช้โค้ดต่อไปนี้เพื่อเพิ่มแว่นกันแดดใหม่และลำตัวใหม่ให้กับตัวละครผู้เล่น:

อัปเดต HumanoidDescription สำหรับตัวละครผู้เล่นเฉพาะ
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
local descriptionClone = humanoid:GetAppliedDescription()
descriptionClone.Torso = 86500008
-- อนุญาตให้ใช้หลายทรัพย์สินของอุปกรณ์เสริมในสตริงที่คั่นด้วยเครื่องหมายจุลภาค
descriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"
-- ใช้ "descriptionClone" ที่แก้ไขแล้วกับ humanoid
humanoid:ApplyDescription(descriptionClone)
end

ในตัวละครของผู้เล่นทั้งหมด

ใช้โค้ดตัวอย่างต่อไปนี้เพื่อใช้ HumanoidDescription กับผู้เล่นที่มีอยู่ทั้งหมดในเกม:

อัปเดต HumanoidDescription สำหรับตัวละครของผู้เล่นปัจจุบันทั้งหมด
local Players = game:GetService("Players")
for _, player in Players:GetPlayers() do
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- สร้าง 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

ในตัวละครที่เกิดขึ้นทั้งหมด

ใช้โค้ดตัวอย่างต่อไปนี้เพื่อกำหนด HumanoidDescription เฉพาะสำหรับตัวละครของผู้เล่นที่เกิดขึ้นทั้งหมด:

อัปเดต HumanoidDescription สำหรับตัวละครที่เกิดขึ้นทั้งหมด
local Players = game:GetService("Players")
-- หยุดการเกิดอัตโนมัติเพื่อดำเนินการใน callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- สร้าง 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)
-- เกิดตัวละครด้วย HumanoidDescription
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- เชื่อมต่อเหตุการณ์ "PlayerAdded" กับฟังก์ชัน "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

หากอินสแตนซ์ HumanoidDescription ถูกสร้างขึ้นใน Explorer และถูกจัดให้เป็นพาร์เรนต์ในพื้นที่ทำงาน คุณสามารถใช้โค้ดตัวอย่างต่อไปนี้ใน Script เพื่อเข้าถึงอินสแตนซ์ในพื้นที่ทำงาน:

local Players = game:GetService("Players")
-- หยุดการเกิดอัตโนมัติเพื่อดำเนินการใน callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- เกิดตัวละครด้วย "workspace.StudioHumanoidDescription"
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- เชื่อมต่อเหตุการณ์ "PlayerAdded" กับฟังก์ชัน "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

อุปกรณ์เสริมแบบเลเยอร์บนโมเดลที่ไม่ใช่ R15

อุปกรณ์เสริมที่มีกรง เช่น อุปกรณ์เสริมแบบเลเยอร์ ใช้ WrapTarget และ WrapLayer เพื่อยืดและพันรอบ Model เป้าหมาย อุปกรณ์เสริมแบบเลเยอร์สามารถทำงานร่วมกับ ตัวละคร R15 Roblox และโมเดลที่ไม่ใช่ R15

การใช้งานอุปกรณ์เสริมแบบเลเยอร์ที่กำหนดเอง เช่น โมเดลที่ใช้แผนภาพ UV แบบกรงที่เป็นเอกลักษณ์ ไม่สามารถอัปโหลดและเผยแพร่ไปยัง Marketplace ได้ สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ข้อกำหนดอุปกรณ์เสริมแบบเลเยอร์.

ไม่ว่าคุณจะใช้อุปกรณ์เสริมแบบเลเยอร์ที่ใช้กับอวตาร์ R15 หรือใช้โมเดลที่กำหนดเอง ให้แน่ใจว่าอุปกรณ์เสริมและร่างกายของคุณประกอบด้วย:

  • โมเดลเป้าหมายโดยทั่วไปคือร่างกายมีองค์ประกอบ WrapTarget อยู่บนโครงสร้างที่โมเดลเพิ่มเติมมีเจตนาให้พันรอบ
  • โมเดลเลเยอร์ โดยทั่วไปคือเสื้อผ้าหรืออุปกรณ์เสริมมีองค์ประกอบ WrapLayer อยู่บนโครงสร้างที่มีเจตนาให้พันโมเดลเป้าหมาย
  • กรงด้านนอกของโมเดลเป้าหมาย และ กรงด้านในและด้านนอกของโมเดลเลเยอร์ มีแผนภาพ UV ที่ตรงกัน
    • จุดยอดที่ตรงกันบนกรงเป้าหมายควรมี UV เดียวกันกับจุดยอดของกรงเลเยอร์
  • หากโมเดลเป้าหมายของคุณไม่ใช่ R15 หรือไม่รวม Humanoid คุณต้องเพิ่มวัตถุ Weld ไปยัง MeshPart ของเลเยอร์
    • Weld จะต้องมี Part0 และ Part1 ที่ตั้งไว้เพื่อเชื่อมโยง MeshPart ของเลเยอร์กับระบบ Part ของโมเดล ตัวอย่างเช่น Part0 หมายถึงอุปกรณ์เสริมและ Part1 หมายถึง Part หลัก
  • หากโมเดลเป้าหมายของคุณเป็นทั้ง R15 และรวม Humanoid การเชื่อมโยงนี้จะถูกสร้างขึ้นโดยอัตโนมัติ
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ