Interações Sociais

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Seu avatar é sua identidade em qualquer espaço que você inserir/digitar. O SocialInteractions 模块 permite que cada usuário se expresse melhor e seus movimentos naturais, adicionando um toque de realismo à experiência.

Este módulo inclui os seguintes recursos:

Orientação do Corpo Faz a cara do avatar de todos onde sua câmera correspondente está apontando, através de uma mistura de rotação de pescoço e cintura. Isso fornece uma dica sutil de quem ou o que alguém está interagindo.
Animações de Bate-papo Adiciona alguma vida ao chat na experiência, fazendo com que os avatares ocasionalmente joguem animações, dependendo do conteúdo das mensagens que eles enviar. A lista de "palavras-chave" que ativam cada animação é configurável.

Uso de Módulo

Instalação

Para usar o módulo SocialInteractions em uma experiência:

  1. Na aba Ver, abra a caixa de ferramentas e selecione a aba Loja do Criador.

    Toolbox toggle button in Studio
  2. Certifique-se de que a classificação Modelos foi selecionada, então clique no botão Ver Todos para Categorias .

  3. Localize e clique no mosaico Modulos de Desenvolvedor .

  4. Localize o módulo Interações Sociais e clique nele, ou arraste e solte na janela de ver3D.

  5. Na janela Explorer, mova o modelo completo de Interações Sociais para ServerScriptService . Ao executar a experiência, o módulo será distribuído para vários serviços e começará a funcionar.

Configuração

Apenas inserir o módulo SocialInteractions ativará tanto as orientações do corpo quanto as animações de chat dentro do seu local. Para ajustar o comportamento padrão:

  1. In StarterPlayerScripts , create a new LocalScript and rename it to ConfigureSocialInteractions .

  2. Paste o seguinte código no novo script, usando a função configurar para personalizar o comportamento do módulo.

    Script Local

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
    -- Faça a rotação da cintura mais pronunciada e desative o funcionalidadede animações de chat
    SocialInteractions.configure({
    waistOrientationWeight = 0.75,
    useChatAnimations = false,
    })

Animação de Bate-papo

A lista de "palavras-gatilho" que ativam cada animação de chat é configurável e padrões de string Lua são usados para aumentar palavras reconhecíveis. Por exemplo, uma combinação usada pela animaçõesOnda é he+

Além disso, lembre-se de que palavras de gatilho são insensíveis à maiúscula / minúscula, então digitar hey é o mesmo que HEY, 2> Hey2> e outras variações.

AnimaçãoID da AnimaçãoPadrões de Palavra
Onda3344650532

hell+o+     h+i+o*     <

Aplaudir5911729486

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

Concordar4841397952

ye+s*>     ye+a+h*     y[eu]+p+     0> o+k+0>     ye+s*3>

Discordo4841401869

no+     no+pe+     yi+ke+s+

Renda3334392772

not+%s+sure+     idk+     don't%s+know+     0> i%s+don't%s+know+0>     not+%s+sure+3>

Rir3337966527

lo+l+     rof+l+    ha[ha]*    0> he[he+0>

Dormir4686925579

zzz+     yawn+

A lista de palavras-gatilho que ativam cada animação é configurável, e anima

Script Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- Registre o padrão de string para a animações"Tilt"
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554", {"cra+zy"})
-- Registre um padrão de string adicional para a animações"Applaudir"
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://5911729486", {"coo+l"})

Referência da API

Funções

configurar

configurar(config: table )

Substitui as opções de configuração padrão através das seguintes chaves/valores na tabela config. Essa função só pode ser chamada de um LocalScript .

ChaveDescriçãoPadrão
useBodyOrientationAlterna a funcionalidade orientação do corpo .verdade
waistOrientationWeightA orientação do corpo usa uma mistura de rotação de cintura e pescoço; este parâmetro determina qual dos dois é prevalecente. Um valor de 1 coloca o destaque na cintura enquanto 0 coloca o destaque no pescoço.0.5
useChatAnimationsAtiva a funcionalidade animações de chat .verdade
useDefaultTriggerWordsForChatEmotesAnimações de chat vem com uma lista padrão de palavras-chave . Defina esse parâmetro para false se você quiser desligá-las e fornecer sua possuir.verdade
Script Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- Faça a rotação da cintura mais pronunciada e desative o funcionalidadede animações de chat
SocialInteractions.configure({
waistOrientationWeight = 0.75,
useChatAnimations = false,
})

setTokenWordsParaAnimação de Bate-papo

setTriggerWordsForChatAnimation(animationId: string , triggerWords: table )

Registra uma nova funcionalidadena animação de chat. Digitar qualquer palavra que corresponda a um padrão de palavras incluído na tabela triggerWords ativará a animação cujo ID é passado como primeiro parâmetro.

Nota que palavras de gatilho são insensíveis à caixa para os jogadores, então um padrão de woah aceitará frases de bate-papo de woah, 1> WOAH1>, 4> Woah4> e outras variações.

Script Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- Registre um novo padrão de string para uma animaçõespersonalizada
SocialInteractions.setTriggerWordsForChatAnimation(
"rbxassetid://3334538554",
{"cra+zy", "woah+"}
)

Eventos

emAnimação de ChatJogado

Ocorre quando uma animação de chat é executada. A função conectada recebe o ID da animação e a palavra que desencadeou a animação como seus argumentos. Este evento só pode ser conectado em um LocalScript .

Parâmetros
animationId: stringID de animação que jogou.
trigger Word: stringPalavra de bate-papo que desencadeou a animações.
Script Local

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