ลักษณะตัวละคร

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

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

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

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

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

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

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

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

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

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

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

คุณสมัติตัวละครคำอธิบาย
ขนาดค่าตัวเลขสำหรับลักษณะทางกายภาพ height, width, head, body type และ proportion ซึ่งไม่ส่งผลต่อประเภทตัว R6
อุปกรณ์เสริมรหัสสินทรัพย์ของ accessories ที่สวมใส่โดยตัวละคร
เสื้อผ้าแบบคลาสสิกรหัสสินทรัพย์ของ Shirt, Pants, และ ShirtGraphic ที่คุณสามารถนำไปใช้กับตัวละคร
ส่วนต่าง ๆ ของร่างกายรหัสสินทรัพย์ของ Face, Head, Torso, RightArm, LeftArm, RightLeg และ LeftLeg ของตัวละคร
สีของร่างกาย BodyColors ของส่วนต่าง ๆ ของตัวละคร
การเคลื่อนไหวรหัสสินทรัพย์ของ Animations ที่คุณสามารถใช้กับตัวละคร

ปรับแต่งตัวละครด้วย HumanoidDescription โดยใช้ขั้นตอนต่อไปนี้:

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

สร้าง HumanoidDescription

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

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

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


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

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

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

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

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

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

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

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

สร้าง HumanoidDescription จากรหัสผู้ใช้
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")
-- หยุดการเกิดอัตโนมัติเพื่อให้สามารถทำได้ในฟังก์ชัน "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")
-- หยุดการเกิดอัตโนมัติเพื่อให้สามารถทำได้ในฟังก์ชัน "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

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

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

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