你的虚拟形象是你进入的任何空间中的身份。社交互动开发者模块让每个用户更好地表达自己和自然运动,为体验添加一点现实主义色彩。
该模块包括以下功能:
身体定向 | 使每个人的头像面朝其相应的用户的相机所指之处,通过脖子和腰部旋转的混合,以实现旋转。这提供了一个微妙的线索,告诉你谁或什么别人正在互动。 |
聊天动画 | 通过让虚拟形象时不时播放动画来增加体验聊天的活力,根据他们发送的消息内容来决定动画的内容。启动每个动画的“触发词”列表是可配置的。 |
模块使用
安装
要在体验中使用 社交互动 模块:
确保 模型 排序已选择,然后单击 查看全部 按钮以获取 类别 。
找到并单击 开发模块 瓦片。
找到 社交互动 模块,单击它或拖放到3D视查看中。
在 浏览器 窗口中,将整个 社交互动 模型移至 ServerScriptService 。在运行体验时,模块将分配到各种服务并开始运行。
配置
简单地插入 社交互动 模块将启用你场景置内的 身体定位 和 聊天动画 功能。要调整默认行为:
在 新手玩家脚本 中,创建一个新的 LocalScript 并将其重命名为 配置社交互动 。
将以下代码粘贴到新脚本中,使用 configure 函数来自定义模块的行为。
本地脚本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和其他变化都可以触发动画。
请注意,触发词是 不区分大小写 ,因此输入 hey 与 HEY 、 Hey 等其他变体相同。
动画 | 动画 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 参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)