社交互动

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

你的虚拟形象是你进入的任何空间中的身份。社交互动开发者模块让每个用户更好地表达自己和自然运动,为体验添加一点现实主义色彩。

该模块包括以下功能:

身体定向 使每个人的头像面朝其相应的用户的相机所指之处,通过脖子和腰部旋转的混合,以实现旋转。这提供了一个微妙的线索,告诉你谁或什么别人正在互动。
聊天动画 通过让虚拟形象时不时播放动画来增加体验聊天的活力,根据他们发送的消息内容来决定动画的内容。启动每个动画的“触发词”列表是可配置的。

模块使用

安装

要在体验中使用 社交互动 模块:

  1. 视图选项卡打开工具箱并选择 创建者商店 选项卡。

    Toolbox toggle button in Studio
  2. 确保 模型 排序已选择,然后单击 查看全部 按钮以获取 类别

  3. 找到并单击 开发模块 瓦片。

  4. 找到 社交互动 模块,单击它或拖放到3D视查看中。

  5. 浏览器 窗口中,将整个 社交互动 模型移至 ServerScriptService 。在运行体验时,模块将分配到各种服务并开始运行。

配置

简单地插入 社交互动 模块将启用你场景置内的 身体定位聊天动画 功能。要调整默认行为:

  1. 新手玩家脚本 中,创建一个新的 LocalScript 并将其重命名为 配置社交互动

  2. 将以下代码粘贴到新脚本中,使用 configure 函数来自定义模块的行为。

    本地脚本

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
    -- 使腰部旋转更加明显并禁用聊天动画功精选
    SocialInteractions.configure({
    waistOrientationWeight = 0.75,
    useChatAnimations = false,
    })

聊天动画触发词

启动每个聊天动画的“触发词”列表是可配置的,Luau 字符串模式被用来增加可识别的单词。例如,由 动画使用的一种组合是he+y+o*,这意味着heyheyyyheyoheyyyyoheeeeyyyyo和其他变化都可以触发动画。

请注意,触发词是 不区分大小写 ,因此输入 heyHEYHey 等其他变体相同。

动画动画 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 参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,
})

设置聊天动画的触发词

设置聊天动画触发词(动画Id: string, 触发词: table)

在聊天动画精选能中注册新的动画。在 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 中连接。

参数
动画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)