Ngoại hình nhân vật

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Hầu hết các trò chơi cho phép người chơi sử dụng avatar Roblox của riêng họ, mặc dù một số trò chơi triển khai hệ thống tùy chỉnh trong trò chơi như mẫu UGC Homestore. Các trò chơi khác thực hiện các sửa đổi hạn chế cho avatar của người chơi như mũ bảo hiểm, cánh, hoặc phụ kiện phù hợp với thể loại.

Để tạo ra một trò chơi độc đáo thay đổi ngoại hình của người dùng, bạn có thể tùy chỉnh các thuộc tính nhân vật mặc định thông qua cài đặt avatar hoặc tùy chỉnh ngoại hình thủ công.

Cài đặt avatar toàn cầu

TệpCài đặt Avatar trong Studio cho phép bạn nhanh chóng thiết lập một số thuộc tính nhân vật người chơi toàn cầu trong trò chơi của bạn. Những cài đặt này áp dụng toàn cầu cho tất cả các mô hình nhân vật người chơi tham gia trò chơi của bạn. Để sửa đổi các nhân vật cụ thể, chẳng hạn như mô hình nhân vật không phải người chơi, hãy xem tùy chỉnh ngoại hình thủ công.

Trong cửa sổ này, bạn có thể thiết lập nhiều cài đặt cho quần áo, phụ kiện, bộ phận cơ thể, hành vi va chạm, hoạt ảnh và nhiều hơn nữa. Khi chỉnh sửa các cài đặt này, một bản xem trước của các cài đặt đã áp dụng sẽ hiển thị trong không gian làm việc.

Để biết thêm thông tin, hãy xem Cài đặt Avatar.

Tùy chỉnh ngoại hình thủ công

Mô hình nhân vật chứa một đối tượng Humanoid cung cấp cho mô hình các đặc điểm đặc biệt, chẳng hạn như đi bộ, nhảy, trang bị đồ vật và tương tác với môi trường.

Bạn có thể lập trình sửa đổi một Humanoid bằng cách cập nhật HumanoidDescription. Điều này bao gồm các mô hình nhân vật người chơi hoặc mô hình nhân vật không phải người chơi trong trò chơi của bạn.

Bạn có thể điều chỉnh các thuộc tính nhân vật sau trong trò chơi của bạn bằng cách sử dụng HumanoidDescription:

Thuộc tính nhân vậtMô tả
Tỷ lệGiá trị số cho các đặc điểm vật lý chiều cao, chiều rộng, đầu, loại cơ thểtỷ lệ. Điều này không ảnh hưởng đến các loại cơ thể R6.
Phụ kiệnCác ID tài sản của phụ kiện được trang bị bởi một nhân vật.
Quần áo cổ điểnCác ID tài sản của Shirt, Pants, và ShirtGraphic mà bạn có thể áp dụng cho nhân vật.
Bộ phận cơ thểCác ID tài sản của các bộ phận Mặt, Đầu, Thân, Cánh tay phải, Cánh tay trái, Chân phảiChân trái của một nhân vật.
Màu cơ thểCác BodyColors của các bộ phận riêng lẻ của nhân vật.
Hoạt ảnhCác ID tài sản của Hoạt ảnh mà bạn có thể sử dụng trên một nhân vật.

Tùy chỉnh một nhân vật với HumanoidDescription bằng cách thực hiện các bước sau:

  1. Tạo một mô tả từ nhân vật của người dùng, một ID trang phục cụ thể, hoặc từ một ID người dùng cụ thể.
  2. Sửa đổi mô tả để tùy chỉnh các thuộc tính mà bạn muốn áp dụng cho nhân vật Humanoid.
  3. Áp dụng mô tả cho một nhân vật đơn lẻ, tất cả các nhân vật người chơi, hoặc thậm chí cho tất cả các nhân vật đang xuất hiện.

Tạo HumanoidDescription

Bạn có thể tạo một thể hiện HumanoidDescription mới trực tiếp trong cấu trúc Explorer hoặc trong một Script với mã sau:

Tạo thể hiện HumanoidDescription mới
local humanoidDescription = Instance.new("HumanoidDescription")

Trong hầu hết các trường hợp, bạn nên sử dụng một HumanoidDescription hiện có thay vì một HumanoidDescription mới mặc định bằng cách tham chiếu đến một nhân vật người chơi hiện có, trang phục avatar, hoặc ID người dùng.


Từ nhân vật người chơi

Sử dụng mẫu mã sau để tạo một HumanoidDescription mới dựa trên các thuộc tính hiện tại của nhân vật người chơi:

Tạo HumanoidDescription từ một nhân vật người chơi
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
local humanoidDescription = Instance.new("HumanoidDescription")
if humanoid then
humanoidDescription = humanoid:GetAppliedDescription()
end

Từ một trang phục hiện có

Sử dụng mã mẫu sau để tạo một HumanoidDescription từ một ID trang phục bằng cách sử dụng Players.GetHumanoidDescriptionFromOutfitID:

Tạo HumanoidDescription từ một ID trang phục
local Players = game:GetService("Players")
local outfitId = 480059254
local humanoidDescriptionFromOutfit = Players:GetHumanoidDescriptionFromOutfitId(outfitId)

Từ một người dùng cụ thể

Sử dụng mã mẫu sau để tạo một HumanoidDescription từ một ID người dùng bằng cách sử dụng Players:GetHumanoidDescriptionFromUserId():

Tạo HumanoidDescription từ một ID người dùng
local Players = game:GetService("Players")
local userId = 491243243
local humanoidDescriptionFromUser = Players:GetHumanoidDescriptionFromUserId(userId)

Sửa đổi HumanoidDescription

Để tùy chỉnh các thuộc tính của HumanoidDescription, hãy thiết lập chúng trực tiếp trên HumanoidDescription hoặc sử dụng một phương thức chỉ định trước khi áp dụng HumanoidDescription cho một nhân vật.

Mẫu mã sau cung cấp các ví dụ về việc thiết lập các loại thuộc tính khác nhau của HumanoidDescription:

Cập nhật các thuộc tính khác nhau của 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)

Đặt nhiều phụ kiện

Đối với các thay đổi phụ kiện theo lớp hoặc hàng loạt, bạn có thể sử dụng HumanoidDescription:SetAccessories() để thực hiện các cập nhật liên quan đến phụ kiện. Mẫu mã sau thêm một chiếc áo len và một chiếc áo khoác theo thứ tự vào một HumanoidDescription:

Thay đổi nhiều phụ kiện cùng một lúc
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)

Áp dụng HumanoidDescription

Áp dụng HumanoidDescription cho các nhân vật Humanoid cụ thể trong trò chơi của bạn với Humanoid:ApplyDescription() hoặc Humanoid.LoadCharacterWithHumanoidDescription.

Trên một nhân vật đơn lẻ

ApplyDescription() có thể nhắm đến bất kỳ Humanoid nào. Sử dụng mã sau để thêm một cặp kính râm mới và một thân mới cho nhân vật người chơi:

Cập nhật HumanoidDescription cho một nhân vật người chơi cụ thể
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
local descriptionClone = humanoid:GetAppliedDescription()
descriptionClone.Torso = 86500008
-- Nhiều tài sản phụ kiện mặt được phép trong một chuỗi phân tách bằng dấu phẩy
descriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"
-- Áp dụng "descriptionClone" đã sửa đổi cho humanoid
humanoid:ApplyDescription(descriptionClone)
end

Trên tất cả các nhân vật người chơi

Sử dụng mã mẫu sau để áp dụng một HumanoidDescription cho tất cả các người chơi hiện tại trong trò chơi:

Cập nhật HumanoidDescription cho tất cả các nhân vật người chơi hiện tại
local Players = game:GetService("Players")
for _, player in Players:GetPlayers() do
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- Tạo một 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

Trên tất cả các nhân vật đang xuất hiện

Sử dụng mã mẫu sau để thiết lập một HumanoidDescription cụ thể cho tất cả các nhân vật người chơi đang xuất hiện:

Cập nhật HumanoidDescription cho tất cả các nhân vật đang xuất hiện
local Players = game:GetService("Players")
-- Dừng việc xuất hiện tự động để có thể thực hiện trong callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Tạo một 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)
-- Xuất hiện nhân vật với HumanoidDescription
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- Kết nối sự kiện "PlayerAdded" với hàm "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Nếu thể hiện HumanoidDescription được tạo trong Explorer và được gán cho không gian làm việc, hãy sử dụng mã mẫu sau trong một Script để truy cập thể hiện trong không gian làm việc:

local Players = game:GetService("Players")
-- Dừng việc xuất hiện tự động để có thể thực hiện trong callback "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Xuất hiện nhân vật với "workspace.StudioHumanoidDescription"
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- Kết nối sự kiện "PlayerAdded" với hàm "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Phụ kiện theo lớp trên không phải R15

Phụ kiện bị nhốt, như phụ kiện theo lớp, sử dụng WrapTargetWrapLayer để kéo dài và quấn quanh một Model mục tiêu. Phụ kiện theo lớp có thể hoạt động với cả nhân vật R15 Roblox tiêu chuẩn và các mô hình không phải R15.

Việc triển khai tùy chỉnh phụ kiện theo lớp, chẳng hạn như một mô hình sử dụng bản đồ UV lồng cage độc đáo, không thể được tải lên và xuất bản lên Marketplace. Để biết thêm thông tin, hãy xem Thông số kỹ thuật phụ kiện theo lớp.

Dù bạn đang triển khai phụ kiện theo lớp trên một rig avatar R15, hay sử dụng một rig tùy chỉnh, hãy đảm bảo rằng phụ kiện và cơ thể của bạn bao gồm các yếu tố sau:

  • Mô hình mục tiêu, thường là cơ thể, có một thành phần WrapTarget trên các mesh mà các mô hình bổ sung dự định quấn quanh.
  • Mô hình lớp, thường là quần áo hoặc phụ kiện, có một thành phần WrapLayer trên các mesh dự định quấn quanh mô hình mục tiêu.
  • Lồng cage bên ngoài của mô hình mục tiêu, và lồng cage bên trong và bên ngoài của mô hình lớp có các bản đồ UV tương ứng.
    • Các đỉnh tương ứng trên lồng cage mục tiêu nên có cùng UV với các đỉnh đó trên lồng cage lớp.
  • Nếu mô hình mục tiêu của bạn không phải R15, hoặc không bao gồm một Humanoid, bạn phải thêm một đối tượng Weld vào MeshPart lớp.
    • Weld phải có Part0Part1 được thiết lập để liên kết MeshPart lớp với cấu trúc Part của Mô hình. Ví dụ, Part0 đề cập đến phụ kiện và Part1 đề cập đến Part cha.
  • Nếu mô hình mục tiêu của bạn vừa là R15 vừa bao gồm một Humanoid, thì việc hàn này được tạo tự động.
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.