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 chính của bất kỳ trải nghiệm xã hội nào.Các mô-đun EmoteBar nhằm cung cấp cho người chơi một cách dễ tiếp cận, có thể tùy chỉnh để thuận tiện cho sự tương tác xã hội có ý nghĩa.

Sử dụng module

Cài đặt

Để sử dụng module EmoteBar trong một trải nghiệm:

  1. Từ tab Xem, mở Hộp công cụ và chọn tab Cửa hàng Nhà sáng tạo .

    Toolbox toggle button in Studio
  2. Hãy chắc chắn rằng kiểu sắp xếp Mô hình được chọn, sau đó nhấp vào nút Xem tất cả đối với Danh mục .

  3. Tìm và nhấp vào ô Dev Modules .

  4. Tìm mô-đun Thanh biểu cảm và nhấp vào nó, hoặc kéo và thả nó vào cửa sổ 3D.

  5. Trong cửa sổ Explorer, di chuyển toàn bộ mô hình EmoteBar vào ServerScriptService .Sau khi chạy trải nghiệm, mô-đun sẽ phân phối bản thân cho các dịch vụ khác nhau và bắt đầu chạy.

Cài đặt

Mô-đun được cài đặt sẵn với 7 biểu cảm và nó có thể dễ dàng được tùy chỉnh với các biểu cảm riêng của bạn và lựa chọn hiển thị.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ẽ được thêm tự động vào danh sách các biểu cảm có sẵn.

  1. Trong ServerScriptService , tạo một mới Script và đổi tên thành Tùy chỉnh biểu tượng .

  2. Sao chép mã sau vào kịch bản ConfigureEmotes mới.Cài đặt useDefaultEmotes của false vô hiệu hóa các biểu tượng cảm xúc mặc định và cho phép bạn xác định các biểu tượng cảm xúc tùy chỉnh thông qua chức năng setEmotes.

    Tập lệnh - Cài đặt biểu cảm

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local EmoteBar = require(ReplicatedStorage:WaitForChild("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 siêu lớn

Một biểu cảm siêu lớn được hình thành 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 cùng một lúc.Khi ngày càng nhiều người chơi tham gia, biểu cảm siêu lớn lên.Khi các người chơi ngừng thực hiện biểu cảm, biểu cảm siêu lớn sẽ thu nhỏ cho đến khi nó biến mất.

Tốc độ

Tốc độ của một biểu tượng là thời gian mà nó chơi khi nút của nó được nhấn một lần là tốc độ mà nó chơi khi nút của nó được nhấn một lầnTố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 một 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ởi một từ điển với các cặp chìa khóa-giá trị sau:

Nhân vật chínhLoạiMô tả
namechuỗiTên biểu tượng, ví dụ "Shrug" .
animationchuỗiID tài sản cho hoạt hình của biểu cảmhiệu ứng động.
imagechuỗiID tài sản cho hình ảnh biểu cảm trong GUI.
defaultTemposốYếu tố tốc độ mặc định để chơi hoạt hiệu ứng độngbiểu cảm.Ví dụ, một nhịp điệu 2 sẽ chơi hoạt hình với tốc độ gấp đôi bình thường.Phải lớn hơn 0.
isLockedboolWhether cảm xúc được "khóa" không được kích hoạt.

Danh sách

EmoteBar.GuiType Loại

TênTổng quát
EmoteBarHình thức mặc định mà biểu cảm được hiển thị trong thanh ở phía dưới cùng của màn hình, được chia thành các "trang" riêng biệt.
EmoteWheelBiến thể mà biểu tượng được hiển thị trong một vòng khi người chơi nhấp hoặc nhấn vào nhân vật người chơi của họ.
Tập lệnh địa phương

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

Chức năng

thiết lập máy chủ

thiết lập máy chủ(config: table )

Thay thế các tùy chọn cấu hình mặc định bên máy chủ thông qua các chìa khóa/giá trị sau trong bảng config.Chức năng này chỉ có thể được gọi từ một Script và các thay đổi sẽ tự động sao chép cho tất cả các khách hàng.

Nhân vật chínhMô tảMặc định
useDefaultEmotesLiệu các biểu tượng mặc định được cung cấp có bị bao gồm hay không.đúng
useMegaEmotesBật hoặc tắt tính năng biểu cảm siêu lớn.đúng
emoteMinPlayersSố tối thiểu người chơi thực hiện cùng một biểu cảm để đóng góp cho một biểu cảm siêu lớn.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 cho một biểu cảm siêu lớn.50
playParticlesBật hoặc tắt các biểu cảm mà người chơi đang chơi như các hạt nổi trên đầu họ.đúng
sendContributingEmotesBật hoặc tắt gửi một biểu tượng cảm xúc nhỏ để đóng góp cho biểu cảm siêu lớn.đúng
Tập lệnh

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

thiết lậpClient

thiết lậpClient(config: table )

Thay thế các tùy chọn cấu hình mặc định bên khách thông qua các chìa khóa/giá trị sau trong bảng config .Chức năng 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 nhận cũng áp dụng.

Nhân vật chínhMô tảMặc định
guiTypeCác điều khiển tạo nên GUI sẽ sử dụng để hiển thị biểu tượng ( EmoteBar.GuiType ).Thanh biểu cảm
useTempoBật hoặc tắt tính năng nhịp điệu khi người dùng có thể kiểm soát tốc độ nhạy cảm hoặc chậm chạp của họ bằng cách kích hoạt lại lần lượt cùng một nhịp điệu cảm xúc.đúng
tempoActivationWindowSố lượng thời gian, trong giây lát, người dùng có giữa các kích hoạt liên tục của một biểu cảm để được tính là một phần của tốc độ.3
lockedImageHình ảnh để hiển thị trên cùng các biểu tượng bị khóa.“rbxassetid://6905802778”
LocalScript - Thanh biểu cảm

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteBar,
maxEmotesPerPage = 6,
nextPageKey = Enum.KeyCode.Z,
prevPageKey = Enum.KeyCode.C,
})
LocalScript - Bánh xe biểu cảm

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

setEmotes Đặt lại các biểu cảm

setEmotes(emotes: table )

Đặt các biểu cảm tùy chỉnh để sử dụng.Chúng sẽ được thêm vào các giá trị mặc định nếu useDefaultEmotestrue , hoặc thay thế các giá trị mặc định nếu useDefaultEmotesfalse .Chức năng này chỉ có thể được gọi từ một Script và các thay đổi sẽ tự động sao chép cho tất cả các khách hàng.

Xem Biểu cảm cho cấu trúc của mỗi biểu cảm được chuyển đến chức năng này.

Tập lệnh - Cài đặt biểu cảm

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("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 Đặt khả năng hiển thị

setGuiVisibility(visible: boolean )

Hiển thị hoặc ẩn giao diện người dùng cảm xúc. Chức năng này chỉ có thể được gọi từ một LocalScript trên một khách hàng cụ thể.

Tập lệnh địa phương

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

nhận đượcEmote

getEmote(tên biểu cảm: string ): table

Nhận được một Biểu tượng bằng tên.Trả về nil nếu không thể tìm thấy biểu cảm.Chức năng này chỉ có thể được gọi từ một LocalScript trên một khách hàng cụ thể.

Tập lệnh địa phương

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

chơiEmote

playEmote(biểu cảm: Biểu cảm )

Chơi các biểu tượng được cho Emote và kích hoạt sự kiện emotePlayed trên máy chủ, nếu kết nối.Chức năng này chỉ có thể được gọi từ một LocalScript trên một khách hàng cụ thể.

Tập lệnh địa phương

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

khóa biểu cảm

lockEmote(tên biểu cảm: string )

Khóa Biểu tượng với tên được cung cấp. Chức năng này chỉ có thể được gọi từ một LocalScript trên máy khách.

Tập lệnh địa phương

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

mở khóaBiểu cảm

mở khóaBiểu cảm(tênBiểu cảm: string )

Mở khóa Biểu tượng với tên được cung cấp. Chức năng này chỉ có thể được gọi từ một LocalScript trên máy khách.

Tập lệnh địa phương

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

Sự kiện

biểu cảm đã chơi

Bắt lửa khi bất kỳ khách hàng nào chơi 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: Biểu cảmBiểu cảm đã được chơi.
Tập lệnh địa phương

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)

đã kích hoạt biểu cảm bị khóa

Bắt lửa khi một khách hàng nhấp vào một biểu cảmbị 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: Biểu cảmBiểu tượng bị khóa đã được kích hoạt.
Tập lệnh địa phương

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "clicked", emote.name)
end)