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

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

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

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

การตั้งค่า Avatar ทั่วไป

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

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

หากต้องการข้อมูลเพิ่มเติม ให้ดูที่ การตั้งค่า Avatar

การปรับแต่งรูปลักษณ์แบบแมนวล

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

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

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

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

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

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

สร้าง HumanoidDescription

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

Create new HumanoidDescription instance

local humanoidDescription = Instance.new("HumanoidDescription")

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


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

ใช้ตัวอย่างโค้ดต่อไปนี้เพื่อสร้าง 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 จาก ID ชุด โดยใช้ Players.GetHumanoidDescriptionFromOutfitID:

Generate a HumanoidDescription from an Outfit ID

local Players = game:GetService("Players")
local outfitId = 480059254
local humanoidDescriptionFromOutfit = Players:GetHumanoidDescriptionFromOutfitId(outfitId)

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

ใช้ตัวอย่างโค้ดต่อไปนี้เพื่อสร้าง HumanoidDescription จาก ID ผู้ใช้ โดยใช้ 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")
-- หยุดการเกิดอัตโนมัติเพื่อให้สามารถทำได้ใน 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 และถูกจัดกลุ่มไปที่ workspace ให้ใช้ตัวอย่างโค้ดต่อไปนี้ใน Script เพื่อเข้าถึงอินสแตนซ์ใน workspace:


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