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:
Na aba Ver, abra a caixa de ferramentas e selecione a aba Loja do Criador.
Certifique-se de que a classificação Modelos foi selecionada, então clique no botão Ver Todos para Categorias .
Localize e clique no mosaico Modulos de Desenvolvedor .
Localize o módulo Interações Sociais e clique nele, ou arraste e solte na janela de ver3D.
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:
In StarterPlayerScripts , create a new LocalScript and rename it to ConfigureSocialInteractions .
Paste o seguinte código no novo script, usando a função configurar para personalizar o comportamento do módulo.
Script Locallocal 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 chatSocialInteractions.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ção | ID da Animação | Padrões de Palavra |
---|---|---|
Onda | 3344650532 | hell+o+ h+i+o* < |
Aplaudir | 5911729486 | ya+y+ h[ou]+r+a+y+ woo |
Concordar | 4841397952 | ye+s*> ye+a+h* y[eu]+p+ 0> o+k+0> ye+s*3> |
Discordo | 4841401869 | no+ no+pe+ yi+ke+s+ |
Renda | 3334392772 | not+%s+sure+ idk+ don't%s+know+ 0> i%s+don't%s+know+0> not+%s+sure+3> |
Rir | 3337966527 | lo+l+ rof+l+ ha[ha]* 0> he[he+0> |
Dormir | 4686925579 | 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
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 .
Chave | Descrição | Padrão |
---|---|---|
useBodyOrientation | Alterna a funcionalidade orientação do corpo . | verdade |
waistOrientationWeight | A 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 |
useChatAnimations | Ativa a funcionalidade animações de chat . | verdade |
useDefaultTriggerWordsForChatEmotes | Animaçõ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 chatSocialInteractions.configure({waistOrientationWeight = 0.75,useChatAnimations = false,})
setTokenWordsParaAnimação de Bate-papo
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çõespersonalizadaSocialInteractions.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: string | ID de animação que jogou. |
trigger Word: string | Palavra 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)