エモートバー

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

エモートは、あらゆるソーシャルエクスペリエンスのコアコンポーネントです。 エモートバー 開発者モジュール は、プレイヤーに意義のあるソーシャルインタラクションを容易にするために、アクセス可能でカスタマイズ可能な方法を提供します。

モジュール使用

インストール

エクスペリエンスで EmoteBar モジュールを使用するには:

  1. 从 the ビュー タブで、ツールボックスを開き、 クリエイターストア タブを選択します。

    Toolbox toggle button in Studio
  2. モデル ソートが選択されていることを確認してから、 すべてを表示 ボタンをクリックして、 カテゴリ のための 1>ボタン1> をクリックします。

  3. デバッグモジュール タイルを見つけてクリックします。

  4. エモートバー モジュールを見つけ、クリックするか、3D ビューにドラッグアンドドロップします。

  5. In the エクスプローラー window, move the entire エモートバー model into ServerScriptService . エクスペリエンスを実行すると、モジュールはさまざまなサービスに分配され、実行を開始します。

構成

モジュールは 7つのエモート でプリコンフィギュアされており、自分のエモートとディスプレイオプションを簡単にカスタマイズできます。さらに、プレイヤーが Lil Nas X、Royal Blood や Twenty One Pilots などの Roblox イベントのエモートを所有している場合、それらのエモートは自動的にリストのエモートに追加されます。

  1. In ServerScriptService で、新しい Script を作成し、 ConfigureEmotes に名前を変更します。

  2. 新しい ConfigureEmotes スクリプトに以下のコードを貼り付けます。useDefaultEmotes 設定は、false 上でデフォルトのエモートをオーバーライドし、カスタムエモートを定義するための 1>setEmotes1> 機能をオーバーライドします。

    スクリプト - エモートを構成する

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
    EmoteBar.configureServer({
    useDefaultEmotes = false,
    })
    EmoteBar.setEmotes({
    {
    name = "Hello",
    animation = "rbxassetid://3344650532",
    image = "rbxassetid://7719817462",
    defaultTempo = 1,
    },
    {
    name = "Applaud",
    animation = "rbxassetid://5915693819",
    image = "rbxassetid://7720292217",
    defaultTempo = 2,
    },
    })

メガエモート

メガエモートは、同じエリアの複数のプレイヤーが同じエモートを同時に実行すると形成されます。より多くのプレイヤーが参加するにつれて、メガエモートは大きくなります。プレイヤーがエモーリアクションを終了すると、メガエモートは小さくなります。最終的に消えるまで、メガエモートは消えます。

テンポ

エモーリアクションの テンポ は、ボタンを 1 回タップするとプレイする速度です。デフォルトのエモートの速度は、 defaultTempo です。エモーリアクションの速度は、ボタンをより速くまたはより遅くタップすることで決定されます。

API リファレンス

タイプ

エモート

それぞれのエモートは、次のキーバリューのペアで表現されるディクタリオンによって表現されます:

キータイプ説明
name文字列エモート名、例えば "Shrug"
animation文字列エモートのアニメーションのアセット ID。
image文字列GUI のエモート画像のアセット ID。
defaultTempo番号エモートアニメーションをプレイするデフォルトのスピードファクター。たとえば、2の時間でアニメーションを 2 倍の速度で再生します。0 より大きな必要があります。
isLockedブールエモートが「ロック」されているかどうか。

エンラム

EmoteBar.GuiType

名前概要
EmoteBar画面の下部にあるバーに表示されるエモートのデモが表示されるデフォルトのフォーム。
EmoteWheelプレイヤーがプレイヤーキャラクターをクリックまたはタップすると、リングでエモートが表示されるバリアント。
ローカルスクリプト

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

機能

Server を構成する

Server(config: table ) を構成する

conect' コマンドを使用して、Script テーブルの次のキー/値を介して、デフォルトのサーバー側の構成オプションをオーバーライドします。この関数は Class.Script からのみ呼び出され、変更はすべてのクライアントに自動的に再プリモートされます。

キー説明デフォルト
useDefaultEmotes提供されるデフォルトのエモートが含まれているかどうか。はい
useMegaEmotesメガエモート 機能を有効化/無効化します。はい
emoteMinPlayers同じエモートを実行するプレイヤーの最小数であり、メガエモートに貢献します。3
emoteMaxPlayers同じエモートを実行するプレーヤーの最大数であり、メガエモートに貢献します。50
playParticlesプレイヤーが頭上のプロジェクトのようにプレイするエモートを有効化/無効化します。はい
sendContributingEmotes小さなエモートアイコンを有効にするか無効にすることで、メガエモートに貢献できるかどうかを切り替えます。はい
スクリプト

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.configureServer({
emoteMinPlayers = 2,
playParticles = false,
})

配置する

client(config: table ) を構成する

con テーブルの次のキー/値を通じて、デフォルトのクライアント側の設定オプションをオーバーライドします。この関数は LocalScript テーブルの guiType タブからのみで呼び出されることができます。 1>con1> の値に応じて、注釈済みのタブのオプションも適用されま

キー説明デフォルト
guiTypeGUI を形成するコントロールは、エモートを表示するために必要です (EmoteBar.GuiType )。EmoteBar
useTempoユーザーが同じエモートのリズムで同じエモートを繰り返しアクティブにすることで、エモートのプレイ速度を制御できる テンポ 機能を有効にします。はい
tempoActivationWindowユーザーが時間としてカウントされるために、エモートのシーケンシャルアクティベーションの間に入る時間の量。3
lockedImage上にロックされたエモートを表示する画像。「rbxassetid://6905802778」
ローカルスクリプト - エモートバー

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteBar,
maxEmotesPerPage = 6,
nextPageKey = Enum.KeyCode.Z,
prevPageKey = Enum.KeyCode.C,
})
ローカルスクリプト - エモートホイール

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

setEmotes

setEmotes(emotes: table )

使用するカスタムエモートを設定します。これらは、useDefaultEmotestrue である場合、または useDefaultEmotes が 2>force2> である場合にデフォルトに追加されます。この関数は 5>Class.Script5> からのみ呼び出され、

この関数にパスされる各エモートの構造については、エモート を参照してください。

スクリプト - エモートを構成する

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.configureServer({
useDefaultEmotes = false,
})
EmoteBar.setEmotes({
{
name = "Hello",
animation = "rbxassetid://3344650532",
image = "rbxassetid://7719817462",
defaultTempo = 1,
},
{
name = "Applaud",
animation = "rbxassetid://5915693819",
image = "rbxassetid://7720292217",
defaultTempo = 2,
},
})

GUI の可視性を設定

setGuiVisibility(visible: boolean )

エモートGUIを表示または非表示します。この機能は、特定のクライアントの LocalScript からのみ呼び出されることができます。

ローカルスクリプト

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.setGuiVisibility(false)

getEmote

getEmote(emoteName: string): table

名前の エモート を取得します。エモートが見つからない場合は、nil を返します。この関数は、特定のクライアントの LocalScript からのみ呼び出すことができます。

ローカルスクリプト

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
local shrug = EmoteBar.getEmote("Shrug")

プレイエモート

playEmote(emote: エモート )

指定された エモート をプレイし、サーバーに接続されている場合は emotePlayed イベントを発動します。この機能は、特定のクライアント上の LocalScript からのみ呼び出すことができます。

ローカルスクリプト

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
local shrug = EmoteBar.getEmote("Shrug")
EmoteBar.playEmote(shrug)

lockエモート

lockEmote(emoteName: string )

エモート をクライアントの LocalScript でロックします。この関数はクライアントの Class.LocalScript からのみ呼び出されることができます。

ローカルスクリプト

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.lockEmote("Applaud")

Emoteをアンロック

unlockEmote(emoteName: string )

指定された名前で エモート をアンロックします。この関数は、クライアントの LocalScript からのみ呼び出すことができます。

ローカルスクリプト

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.unlockEmote("Applaud")

イベント

emoteプレイ済み

クライアントがエモートをプレイすると、このイベントは LocalScript 内のリアクションに接続できます。

パラメータ
プレイヤー: Playerエモートを実行したプレイヤー。
エモート: エモートプレイされたエモート。
ローカルスクリプト

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)

ロックされたエモート

クライアントがロックされたエモートをクリックすると、このイベントは LocalScript にのみ接続できます。

パラメータ
エモート: エモートアクティブになったロックされたエモート。
ローカルスクリプト

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "clicked", emote.name)
end)