エモートは、あらゆるソーシャルエクスペリエンスのコアコンポーネントです。 エモートバー 開発者モジュール は、プレイヤーに意義のあるソーシャルインタラクションを容易にするために、アクセス可能でカスタマイズ可能な方法を提供します。
モジュール使用
インストール
エクスペリエンスで EmoteBar モジュールを使用するには:
モデル ソートが選択されていることを確認してから、 すべてを表示 ボタンをクリックして、 カテゴリ のための 1>ボタン1> をクリックします。
デバッグモジュール タイルを見つけてクリックします。
エモートバー モジュールを見つけ、クリックするか、3D ビューにドラッグアンドドロップします。
In the エクスプローラー window, move the entire エモートバー model into ServerScriptService . エクスペリエンスを実行すると、モジュールはさまざまなサービスに分配され、実行を開始します。
構成
モジュールは 7つのエモート でプリコンフィギュアされており、自分のエモートとディスプレイオプションを簡単にカスタマイズできます。さらに、プレイヤーが Lil Nas X、Royal Blood や Twenty One Pilots などの Roblox イベントのエモートを所有している場合、それらのエモートは自動的にリストのエモートに追加されます。
In ServerScriptService で、新しい Script を作成し、 ConfigureEmotes に名前を変更します。
新しい 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 を構成する
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,})
配置する
con テーブルの次のキー/値を通じて、デフォルトのクライアント側の設定オプションをオーバーライドします。この関数は LocalScript テーブルの guiType タブからのみで呼び出されることができます。 1>con1> の値に応じて、注釈済みのタブのオプションも適用されま
キー | 説明 | デフォルト |
---|---|---|
guiType | GUI を形成するコントロールは、エモートを表示するために必要です (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
使用するカスタムエモートを設定します。これらは、useDefaultEmotes が true である場合、または 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 の可視性を設定
エモートGUIを表示または非表示します。この機能は、特定のクライアントの LocalScript からのみ呼び出されることができます。
ローカルスクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.setGuiVisibility(false)
getEmote
名前の エモート を取得します。エモートが見つからない場合は、nil を返します。この関数は、特定のクライアントの LocalScript からのみ呼び出すことができます。
ローカルスクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")
プレイエモート
指定された エモート をプレイし、サーバーに接続されている場合は emotePlayed イベントを発動します。この機能は、特定のクライアント上の LocalScript からのみ呼び出すことができます。
ローカルスクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")EmoteBar.playEmote(shrug)
lockエモート
エモート をクライアントの LocalScript でロックします。この関数はクライアントの Class.LocalScript からのみ呼び出されることができます。
ローカルスクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.lockEmote("Applaud")
Emoteをアンロック
指定された名前で エモート をアンロックします。この関数は、クライアントの LocalScript からのみ呼び出すことができます。
ローカルスクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.unlockEmote("Applaud")
イベント
emoteプレイ済み
クライアントがエモートをプレイすると、このイベントは LocalScript 内のリアクションに接続できます。
ローカルスクリプト
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)