社交互動

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

你的虛擬人偶是你輸入入任何空間時的身份。社交互動 開發模組 讓每個用戶更好地表達自己和自然運動,為體驗增添一絲現實主義色彩。

此模組包含以下功能:

身體方向 使每個人的虛擬人偶頭面指向相應的使用者的攝影機,通過脖子和腰部旋轉的混合,使脖子和腰部旋轉。這提供了一個微妙的線索,告訴我們誰或是什麼別人正在互動。
聊天動畫 通過讓虛擬人偶時不時播放動畫來增加體驗聊天的活力,根據他們發傳送的消息內容不同,動畫可能會播放不同的內容。啟動每個動畫的「扳機字詞」清單是可配置的。

模組使用

安裝

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

  1. 視圖標籤開啟工具箱,然後選擇 創作者商店 標籤。

    Toolbox toggle button in Studio
  2. 確保 模型 排序已選擇,然後單擊 查看全部 按鈕以獲得 類別

  3. 找到並點擊 開發模組 磚塊。

  4. 找到 社交互動 模組,然後單擊它或拖放到 3D 視檢視中。

  5. 導航器 窗口中,將整個 社交互動 模型移至 服務器腳本服務 。執行體驗時,模組會分配到各種服務並開始運行。

配置

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

  1. 新手玩家腳本 中,創建一個新的 LocalScript 並將其重命名為 配置社交互動

  2. 將以下代碼貼到新腳指令碼中,使用 配置 功能自定義模組的行為。

    本地脚本

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

聊天動畫觸發字詞

啟動每個聊天動畫的「扳機字詞」清單是可配置的,並使用 Luau 字串模式來增加可辨識的字詞。例如,由 動畫使用的一種組合是 he+y+o* , 意味著 hey , heyyy , heyo , heyyyyo , heeeeyyyyo 和其他變化都符合啟動動畫的資格。

請注意,觸發字詞是 不區分大小寫 ,因此輸入 與 等變體是相同的。

動畫動畫 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+

啟動每個動畫的觸發字詞清單是可配置的,額外的動畫可以通過 setTriggerWordsForChatAnimation 函數添加。例如,以下 LocalScript 鏈接 傾斜 動畫與 cra+zy 字串模式,支持觸發字詞,例如 crazycraaaaaazy 。它還註冊額外的字串模式 coo+l 對於 歡呼 動畫來支持像 coolcoooool 這樣的字詞。

本地脚本

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

API 參考

功能

設定

設定(config: 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 模式將接受 woahWOAHWoah 和其他變體的聊天句子。

本地脚本

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

事件

在聊天動畫播放時

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

參數
動畫ID:string播放的動畫 ID。
扳機字詞:string引發動畫的聊天字詞。
本地脚本

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