社交互動

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

您的虛擬人偶是您在任何空間輸入的身份。 社交互動 開發者模組 讓每個用戶更好地表達自己和其自然的動作,並在體驗中添加一些現實。

此模組包括以下功能:

身體方向 讓人們所有人的虛擬人偶面的頭,其對應的用戶的相機指向,通過頸部和腰部旋轉混合。這提供了一個暗示誰或什麼人正在互動的線索。
聊天動畫 在體驗聊天中增加一些活力,讓虛擬人偶時常播放動畫,視頻發送者的內容取決於發傳送的訊息。發送每個動畫的“觸發字”列表可以設定。

模組使用

安裝

要在體驗中使用 社交互動 模組:

  1. 檢視 標籤開啟 工具箱 並選擇 創作者商店 標籤。

    Toolbox toggle button in Studio
  2. 確認 模型排序 已選擇,然後按一下 查看全部 按鈕 for 類別

  3. 找到並點擊 Dev Modules 磚塊。

  4. 找到 社交互動 模組並點擊它,或將它拖曳到 3D 檢視窗中。

  5. Explorer 窗口中,將整個 SocialInteractions 模型移入 ServerScriptService 。執行體驗時,模組將自動分配到各個服務並開始執行。

設定

只要插入 社交互動 模組就可以啟用你空間置內的 身體方向聊天動畫 功能。 要調整預設行為:

  1. StarterPlayerScripts 中,創建新的 LocalScript 並將其重命名為 ConfigureSocialInteractions

  2. 將以下代碼貼入新的脚指令碼,使用 配置 功能自訂模塊的行為。

    本地指令碼

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
    -- 讓腰部旋轉更明顯,並且停用聊天動畫功能
    SocialInteractions.configure({
    waistOrientationWeight = 0.75,
    useChatAnimations = false,
    })

聊天動畫觸發文字

啟動每個聊天動畫的「觸發字」列表是可配置的,而且使用 Lua 字串模式來提升可識別的字。例如, Wave 動畫使用了 he+y+o*

也注意,提示文字是 不敏感的 ,因此輸入 heyHEY、1> Hey1> 和其他變體相同。

動畫動畫 ID文字樣式
回合3344650532

hell+o+ wa+[sz+u+p+ <

歡呼5911729486

ya+y+     h[ou]+r+a+y+     wo

同意4841397952

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

不同意4841401869

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

舉重3334392772

not+%s+sure+     idk+     don't%s+know+     0> i%s+don't%s+know+0>     not+%s+sure+3>

大笑3337966527

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

睡眠4686925579

zzz+ yawn+

啟動每個動畫的觸發字串是可設定的,並且額外

本地指令碼

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- 註冊字串模式以獲得 "傾斜" 動畫
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554", {"cra+zy"})
-- 註冊額外的字串模式為「歡呼」動畫
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://5911729486", {"coo+l"})

API 參考

功能

設定

設定(配置: table )

config 表中,通過以下鍵值/值來偽裝預設設定選項。此功能只能從 LocalScript 中呼叫。

鑰匙說明預設
useBodyOrientation切換 身體方向 功能。真的
waistOrientationWeight身體方向使用腰部和頸部旋轉的混合物;這個參數決定哪一個是預期的。值 1 放置完整重點在腰上,而 0 放置完整重點在頸上。0.5
useChatAnimations切換 聊天動畫 功能。真的
useDefaultTriggerWordsForChatEmotes聊天動畫來自預設列表的 發言字串。將此參數設為 false 如果你想將它們關閉並提供自擁有。真的
本地指令碼

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- 讓腰部旋轉更明顯,並且停用聊天動畫功能
SocialInteractions.configure({
waistOrientationWeight = 0.75,
useChatAnimations = false,
})

設定聊天動畫的提示文字

設定聊天動畫的觸發文字(animationId: string , triggerWords: table )

在聊天動畫功能中註冊新的動畫。輸入包含在 triggerWords 表中的任何字串匹配字串模式的動畫將啟動傳入的動畫,其 ID 作為第一個參數傳入。

注意,觸發字對玩家來說是woah,因此一個模式的woah會接受2> woah2>、5> woah5>、8> woah8>、和其他變體。

本地指令碼

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- 註冊新字串模式以獲得自訂動畫
SocialInteractions.setTriggerWordsForChatAnimation(
"rbxassetid://3334538554",
{"cra+zy", "woah+"}
)

事件

開始聊天動畫

發生聊天動畫播放時。 連接的函數將接收動畫 ID 和啟動動畫的字串作為其參數。 此事件只能在 LocalScript 中連接。

參數
animationId: string播放的動畫 ID。
triggerScript: string發生動畫的聊天文字。
本地指令碼

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