Interacciones sociales

Tu avatar es tu identidad en cualquier espacio en el que entres. El módulo de desarrolladores SocialInteractions permite a cada usuario expresarse mejor a sí mismo con movimientos naturales, añadiendo un toque de realismo a la experiencia.

Este módulo incluye las siguientes características:

Orientación del cuerpoHace que la cabeza del avatar de cada uno mire hacia donde apunta la cámara del usuario correspondiente, mediante una mezcla de rotación del cuello y la cintura. Esto proporciona una pista sutil de con quién o con qué está interactuando otra persona.
Animaciones de chatAñade algo de vivacidad al chat de la experiencia haciendo que los avatares reproduzcan animaciones ocasionalmente, en función del contenido de los mensajes que envíen. La lista de "palabras desencadenantes" que activan cada animación es configurable.

Uso del módulo

Instalación

Sigue estos pasos para usar el módulo SocialInteractions en una experiencia:

  1. En la pestaña Ver, abre la Caja de herramientas y selecciona la pestaña Mercado.

    Botón de activación de Caja de herramientas en Studio
  2. Asegúrate de que la clasificación de Modelos esté seleccionada y, a continuación, haz clic en el botón Ver todo para las Categorías.

  3. Busca y haz clic en el mosaico MÓDULOS DE DESARROLLADORES.

  4. Busca el módulo Interacciones sociales y haz clic en él o arrástralo y suéltalo en la vista 3D.

  5. En la ventana del Explorador, mueve todo el modelo de SocialInteractions a ServerScriptService. Al ejecutar la experiencia, el módulo se distribuirá a varios servicios y comenzará a ejecutarse.

Configuración

Simplemente insertando el módulo SocialInteractions habilitará tanto la orientación del cuerpo como las funciones de animaciones de chat dentro de tu lugar. Sigue estos pasos para ajustar el comportamiento predeterminado:

  1. En StarterPlayerScripts, crea un nuevo LocalScript y cámbiale el nombre a ConfigureSocialInteractions.

  2. Pega el siguiente código en el script nuevo y usa la función de configuración para personalizar el comportamiento del 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,
    })

Animación del chat Palabras de activación

La lista de "palabras de activación" que activan cada animación del chat es configurable y los patrones de cadena de Lua se utilizan para aumentar las palabras reconocibles. Por ejemplo, una combinación utilizada por la animación Ola es he+y+o*, lo que significa que hey, heyyy, heyo, heyyyyo, heeeeyyyyo y otras variaciones cumplen los requisitos para activar la animación.

Tenga en cuenta también que las palabras de activación no distinguen entre mayúsculas y minúsculas, por lo que escribir hey es lo mismo que HEY, Hey y otras variaciones.

AnimaciónIdentificación de animaciónPatrones de palabra
Saludar3344650532

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

Aplaudir5911729486

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

De acuerdo4841397952

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

En desacuerdo4841401869

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

Encogerse de hombros3334392772

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

Risa3337966527

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

Sueño4686925579

zzz+    yawn+

La lista de palabras de activación que activan cada animación es configurable, y se pueden añadir animaciones adicionales mediante la función setTriggerWordsForChatAnimation. Por ejemplo, el siguiente LocalScript vincula la animación Inclinar con el patrón de cadena de cra+zy para admitir palabras de activación como crazy y craaaaaazy. También registra un patrón de cadena adicional de coo+l para que la animación Aplaudir admita palabras como cool y coooool.

LocalScript

local ReplicatedStorage = game: GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- Register string pattern for the "Tilt" animation
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554", {"cra+zy"})
-- Register additional string pattern for the "Applaud" animation
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://5911729486", {"coo+l"})

Referencia API

Funciones

configure

configure(config:table):nil

Reemplaza las opciones de configuración predeterminadas a través de las siguientes claves o valores en la tabla config. A esta función solo se puede acceder desde un LocalScript.

ClaveDescripciónPredeterminado
useBodyOrientationActiva la función orientación del cuerpo.true
waistOrientationWeightLa orientación del cuerpo usa una mezcla de rotación de la cintura y el cuello; este parámetro determina cuál de las dos prevalece. Un valor de 1 pone énfasis completo en la cintura, mientras que 0 pone énfasis completo en el cuello.0.5
useChatAnimationsActiva la función animaciones de chat.true
useDefaultTriggerWordsForChatEmotesLas animaciones de chat vienen con una lista predeterminada de palabras de activación. Establece este parámetro en false si deseas desactivarlas y proporcionar las tuyas.true
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- Hacer más pronunciada la rotación de la cintura y desactivar la función de animaciones del chatSocialInteractions.configure({
waistOrientationWeight = 0.75,
useChatAnimations = false,
})

setTriggerWordsForChatAnimation

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

Registra una animación nueva en la función de animación de chat. Al escribir cualquier palabra que coincida con un patrón de cadena incluido en la tabla triggerWords se activará la animación cuya identificación se pasa como primer parámetro.

Ten en cuenta que las palabras de activación no distinguen mayúsculas de minúsculas para los jugadores, por lo que un patrón de woah aceptará frases de chat de woah, WOAH, Woah y otras variaciones.

LocalScript

local ReplicatedStorage = game: GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage:WaitForChild("SocialInteractions"))
-- Register new string pattern for a custom animation
SocialInteractions.setTriggerWordsForChatAnimation(
"rbxassetid://3334538554",
{"cra+zy", "woah+"}
)

Eventos

onChatAnimationPlayed

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

Se activa cuando se reproduce una animación. La función conectada recibe como argumentos la identificación de la animación y la palabra que activó la animación. Este evento solo se puede conectar en un LocalScript.

Parámetros
animationId: string Identificación de animación que reprodujo.
triggerWord: stringPalabra de chat que activó la animación.
LocalScript

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