あなたのアバターは、あなたが入るすべての空間でのあなたのアイデンティティです。SocialInteractions 開発者モジュールは、各ユーザーが自分自身とその自然な動きをよりよく表現できるようにし、ゲームにリアリズムを加えます。
このモジュールには、以下の機能が含まれています。
| 体の向き | すべてのアバターの頭が、それぞれのユーザーのカメラが向いている方向を向くように、首と腰の回転を組み合わせて調整します。これにより、他の誰かが誰または何とインタラクトしているのかを示す微妙な手がかりが提供されます。 |
| チャットアニメーション | アバターが送信するメッセージの内容に応じて、アバターが時折アニメーションを再生することで、ゲーム内チャットに活気を加えます。各アニメーションをトリガーする「トリガーワード」のリストは設定可能です。 |
モジュールの使用法
インストール
ゲームでSocialInteractionsモジュールを使用するには:
スタジオのウィンドウメニューまたはホームタブツールバーから、ツールボックスを開き、クリエイターストアタブを選択します。

モデルのソートが選択されていることを確認し、カテゴリのすべて表示ボタンをクリックします。

パッケージタイルを見つけてクリックします。
ソーシャルインタラクションモジュールを見つけてクリックするか、3Dビューにドラッグアンドドロップします。

エクスプローラーウィンドウで、SocialInteractionsモデル全体をReplicatedStorageに移動します。ゲームを実行すると、モジュールが実行を開始します。
設定
SocialInteractionsモジュールを挿入するだけで、あなたの場所内で体の向きとチャットアニメーション機能の両方が有効になります。デフォルトの動作を調整するには:
StarterPlayerScripts内に新しいLocalScriptを作成し、名前をConfigureSocialInteractionsに変更します。

新しいスクリプトに以下のコードを貼り付け、configure関数を使用してモジュールの動作をカスタマイズします。
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage.SocialInteractions)-- 腰の回転をより強調し、チャットアニメーション機能を無効にしますSocialInteractions.configure({waistOrientationWeight = 0.75,useChatAnimations = false,})
チャットアニメーショントリガーワード
各チャットアニメーションをトリガーする「トリガーワード」のリストは設定可能で、Luau文字列パターンを利用して認識可能な単語を増やします。たとえば、Waveアニメーションで使用される組み合わせの1つはhe+y+o*であり、これはhey、heyyy、heyo、heyyyyo、heeeeyyyyoなどのバリエーションがアニメーションをトリガーすることを意味します。
また、トリガーワードは大文字と小文字を区別しないため、heyと入力することはHEY、Hey、および他のバリエーションと同じです。
| アニメーション | アニメーションID | 単語パターン |
|---|---|---|
| Wave | 3344650532 | hell+o+ h+i+o* wa+[sz]+u+p+ y+o+ greetings* salutations* goo+d+%smorning+ he+y+o* howdy+ what's*%s*up+ |
| Applaud | 5911729486 | ya+y+ h[ou]+r+a+y+ woo+t* woo+h+oo+ bravo+ congratulations+ congrats+ gg pog+ poggers+ |
| Agree | 4841397952 | ye+s* ye+a+h* y[eu]+p+ o+k+ o+k+a+y+ |
| Disagree | 4841401869 | no+ no+pe+ yi+ke+s+ |
| Shrug | 3334392772 | not+%s+sure+ idk+ don't%s+know+ i%s+don't%s+know+ who+%s+knows+ |
| Laugh | 3337966527 | lo+l+ rof+l+ ha[ha]* he[he]+ |
| Sleep | 4686925579 | zzz+ yawn+ |
各アニメーションをトリガーするトリガーワードのリストは設定可能で、追加のアニメーションはsetTriggerWordsForChatAnimation関数を介して追加できます。たとえば、次のLocalScriptは、文字列パターンcra+zyを使用してTiltアニメーションをリンクし、crazyやcraaaaaazyのようなトリガーワードをサポートします。また、Applaudアニメーションのためにcoo+lの追加文字列パターンを登録し、coolやcooooolのような単語をサポートします。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage.SocialInteractions)
-- "Tilt"アニメーションのための文字列パターンを登録
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554", {"cra+zy"})
-- "Applaud"アニメーションのための追加文字列パターンを登録
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://5911729486", {"coo+l"})APIリファレンス
関数
configure
configure(config: table)
configテーブル内の以下のキー/値を介してデフォルトの設定オプションをオーバーライドします。この関数はLocalScriptからのみ呼び出すことができます。
| キー | 説明 | デフォルト |
|---|---|---|
| useBodyOrientation | 体の向き機能を切り替えます。 | true |
| waistOrientationWeight | 体の向きは腰と首の回転の組み合わせを使用します。このパラメータは、どちらが優勢であるかを決定します。1の値は腰に完全に重点を置き、0の値は首に完全に重点を置きます。 | 0.5 |
| useChatAnimations | チャットアニメーション機能を切り替えます。 | true |
| useDefaultTriggerWordsForChatEmotes | チャットアニメーションにはデフォルトのトリガーワードのリストが付属しています。これをfalseに設定すると、オフにして独自のものを提供できます。 | true |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage.SocialInteractions)
-- 腰の回転をより強調し、チャットアニメーション機能を無効にします
SocialInteractions.configure({
waistOrientationWeight = 0.75,
useChatAnimations = false,
})setTriggerWordsForChatAnimation
setTriggerWordsForChatAnimation(animationId: string, triggerWords: table)
チャットアニメーション機能に新しいアニメーションを登録します。triggerWordsテーブルに含まれる文字列パターンに一致する単語を入力すると、最初のパラメータとして渡されたアニメーションのIDがアクティブになります。
トリガーワードはプレイヤーに対して大文字と小文字を区別しないため、woahのパターンはwoah、WOAH、Woahなどのチャットフレーズを受け入れます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage.SocialInteractions)
-- カスタムアニメーションのための新しい文字列パターンを登録
SocialInteractions.setTriggerWordsForChatAnimation(
"rbxassetid://3334538554",
{"cra+zy", "woah+"}
)イベント
onChatAnimationPlayed
チャットアニメーションが再生されると発火します。接続された関数は、アニメーションIDとアニメーションをトリガーした単語を引数として受け取ります。このイベントはLocalScript内でのみ接続できます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage.SocialInteractions)
SocialInteractions.onChatAnimationPlayed:Connect(function(animationId, triggerWord)
print(animationId, triggerWord)
end)