表情動作是可表達的角色 動畫,可以通過使用聊天指令("/e cheer")或者訪問任何遊戲右上角的 表情動作菜單 來使用。所有用戶均可使用默認表情動作,例如 舞蹈、指向 和 歡呼。其他虛擬形象的表情動作可以從 市場 購買和裝備。
在您的遊戲中,您可以執行以下表情動作自定義:
- 以程式方式打開和關閉 用戶的表情動作菜單。
- 添加或移除 用戶菜單中的表情動作選項。
- 禁用 菜單的訪問。
- 播放 具體的用戶角色表情動作。
表情動作菜單
您可以手動打開和關閉用戶的表情動作菜單,自定義菜單以顯示特定的表情動作,或完全禁用該菜單。
打開和關閉
要手動打開或關閉玩家的表情動作菜單,請調用 GuiService:SetEmotesMenuOpen() 並傳遞布林值 true 或 false。
以下代碼示例將為用戶打開表情動作菜單:
-- 打開表情動作菜單local GuiService = game:GetService("GuiService")GuiService:SetEmotesMenuOpen(true)
如果您需要檢測表情動作菜單是否已打開,請調用 GuiService:GetEmotesMenuOpen()。這將返回一個布林值,指示菜單的當前狀態。
添加和移除表情動作
通過從目錄中設定表情動作並然後將表情動作裝備到 Humanoid 來自定義表情動作菜單。使用 HumanoidDescription:SetEmotes() 方法設置表情動作,並通過 HumanoidDescription:SetEquippedEmotes() 方法將最多 8 個表情動作裝備到表情動作菜單中。
在 StarterCharacterScripts 文件夾中的 LocalScript 中使用以下代碼示例來設置和裝備您的遊戲中的表情動作:
local Players = game:GetService("Players")local humanoid = Players.LocalPlayer.Character.Humanoidlocal humanoidDescription = humanoid.HumanoidDescription-- 設置自定義表情動作的表local emoteTable = {["Hello"] = {3576686446},["Stadium"] = {3360686498},["Tilt"] = {3360692915},["Shrug"] = {3576968026},["Salute"] = {3360689775},["Point"] = {3576823880}}humanoidDescription:SetEmotes(emoteTable)-- 以特定順序裝備表情動作local equippedEmotes = {"Hello", "Stadium", "Tilt", "Shrug", "Salute", "Point"}humanoidDescription:SetEquippedEmotes(equippedEmotes)
禁用
使用 StarterGui:SetCoreGuiEnabled() 禁用表情動作菜單。禁用表情動作菜單不會阻止通過聊天指令執行表情動作。
以下示例代碼將禁用表情動作菜單:
local StarterGui = game:GetService("StarterGui")StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false)
除了禁用菜單外,您還可以通過在 StarterPlayer ⟩ Character 中將 StarterPlayer.UserEmotesEnabled 屬性設置為 false 來禁用用戶擁有的表情動作的加載。這個特定屬性只能在 Studio 中設置,無法通過腳本設置。
播放表情動作
要手動播放角色在其 HumanoidDescription 中擁有的表情動作,請調用 Humanoid:PlayEmote(),並傳遞表情動作的字符串名稱。此調用將返回 true,表示表情動作成功播放,否則返回 false。
使用以下代碼示例播放 Shrug 表情動作:
local Players = game:GetService("Players")local humanoid = Players.LocalPlayer.Character.Humanoidhumanoid:PlayEmote("Shrug")