表情动作是富有表现力的角色 动画,可以通过使用聊天命令("/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 来禁用用户拥有的表情动作的加载。该特定属性只能在工作室中设置,不能通过脚本进行设置。
播放表情动作
要手动播放角色在其 HumanoidDescription 中的表情动作,调用 Humanoid:PlayEmote(),并传入表情动作的字符串名称。此调用将返回 true,表示表情动作成功播放,否则返回 false。
使用以下代码示例播放 Shrug 表情动作:
local Players = game:GetService("Players")local humanoid = Players.LocalPlayer.Character.Humanoidhumanoid:PlayEmote("Shrug")