表情是通过使用聊天命令("/e cheer")或访问顶部右侧的任何体验的"表情菜单"(Emotes Menu)来访问的表达性角色。 所有用户都有 access to 默认表情,例如“跳舞” 和“点击” 。 您可以从市场中购买和装备额外的虚拟形象表
在您的体验中,您可以执行以下表情自定义:
- 从用户菜单中添加或移除表情选项。
- 禁用 对菜单的访问。
- 播放 一个动作,瞄准特定的用户角色。
表情菜单
您可以手动打开和关闭用户的表情菜单,自定义菜单显示特定表情,或禁用菜单。
打开和关闭
要手动打开或关闭玩家的表情菜单,请使用 GuiService:SetEmotesMenuOpen() ,并使用 true 或 false 的Boolean值。
以下代码示例将为用户打开表情菜单:
-- 打开表情菜单local GuiService = game:GetService("GuiService")GuiService:SetEmotesMenuOpen(true)
如果您需要检查是否检测到表情菜单是否打开,请调用 GuiService:GetEmotesMenuOpen() 。这将返回一个Boolean,表示菜单的当前状态。
添加和移除表情
自定义表情菜单,通过从目录中设置表情,然后装备表情到Humanoid。使用“Class.HumanoidDescription:SetEmotes()”方法设置表情,装备最多8个表情到表情菜单使用“Class.HumanoidDescription:SetEquippedEmotes()”。
使用 LocalScript 在 StarterCharacterScripts 文件夹内使用以下代码示例来设置和装备体验中的表情:
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.UserEmotesEnabled 属性设置 StarterPlayer > 角色 到 2> false2> 。 此特性只能在 Studio 中设置,不能通过脚本设置。
播放表情
要手动播放角色在其 HumanoidDescription 中拥有的表情,请调用 Humanoid:PlayEmote(),并将动作的字符串名称传递给它。此调用将返回 true 表示表情已成功播放,或 false 表示不然。
使用以下代码示例播放 Shrug 表动作:
local Players = game:GetService("Players")local humanoid = Players.LocalPlayer.Character.Humanoidhumanoid:PlayEmote("Shrug")