您的虚拟形象是您在任何您进入的空间中的身份。 社交交互 开发者模块 让每个用户更好地表达自己和其自然运动,并添加一些现实主义到体验。
此模块包括以下功能:
身体方向 | 使头部的虚拟形象面部的所有人的头部,其相应的用户的相机指向,通过混合项链和腰部旋转。 这提供了一个暗示,谁或什么人正在与之交互。 |
聊天动画 | 通过在体验聊天中添加一些活力来增强聊天的互动。当发送消息的内容需要时,虚拟形象会播放动画,这取决于它们发送的消息内容。启用每个形象的“触发字符”列表是可配置的。 |
模块使用
安装
要在体验中使用 SocialInteractions 模块:
确保 模型排序 已选择,然后单击 查看所有 按钮为 类别 。
找到并单击 开发者模块 地瓦片。
找到 社交交互 模块,然后单击它,或者将其拖放到3D视查看中。
在 Explorer 窗口中,将整个 SocialInteractions 模型移到 ServerScriptService 。运行体验时,模块将分配到各个服务并开始运行。
配置
只需单击插入 社交交互 模块即可启用您的场景置内的 身体方向 和 聊天动画 功能。 要调整默认行为:
在 StarterPlayerScripts 中,创建一个新的 LocalScript 并将其重命名为 配置社交交互 。
使用 配置 函数将以下代码粘贴到新脚本中,以自定义模块的行为。
本地脚本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+ 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 引用
函数
配置
通过 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,})
设置聊天动画的关键字
在聊天动画精选能中注册一个新的动画。键入任何与字符串模式包含在 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 中连接。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
SocialInteractions.onChatAnimationPlayed:Connect(function(animationId, triggerWord)
print(animationId, triggerWord)
end)