你的虛擬人偶是你輸入入任何空間時的身份。社交互動 開發模組 讓每個用戶更好地表達自己和自然運動,為體驗增添一絲現實主義色彩。
此模組包含以下功能:
身體方向 | 使每個人的虛擬人偶頭面指向相應的使用者的攝影機,通過脖子和腰部旋轉的混合,使脖子和腰部旋轉。這提供了一個微妙的線索,告訴我們誰或是什麼別人正在互動。 |
聊天動畫 | 通過讓虛擬人偶時不時播放動畫來增加體驗聊天的活力,根據他們發傳送的消息內容不同,動畫可能會播放不同的內容。啟動每個動畫的「扳機字詞」清單是可配置的。 |
模組使用
安裝
要在體驗中使用 社交互動 模組:
確保 模型 排序已選擇,然後單擊 查看全部 按鈕以獲得 類別 。
找到並點擊 開發模組 磚塊。
找到 社交互動 模組,然後單擊它或拖放到 3D 視檢視中。
在 導航器 窗口中,將整個 社交互動 模型移至 服務器腳本服務 。執行體驗時,模組會分配到各種服務並開始運行。
配置
只需插入 社交互動 模組即可啟用你空間置內的 身體定向 和 聊天動畫 功能。要調整預設行為:
在 新手玩家腳本 中,創建一個新的 LocalScript 並將其重命名為 配置社交互動 。
將以下代碼貼到新腳指令碼中,使用 配置 功能自定義模組的行為。
本地脚本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 字串模式,支持觸發字詞,例如 crazy 和 craaaaaazy 。它還註冊額外的字串模式 coo+l 對於 歡呼 動畫來支持像 cool 和 coooool 這樣的字詞。
本地脚本
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,})
設置聊天動畫的扳機字詞
在聊天動畫功能中註冊新動畫。輸入包含在 triggerWords 表中的字串模式的任何字詞會啟動包含 ID 作為第一個參數的動畫。
請注意,扳機字詞對玩家來說是 不區分大小寫 的,因此 woah 模式將接受 woah、WOAH、Woah 和其他變體的聊天句子。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))-- 為自訂動畫註冊新字串模式SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554",{"cra+zy", "woah+"})
事件
在聊天動畫播放時
當聊天動畫播放時發生火災。連接的功能會收到動畫 ID 和啟動動畫的字串作為其參數。此事件只能在 LocalScript 中連接。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
SocialInteractions.onChatAnimationPlayed:Connect(function(animationId, triggerWord)
print(animationId, triggerWord)
end)