Xuất hiện 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 avata Roblox của riêng họ, mặc dù một số trò chơi triển khai một 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 một số sửa đổi hạn chế cho các 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 một trò chơi độc đáo thay đổi diện mạo 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 sửa đổi diện mạo bằng tay.

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 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ể, như các mô hình nhân vật không phải người chơi, xem sửa đổi diện mạo bằng tay.

Trong cửa sổ này, bạn có thể thiết lập các cài đặt khác nhau 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 được áp dụng sẽ hiển thị trong không gian làm việc.

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

Sửa đổi diện mạo bằng tay

Các mô hình nhân vật chứa một đối tượng Humanoid mang lại cho mô hình những đặ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ác mô hình nhân vật người chơi hoặc cá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ả
Thang đoCác giá trị số cho các đặc điểm vật lý height, width, head, body typeproportion. Điều này không ảnh hưởng đến các kiểu cơ thể R6.
Phụ kiệnCác ID tài sản của các 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 hình ảnh 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 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.
Hành độngCác ID tài sản của Các hành động 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 theo 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, tất 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 hệ thống phân cấp 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 bằng cách tham chiếu đến một nhân vật người chơi hiện có, bộ 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 một HumanoidDescription 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 đoạn mã sau để tạo một HumanoidDescription từ một ID trang phục bằng cách sử dụng Players.GetHumanoidDescriptionFromOutfitID:

Tạo một 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 đoạn 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 một 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 HumanoidDescription, hãy thiết lập chúng trực tiếp trên HumanoidDescription hoặc sử dụng phương pháp 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 HumanoidDescription khác nhau

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 việ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 áo len lớp và một á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 bằng Humanoid:ApplyDescription() hoặc Humanoid.LoadCharacterWithHumanoidDescription.

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

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ả 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ả người chơi hiện tại trong trò chơi:

Cập nhật HumanoidDescription cho tất 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ả nhân vật đang xuất hiện

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

Cập nhật HumanoidDescription cho tất 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" tới hàm "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Nếu phiên bản HumanoidDescription được tạo trong Explorer và đã được cha vào không gian làm việc, hãy sử dụng đoạn mã mẫu sau trong một Script để truy cập thể hiện 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" tới hàm "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Quần áo theo lớp trên không phải R15

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

Việc triển khai tùy chỉnh quần áo theo lớp, chẳng hạn như một mô hình sử dụng bản đồ UV nhốt độ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, xem Thông số quần áo theo lớp.

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

  • Mô hình mục tiêu, thường là thân hình, có một thành phần WrapTarget trên các mesh mà các mô hình bổ sung dự kiến ​​sẽ quấn xung 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ự kiến ​​sẽ quấn quanh mô hình mục tiêu.
  • Lồng bên ngoài của mô hình mục tiêu, và lồng bên trong và bên ngoài của mô hình lớp phải có các bản đồ UV tương ứng.
    • Các đỉnh tương ứng trên lồng mục tiêu phải có cùng UV như các đỉnh đó trên lồng 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 phần phân cấp của Mô hình. Ví dụ, Part0 đề cập đến phụ kiện và Part1 đề cập đến phần 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.