エモートは、チャットコマンド("/e cheer")を使用するか、ゲームの右上にあるエモートメニューにアクセスすることで利用可能な表現豊かなキャラクターのアニメーションです。すべてのユーザーは、ダンス、指差し、応援などのデフォルトのエモートにアクセスできます。追加のアバターエモートは、マーケットプレイスで購入して装備することができます。
ゲーム内で、次のようなエモートのカスタマイズが可能です。
エモートメニュー
ユーザーのエモートメニューを手動で開閉したり、特定のエモートを表示するようにメニューをカスタマイズしたり、メニューを完全に無効にしたりできます。
開閉
プレイヤーのエモートメニューを手動で開閉するには、GuiService:SetEmotesMenuOpen()を呼び出し、真または偽のブール値を渡します。
以下のコードサンプルは、ユーザーのエモートメニューを開きます。
-- エモートメニューを開くlocal GuiService = game:GetService("GuiService")GuiService:SetEmotesMenuOpen(true)
エモートメニューが開いているかどうかを検出する必要がある場合は、GuiService:GetEmotesMenuOpen()を呼び出します。これにより、メニューの現在の状態を示すブール値が返されます。
エモートの追加と削除
カタログのエモートを設定して、Humanoidにエモートを装備することでエモートメニューをカスタマイズします。HumanoidDescription:SetEmotes()メソッドを使用してエモートを設定し、最大8つのエモートをHumanoidDescription:SetEquippedEmotes()を使用してエモートメニューに装備します。
以下のコードサンプルをLocalScriptにおいてStarterCharacterScriptsフォルダー内でエモートを設定して装備するために使用します。
local Players = game:GetService("Players")local humanoid = Players.LocalPlayer.Character.Humanoidlocal humanoidDescription = humanoid.HumanoidDescription-- テーブル内にカスタムエモートを設定local emoteTable = {["こんにちは"] = {3576686446},["スタジアム"] = {3360686498},["傾ける"] = {3360692915},["肩をすくめる"] = {3576968026},["敬礼"] = {3360689775},["指差し"] = {3576823880}}humanoidDescription:SetEmotes(emoteTable)-- 特定の順序でエモートを装備local equippedEmotes = {"こんにちは", "スタジアム", "傾ける", "肩をすくめる", "敬礼", "指差し"}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を返します。
以下のコードサンプルを使用して、肩をすくめるエモートを再生します。
local Players = game:GetService("Players")local humanoid = Players.LocalPlayer.Character.Humanoidhumanoid:PlayEmote("肩をすくめる")