人との交流

アバターは、入力するスペース内での識別子となります。 SocialInteractions開発者モジュールでは、各ユーザーが自分自身と自然な動きをよりよく表現し、バーチャル空間に少しだけ現実的な要素を加えることができます。

このモジュールには、以下の機能が含まれています。

体の向き首と腰の回転を組み合わせて、対応するユーザーのカメラが指す場所、全員のアバターフェイスの頭を作成します。 これは、他の誰かが誰と、または何と対話しているのかについて微妙手がかりを提供します。
チャットアニメーション送信するメッセージの内容に応じて、アバターアニメーションを時折プレイさせることで、バーチャル空間内チャットに活気を与えられます。 各アニメーションを有効にする「トリガーワード」のリストを設定できます。

モジュールの使用法

インストール

バーチャル空間でSocialInteractionsモジュールを使用するには、次の手順に従います。

  1. 表示タブから、ツールボックスを開き、マーケットプレイスタブを選択します。

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

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

  4. Social Interactions(ソーシャルインタラクション)モジュールを見つけてクリックするか、3D ビューにドラッグ&ドロップします。

  5. エクスプローラウィンドウで、SocialInteractionsモデル全体をServerScriptServiceに移動します。 バーチャル空間を実行すると、モジュールはそれ自体をさまざまなサービスに配布し、実行を開始します。

設定

SocialInteractions(ソーシャルインタラクション)モジュールを挿入するだけで、プレース内のボディの向きチャットアニメーション機能が両方有効になります。 デフォルトの動作を調整するには、次の手順に従います。

  1. StarterPlayerScriptsで、新しいLocalScriptを作成して、それをConfigureSocialInteractionsに名前変更します。

  2. 設定関数を使用して、以下のコードをスクリプトに貼り付け、モジュールの動作をカスタマイズします。

    LocalScript

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
    -- Make waist rotation more pronounced and disable the chat animations feature
    SocialInteractions.configure({
    waistOrientationWeight = 0.75,
    useChatAnimations = false,
    })

アニメーションでのチャットのトリガーワード

アニメーションでの各チャットをアクティブ化する「トリガーワード」のリストを設定できます。 また、Lua 文字パターンを使用して、認識可能なワードを増やすことができます。 たとえば、ウェーブアニメーションで使用される組み合わせの 1 つでは、he+y+o*heyheyyyheyoheyyyyoheeeeyyyyo、およびその他のバリエーションがアニメーションをトリガーする資格があります。

また、トリガーワードは大文字小文字を区別しないため、heyを入力すると、HEYHey、その他のバリエーションなどと同じになります。

アニメーションアニメーションIDワードパターン
ウェーブ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+

拍手5911729486

ya+y+    h[ou]+r+a+y+    woo+t*    woo+h+oo+    bravo+    congratulations+    congrats+    gg    pog+    poggers+   

同意4841397952

ye+s*    ye+a+h*    y[eu]+p+    o+k+    o+k+a+y+

同意しない4841401869

no+    no+pe+    yi+ke+s+

肩をすくめる3334392772

not+%s+sure+    idk+    don't%s+know+    i%s+don't%s+know+    who+%s+knows+

笑う3337966527

lo+l+    rof+l+    ha[ha]*    he[he]+

眠る4686925579

zzz+    yawn+

各アニメーションを有効するトリガーワードのリストを設定でき、setTriggerWordsAnimation 関数でさらにアニメーションを追加できます 例えば、以下の LocalScriptは、crazycraaaaaazy のようなトリガー・ワードをサポートするために、cra+zy の文字列パターンに 傾きのアニメーションをリンクします。 また、coolcooooolのような拍手アニメーション用coo+lの追加の文字列パターンも登録します。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- Register string pattern for the "Tilt" animation
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554", {"cra+zy"})
-- Register additional string pattern for the "Applaud" animation
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://5911729486", {"coo+l"})

API リファレンス

関数

設定

configure(config:table):nil

デフォルト設定オプションは、configテーブル内の以下のキー/値を使用して上書きします。 この関数は、LocalScriptからのみ呼び出すことができます。

キー概要デフォルト
useBodyOrientation体の向き機能を切り替えます。true
waistOrientationWeight体の向きは、ウエストと首の回転の組み合わせを使用します。 このパラメータでは、2つのうちのどちらが普及しているかを決定します。 1の値は、ウエストを完全に強調し、0は首を完全に強調します。0.5
useChatAnimations**チャットアニメーションtrue
useDefaultTriggerWordsForChatEmotesチャットアニメーションには、トリガーワ―ドのデフォルトのリストが付属しています。 このパラメータをオフにして、独自のものを提供したい場合、falseに設定します。true
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- Make waist rotation more pronounced and disable the chat animations feature
SocialInteractions.configure({
waistOrientationWeight = 0.75,
useChatAnimations = false,
})

setTriggerWordsForChatAnimation

setTriggerWordsForChatAnimation(animationId:string, triggerWords:table):nil

チャットアニメーション機能に新しいアニメーションを登録します。 テーtriggerWordsブルに含まれる文字列パターンに一致するワードを入力すると、ID が最初のパラメータとして渡されたアニメーションがアクティブ化されます。

トリガーワードは、プレイヤーに対して大文字小文字を区別しないため、woahのパターンでは、woahWOAHWoahなどのチャットのフレーズを受け入れます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- Register new string pattern for a custom animation
SocialInteractions.setTriggerWordsForChatAnimation(
"rbxassetid://3334538554",
{"cra+zy", "woah+"}
)

イベント

onChatPlayed

onChatAnimationPlayed(animationId:string, triggerWord:string): RBXScriptSignal

チャットアニメーションがプレイされると発生します。 接続された関数は、その引数として、アニメーション ID とアニメーションをトリガーしたワードを受け取ります。 このイベントは、LocalScript内でのみ接続できます

パラメータ
animationId:string プレイしたアニメーションID。
triggerWord:stringアニメーションをトリガーしたチャットワード。
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
SocialInteractions.onChatAnimationPlayed:Connect(function(animationId, triggerWord)
print(animationId, triggerWord)
end)