Interações sociais

O avatar é a sua identidade em qualquer espaço no qual você entre. O módulo de desenvolvedor SocialInteractions permite que cada usuário se expresse melhor e tenha movimentos mais naturais, o que adiciona um toque de realismo à experiência.

O módulo inclui os seguintes recursos:

Orientação do corpoFaz a cabeça dos avatares de todos olhar para onde a câmera do usuário está apontando por meio de uma mistura de rotação do pescoço e da cintura. Isso fornece uma sugestão sutil sobre os avatares com os quais se está interagindo.
Animações do ChatAdiciona vivacidade ao chat dentro da experiência, fazendo com que os avatares toquem animações ocasionalmente dependendo do conteúdo das mensagens que enviam. A lista de "palavras acionadoras" que ativam cada animação pode ser configurada.

Uso do módulo

Instalação

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

  1. Na aba Exibir, abra a Caixa de ferramentas e selecione a aba Mercado.

    Botão de ativação da Caixa de ferramentas no Studio.
  2. Verifique se a ordenação de Modelos está selecionada e, em seguida, clique no botão Exibir Tudo para Categorias.

  3. Encontre e clique no painel DEV MODULES

  4. Encontre o módulo de Interações Sociais e clique nele, ou arraste e solte-o na visualização 3D.

  5. Na janela do Explorador, mova todo o modelo SocialInteractions para o ServerScriptService. Ao executar a experiência, o módulo será distribuído para vários serviços e começará a ser executado.

Configuração

Bastar inserir o módulo SocialInteractions para ativar tanto a orientação de corpo quanto as animações de chat dentro da sua experiência. Para ajustar o comportamento padrão:

  1. Em StarterPlayerScripts, crie um novo Class. LocalScript e renomeie-o para ConfigureSocialInteractions.

  2. Cole o código a seguir em um novo script usando a função configure para personalizar o comportamento do módulo.

    LocalScript

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
    -- Make waist rotation more pronounced and disable the chat animations feature
    SocialInteractions.configure({
    waistOrientationWeight = 0.75,
    useChatAnimations = false,
    })

Palavras de acionamento de animações no chat

A lista de "palavras de acionamento" que ativam cada animação de chat é configurável. Padrões de string em Lua são usados para aumentar o número de palavras reconhecidas. Por exemplo, um combinação usada pela animação de onda, Wave, é he+y+o*, enquanto hey, heyyy, heyo, heyyyyo, heeeeyyyyo e outras variações se qualificam para acionar a animação.

Note que as palavras de acionamento não diferenciam maiúsculas de minúsculas, então digitar hey é o mesmo que HEY, Hey e outras variações.

AnimaçãoID de animaçãoPadrões de palavras
Acenar3344650532

hell+o+    h+i+o*    wa+[sz]+u+p+    y+o+    greetings*    salutations*    goo+d+%smorning+    he+y+o*    howdy+    what's*%s*up+

Aplauso5911729486

ya+y+    h[ou]+r+a+y+    woo+t*    woo+h+oo+    bravo+    congratulations+    congrats+    gg    pog+    poggers+   

Concordo4841397952

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

Discordo4841401869

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

Dar de ombros3334392772

not+%s+sure+    idk+    don't%s+know+    i%s+don't%s+know+    who+%s+knows+

Rir3337966527

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

Dormir4686925579

zzz+    yawn+

A lista de palavras de acionamento que ativam cada animação é configurável. Além disso, animações adicionais podem ser adicionadas por meio da função setTriggerWordsForChatAnimation. Por exemplo, Class. LocalScript a seguir vincula a animação inclinação, Tilt, ao padrão de string de cra+zy para oferecer suporte a palavras como crazy e craaaaaazy. Também registra padrões adicionais de string para coo+l na animação de Aplauso, oferecendo suporte a palavras como cool e coooool.

LocalScript

Onda

Referência de API

Funções

configurar

configure(config:table):nil

Substitui as opções de configuração padrão por meio das chaves-valor na tabela config. Esta função só poder ser chamada de um Class. LocalScript.

ChaveDescriçãoPadrão
useBodyOrientationAtiva o recurso de orientação do corpo.true
waistOrientationWeightA orientação do corpo usa uma mistura de rotação da cintura e do pescoço. Esse parâmetro determina qual dos dois é prevalente. O valor de 1 enfatiza completamente a cintura, enquanto 0 enfatiza o movimento do pescoço.0.5
useChatAnimationsAtiva o recurso de animações de chat.true
useDefaultTriggerWordsForChatEmotesAs animações de chat têm uma lista de padrão de palavras de acionamento. Defina este parâmetro para false se você quiser desligá-lo e fornecer o seu.true
LocalScript

Dar de ombros

setTriggerWordsForChatAnimation

setTriggerWordsForChatAnimation(animationId:string, triggerWords:table):nil

Registra uma nova animação no recurso de animações de chat. Digitar qualquer palavra que corresponda a um padrão de string incluindo na tabela de triggerWords ativa a animação cuja ID foi passada como o primeiro parâmetro.

Note que as palavras de acionamento diferenciam minúsculas de maiúsculas para jogadores, então o padrão de woah aceitará frases e tenham woah, WOAH, Woah e outras variações.

LocalScript

`ya+y+`   
`h[ou]+r+a+y+`   
`woo+t*`   
`woo+h+oo+`   
`bravo+`   
`congratulations+`   
`congrats+`   
`gg`   
`pog+`   
`poggers+`

Eventos

onChatAnimationPlayed

onChatAnimationPlayed(animationId:string, triggerWord:string): RBXScriptSignal

Dispara quando uma animação de chat toca. A função conectada recebe um ID de animação e palavra que acionou a animação como argumentos. O evento só pode ser conectado a um Class. LocalScript.

Parâmetros
animationId: string O ID da animação que foi tocada.
triggerWord: stringPalavra do chat que acionou a animação.
LocalScript

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