エモートは、チャットコマンド("/e cheer") を使用してアクセス可能な表現的なキャラクターアニメーションであり、エクスペリエンスの右上隅の エモートメニュー にアクセスすることでも入手可能です。すべてのユーザーは、 ダンス 、 ポイント 、および チア などのデフォルトのエモートにアクセスできます。追加のアバターエモートは、市場 から購入して装備できます。
経験上、次のエモートカスタマイズを行うことができます:
- プレイ 特定のユーザーキャラクターをターゲットにしたエモートを再生リアクションる
エモートメニュー
ユーザーのエモートメニューを手動で開いて閉じたり、メニューをカスタマイズして特定のエモートを表示したり、メニューを完全に無効にしたりできます。
開いて閉じる
プレイヤーのエモートメニューを手動で開いたり閉じたりするには、真または偽のブール値で GuiService:SetEmotesMenuOpen() を呼び出します。
次のコードサンプルは、ユーザーのためのエモートメニューを開きます:
-- エモートメニューを開くlocal GuiService = game:GetService("GuiService")GuiService:SetEmotesMenuOpen(true)
エモートメニューが開いているかどうかを検出する必要がある場合は、GuiService:GetEmotesMenuOpen() を呼び出します。これは、メニューの現在の状態を示すブールを返します。
エモートを追加および削除
カタログからエモートを設定し、エモートを Humanoid に装備して、エモートメニューをカスタマイズします。HumanoidDescription:SetEmotes() メソッドでエモートを設定し、HumanoidDescription:SetEquippedEmotes() を使用して最大 8つのエモートをエモートメニューに装備します。
エクスペリエンス内のエモートを設定し装備するには、次のコードサンプルを 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)
無効にする
emotes メニューを StarterGui:SetCoreGuiEnabled() で無効にします。emotes メニューを無効にすると、チャットコマンドでエモートが実行されなくなります。
次のサンプルコードでは、エモートメニューが無効になります:
local StarterGui = game:GetService("StarterGui")StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false)
メニューを無効にするとともに、StarterPlayer.UserEmotesEnabled プロパティを設定して、 StarterPlayer > キャラクター を false に設定して、ユーザーが所有するエモートのロードを無効にすることもできます。この特定のプロパティはスタジオでのみ設定でき、スクリプトでは設定できません。
エモートを再生する
キャラクターが持っているエモートを手動で再生するには、HumanoidDescription にストリング名のエモートをパスして、Humanoid:PlayEmote() を呼び出します。この呼び出しは、エモートが成功して再生されたことを示すために true を返し、そうでない場合は false を返します。
次のコードサンプルを使用して、シャッグエモートを再生しまリアクション:
local Players = game:GetService("Players")local humanoid = Players.LocalPlayer.Character.Humanoidhumanoid:PlayEmote("Shrug")