Thanh Biểu Cảm

*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.

Biểu cảm là một thành phần cốt lõi của bất kỳ trải nghiệm xã hội nào. Mô-đun EmoteBar mô-đun phát triển nhằm cung cấp cho người chơi một cách tương tác xã hội dễ tiếp cận và tùy biến để tạo ra những tương tác xã hội có ý nghĩa.

Sử dụng mô-đun

Cài đặt

Để sử dụng mô-đun EmoteBar trong một trải nghiệm:

  1. Từ menu Cửa sổ của Studio hoặc thanh công cụ Trang chủ, mở Toolbox và chọn tab Cửa hàng Tạo.

  2. Đảm bảo đã chọn sắp xếp Mô hình, sau đó nhấn nút Xem Tất cả cho Danh mục.

  3. Tìm và nhấn vào ô Gói.

  4. Tìm mô-đun Emote Bar và nhấn vào nó, hoặc kéo và thả nó vào chế độ xem 3D.

  5. Trong cửa sổ Khám Phá, di chuyển toàn bộ mô hình EmoteBar vào ReplicatedStorage. Khi chạy trải nghiệm, mô-đun sẽ bắt đầu hoạt động.

Cấu hình

Mô-đun đã được cấu hình sẵn với 7 biểu cảm và có thể dễ dàng tùy biến với biểu cảm và tùy chọn hiển thị của riêng bạn. Ngoài ra, nếu người chơi sở hữu bất kỳ biểu cảm nào từ các sự kiện Roblox trước đây như Lil Nas X, Royal Blood, hoặc Twenty One Pilots, những biểu cảm đó sẽ tự động được thêm vào danh sách các biểu cảm có sẵn.

  1. Trong ServerScriptService, tạo một Script mới và đặt lại tên thành ConfigureEmotes.

  2. Dán đoạn mã sau vào script ConfigureEmotes mới. Cài đặt useDefaultEmotesfalse ghi đè các biểu cảm mặc định và cho phép bạn xác định biểu cảm tùy chỉnh qua hàm setEmotes.

    Script - ConfigureEmotes

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local EmoteBar = require(ReplicatedStorage.EmoteBar)
    EmoteBar.configureServer({
    useDefaultEmotes = false,
    })
    EmoteBar.setEmotes({
    {
    name = "Hello",
    animation = "rbxassetid://3344650532",
    image = "rbxassetid://7719817462",
    defaultTempo = 1,
    },
    {
    name = "Applaud",
    animation = "rbxassetid://5915693819",
    image = "rbxassetid://7720292217",
    defaultTempo = 2,
    },
    })

Biểu cảm mega

Một biểu cảm mega được tạo ra khi nhiều người chơi trong cùng một khu vực thực hiện cùng một biểu cảm trong cùng một thời điểm. Khi ngày càng có nhiều người chơi tham gia, biểu cảm mega sẽ lớn hơn. Khi người chơi ngừng thực hiện biểu cảm, biểu cảm mega sẽ nhỏ dần cho đến khi cuối cùng nó biến mất.

Tốc độ

Tốc độ của một biểu cảm là tốc độ mà nó phát khi nút của nó được nhấn một lần. Tốc độ mặc định của một biểu cảm được xác định bởi defaultTempo của nó. Tốc độ của biểu cảm có thể được tăng hoặc giảm bằng cách nhấn nút của nó nhanh hơn hoặc chậm hơn.

Tham chiếu API

Loại

Biểu cảm

Mỗi biểu cảm được đại diện bằng một từ điển với các cặp khóa-giá trị sau:

KhóaLoạiMô tả
namestringTên biểu cảm, ví dụ như "Shrug".
animationstringID tài sản cho animation của biểu cảm.
imagestringID tài sản cho hình ảnh của biểu cảm trong GUI.
defaultTemposốHệ số tốc độ mặc định để phát animation biểu cảm. Ví dụ, tốc độ là 2 sẽ phát animation với tốc độ gấp đôi so với tốc độ bình thường. Phải lớn hơn 0.
isLockedboolLiệu biểu cảm có bị "khóa" để không thể kích hoạt hay không.

Enum

EmoteBar.GuiType

TênTóm tắt
EmoteBarDạng mặc định nơi các biểu cảm được hiển thị trong một thanh dọc theo đáy màn hình, chia thành các "trang" riêng biệt.
EmoteWheelBiến thể nơi các biểu cảm được hiển thị trong một vòng tròn khi một người chơi nhấp hoặc chạm vào nhân vật của họ.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

Hàm

configureServer

configureServer(config: table)

Ghi đè các tùy chọn cấu hình mặc định phía máy chủ thông qua các khóa/giá trị sau trong bảng config. Hàm này chỉ có thể được gọi từ một Script và các thay đổi sẽ tự động sao chép tới tất cả các client.

KhóaMô tảMặc định
useDefaultEmotesLiệu các biểu cảm mặc định được cung cấp có được bao gồm hay không.true
useMegaEmotesKích hoạt hoặc vô hiệu hóa tính năng biểu cảm mega.true
emoteMinPlayersSố lượng tối thiểu người chơi thực hiện cùng một biểu cảm để đóng góp vào một biểu cảm mega.3
emoteMaxPlayersSố lượng tối đa người chơi thực hiện cùng một biểu cảm để đóng góp vào một biểu cảm mega.50
playParticlesKích hoạt hoặc vô hiệu hóa các biểu cảm mà người chơi đang thực hiện dưới dạng các hạt bay lơ lửng trên đầu họ.true
sendContributingEmotesKích hoạt hoặc vô hiệu hóa việc gửi một biểu tượng biểu cảm nhỏ để đóng góp vào biểu cảm mega.true
Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
emoteMinPlayers = 2,
playParticles = false,
})

configureClient

configureClient(config: table)

Ghi đè các tùy chọn cấu hình mặc định phía client thông qua các khóa/giá trị sau trong bảng config. Hàm này chỉ có thể được gọi từ một LocalScript. Tùy thuộc vào giá trị của guiType, các tùy chọn trong các tab được ghi chú cũng áp dụng.

KhóaMô tảMặc định
guiTypeĐiều khiển hình thức mà GUI sẽ có để hiển thị các biểu cảm (EmoteBar.GuiType).EmoteBar
useTempoKích hoạt hoặc vô hiệu hóa tính năng tốc độ trong đó người dùng có thể kiểm soát cách nhanh hay chậm các biểu cảm của họ được phát bằng cách liên tục kích hoạt cùng một biểu cảm theo nhịp điệu.true
tempoActivationWindowSố thời gian, tính bằng giây, mà người dùng có giữa các lần kích hoạt liên tiếp của một biểu cảm để nó được tính là một phần của tốc độ.3
lockedImageHình ảnh để hiển thị trên các biểu cảm bị khóa."rbxassetid://6905802778"
LocalScript - Emote Bar

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteBar,
maxEmotesPerPage = 6,
nextPageKey = Enum.KeyCode.Z,
prevPageKey = Enum.KeyCode.C,
})
LocalScript - Emote Wheel

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

setEmotes

setEmotes(emotes: table)

Thiết lập các biểu cảm tùy chỉnh để sử dụng. Những biểu cảm này sẽ được thêm vào mặc định nếu useDefaultEmotestrue, hoặc thay thế các mặc định nếu useDefaultEmotesfalse. Hàm này chỉ có thể được gọi từ một Script và các thay đổi sẽ tự động sao chép tới tất cả các client.

Xem Biểu cảm để biết cấu trúc của từng biểu cảm được truyền vào hàm này.

Script - ConfigureEmotes

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
useDefaultEmotes = false,
})
EmoteBar.setEmotes({
{
name = "Hello",
animation = "rbxassetid://3344650532",
image = "rbxassetid://7719817462",
defaultTempo = 1,
},
{
name = "Applaud",
animation = "rbxassetid://5915693819",
image = "rbxassetid://7720292217",
defaultTempo = 2,
},
})

setGuiVisibility

setGuiVisibility(visible: boolean)

Hiển thị hoặc ẩn GUI biểu cảm. Hàm này chỉ có thể được gọi từ một LocalScript trên một client cụ thể.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.setGuiVisibility(false)

getEmote

getEmote(emoteName: string): table

Lấy một Biểu cảm theo tên. Trả về nil nếu không thể tìm thấy biểu cảm. Hàm này chỉ có thể được gọi từ một LocalScript trên một client cụ thể.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Shrug")

playEmote

playEmote(emote: Emote)

Phát biểu cảm Emote đã cho và kích hoạt sự kiện emotePlayed trên máy chủ, nếu có kết nối. Hàm này chỉ có thể được gọi từ một LocalScript trên một client cụ thể.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Shrug")
EmoteBar.playEmote(shrug)

lockEmote

lockEmote(emoteName: string)

Khóa Biểu cảm với tên đã cho. Hàm này chỉ có thể được gọi từ một LocalScript trên client.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockEmote("Applaud")

unlockEmote

unlockEmote(emoteName: string)

Mở khóa Biểu cảm với tên đã cho. Hàm này chỉ có thể được gọi từ một LocalScript trên client.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.unlockEmote("Applaud")

Sự kiện

emotePlayed

Kích hoạt khi bất kỳ client nào phát một biểu cảm. Sự kiện này chỉ có thể được kết nối trong một LocalScript.

Tham số
người chơi: PlayerNgười chơi đã thực hiện biểu cảm.
biểu cảm: EmoteBiểu cảm đã được phát.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "đã phát", emote.name)
end)

lockedEmoteActivated

Kích hoạt khi một client nhấp vào một biểu cảm bị khóa. Sự kiện này chỉ có thể được kết nối trong một LocalScript.

Tham số
biểu cảm: EmoteBiểu cảm bị khóa đã được kích hoạt.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "đã nhấp vào", emote.name)
end)
©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.