社交交互

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

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

此模块包括以下功能:

身体方向 使头部的虚拟形象面部的所有人的头部,其相应的用户的相机指向,通过混合项链和腰部旋转。 这提供了一个暗示,谁或什么人正在与之交互。
聊天动画 通过在体验聊天中添加一些活力来增强聊天的互动。当发送消息的内容需要时,虚拟形象会播放动画,这取决于它们发送的消息内容。启用每个形象的“触发字符”列表是可配置的。

模块使用

安装

要在体验中使用 SocialInteractions 模块:

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

    Toolbox toggle button in Studio
  2. 确保 模型排序 已选择,然后单击 查看所有 按钮为 类别

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

  4. 找到 社交交互 模块,然后单击它,或者将其拖放到3D视查看中。

  5. Explorer 窗口中,将整个 SocialInteractions 模型移到 ServerScriptService 。运行体验时,模块将分配到各个服务并开始运行。

配置

只需单击插入 社交交互 模块即可启用您的场景置内的 身体方向聊天动画 功能。 要调整默认行为:

  1. StarterPlayerScripts 中,创建一个新的 LocalScript 并将其重命名为 配置社交交互

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

    本地脚本

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

聊天动画触发词

列出“触发单词”,它们激活每个聊天动画的,是可配置的,而且Lua字符串模式是用于提高可识别的单词。例如,使用 Wave 动画的一个组合是 he+y+o*

还注意,触发词是 不敏感的 ,因此输入 heyHEY 无异,1> Hey1> 和其他变体。

动画动画ID字符串模式
3344650532

hell+o+     h+i+o*    

欢呼5911729486

ya+y+     h[ou]+r+a+y+     woo+

同意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+

激活每个动画的触发字符列表是可配置的,通过 设置TriggerW

本地脚本

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- 注册“斜”动画的字符串模式
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554", {"cra+zy"})
-- 为“Applaud”动画注册额外的字符串模式
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://5911729486", {"coo+l"})

API 引用

函数

配置

配置(配置: table )

通过 config 表中的以下键/值来覆盖默认配置选项。此功能仅从 LocalScript 中调用。

钥匙描述默认
useBodyOrientation切换 身体方向 精选能。真的
waistOrientationWeight身体 orientierung 使用腰部和颈部旋转的混合物;这个参数决定哪一个是预期的。一个值的 1 放置重点在腰部,而 0 放置重点在颈部。0.5
useChatAnimations切换 聊天动画 精选能。真的
useDefaultTriggerWordsForChatEmotes聊天动画来 with a 默认列表 of 触发字符 . 设置此参数 to 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 , 1> woah1> , 4> woah4> ,和其他变体。

本地脚本

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- 注册新的字符串模式以实现自定义动画
SocialInteractions.setTriggerWordsForChatAnimation(
"rbxassetid://3334538554",
{"cra+zy", "woah+"}
)

事件

聊天动画已玩

当聊天动画播放时,连接的函数接收动画ID并将其作为其参数的字符串。此事件只能在 LocalScript 中连接。

参数
animationId: string玩过的动画ID。
触发字符: string触发动画的聊天字符。
本地脚本

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