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

*เนื้อหานี้แปลโดยใช้ 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 ด้วยโค้ดต่อไปนี้:

Create new HumanoidDescription instance
local humanoidDescription = Instance.new("HumanoidDescription")

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


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

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

Generate a HumanoidDescription from a player character
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
local humanoidDescription = Instance.new("HumanoidDescription")
if humanoid then
humanoidDescription = humanoid:GetAppliedDescription()
end

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

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

Generate a HumanoidDescription from an Outfit ID
local Players = game:GetService("Players")
local outfitId = 480059254
local humanoidDescriptionFromOutfit = Players:GetHumanoidDescriptionFromOutfitId(outfitId)

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

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

Generate a HumanoidDescription from a user ID
local Players = game:GetService("Players")
local userId = 491243243
local humanoidDescriptionFromUser = Players:GetHumanoidDescriptionFromUserId(userId)

ปรับเปลี่ยน HumanoidDescription

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

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

Update various HumanoidDescription properties
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:

Change multiple accessories at once
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 ใด ๆ ใช้โค้ดต่อไปนี้เพื่อเพิ่มแว่นกันแดดใหม่และลำตัวใหม่ให้กับตัวละครผู้เล่น:

Update HumanoidDescription for a specific player character
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 ไปใช้กับผู้เล่นทั้งหมดในเกม:

Update HumanoidDescription for all current player characters
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 เฉพาะสำหรับตัวละครผู้เล่นที่เกิดใหม่ทั้งหมด:

Update HumanoidDescription for all spawning characters
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 เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ