您的虛擬人偶是您在任何空間輸入的身份。 社交互動 開發者模組 讓每個用戶更好地表達自己和其自然的動作,並在體驗中添加一些現實。
此模組包括以下功能:
身體方向 | 讓人們所有人的虛擬人偶面的頭,其對應的用戶的相機指向,通過頸部和腰部旋轉混合。這提供了一個暗示誰或什麼人正在互動的線索。 |
聊天動畫 | 在體驗聊天中增加一些活力,讓虛擬人偶時常播放動畫,視頻發送者的內容取決於發傳送的訊息。發送每個動畫的“觸發字”列表可以設定。 |
模組使用
安裝
要在體驗中使用 社交互動 模組:
確認 模型排序 已選擇,然後按一下 查看全部 按鈕 for 類別 。
找到並點擊 Dev Modules 磚塊。
找到 社交互動 模組並點擊它,或將它拖曳到 3D 檢視窗中。
在 Explorer 窗口中,將整個 SocialInteractions 模型移入 ServerScriptService 。執行體驗時,模組將自動分配到各個服務並開始執行。
設定
只要插入 社交互動 模組就可以啟用你空間置內的 身體方向 和 聊天動畫 功能。 要調整預設行為:
在 StarterPlayerScripts 中,創建新的 LocalScript 並將其重命名為 ConfigureSocialInteractions 。
將以下代碼貼入新的脚指令碼,使用 配置 功能自訂模塊的行為。
本地指令碼local ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))-- 讓腰部旋轉更明顯,並且停用聊天動畫功能SocialInteractions.configure({waistOrientationWeight = 0.75,useChatAnimations = false,})
聊天動畫觸發文字
啟動每個聊天動畫的「觸發字」列表是可配置的,而且使用 Lua 字串模式來提升可識別的字。例如, Wave 動畫使用了 he+y+o*
也注意,提示文字是 不敏感的 ,因此輸入 hey 與 HEY、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 參考
功能
設定
在 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會接受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 中連接。
本地指令碼
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
SocialInteractions.onChatAnimationPlayed:Connect(function(animationId, triggerWord)
print(animationId, triggerWord)
end)