Roblox Connect es una experiencia en la que puedes llamar a un amigo y tener una conversación como tus avatares, juntos en un espacio inmersivo compartido.Desde la perspectiva de un desarrollador, es una experiencia no bloqueada de copia que demuestra una forma de consumir los métodos y eventos relacionados con las llamadas de SocialService y PlayerViewService .Los casos de uso posibles son ilimitados y esta guía proporciona ejemplos de cómo se utilizan en Roblox Connect.
Visión general del proyecto
Los desarrolladores pueden introducir la comunicación de avatares sincronizados en cualquier experiencia en Roblox utilizando los métodos y eventos actuales.Algunos de los aspectos destacados de la función Roblox Connect se comparten a continuación y se comparten los detalles de privacidad de la llamada.
Cambiador de entorno
Para proporcionar una mejor experiencia comunicativa inmersiva, el proyecto incluye un cambiador de entorno que permite a los jugadores moverse de entorno en entorno, ambiente.Al moverse entre entornos en el mismo lugar, los personajes de los jugadores se reubican a través de PivotTo() .Al moverse a un entorno en un lugar diferente, los jugadores se teletransportan a través de TeleportService a su ubicación deseada.
Además, se implementa un modelo de "apretón de manos" para asegurar que ambos jugadores en el espacio privado estén de acuerdo en ser reubicados antes de hacerlo en realidad.Si un jugador rechaza la solicitud de cambiar de entorno, se cancela toda la transacción y no se reubican los jugadores.
En lo que respecta a la llamada, el teletransporte es a un servidor reservado y todos los participantes de la llamada se teletransportan juntos.Si no se cumple esta condición de teletransporte o si el propio teletransporte falla, la llamada termina.

Modos de cámara
Roblox Connect introduce dos modos de cámara únicos además del modo de cámara predeterminado, ambos de los cuales puedes utilizar para mejorar tus propias experiencias.Además, al cambiar entre varios modos de cámara, un transicionador de cámara hace que el cambio entre modos sea imperceptible.

Imagen en imagen
En el modo imagen en imagen , el enfoque de la cámara está en tu socio de llamada y una pequeña vista de tu personaje flota en la pantalla.Este modo también incluye seguimiento de cabeza y el movimiento del jugador local está restringido.

Cinemática
El modo cinemático intenta mantener a ambos personajes del jugador dentro de la vista de la cámara en todo momento.El movimiento del jugador no está restringido y, a medida que los personajes se mueven, la cámara detecta su movimiento y lo ajusta en consecuencia.

Juego libre
El modo de juego gratuito utiliza la cámara de personaje predeterminada de Roblox, permitiéndote moverte mientras también hablas con tu compañero de llamada .El carácter de tu pareja no necesariamente estará a la vista.
Barra de emoticonos
La barra de emotes del proyecto es una versión clonada del módulo desarrollador de EmoteBar .Fuera de la caja delimitadora, el módulo contiene muchas características clave, pero Roblox Connect requiere algunos cambios específicos como devolver el personaje al estado de "inactividad" después de realizar la emoción una vez.

Privacidad
Si alguien que no está en la llamada se agrega al servidor reservado, o ya está en el servidor reservado, la llamada termina.
Implementación de API
Roblox Connect aprovecha los nuevos métodos y eventos SocialService y PlayerViewService para construir una plataforma de comunicación inmersiva.
SocialService:PromptPhoneBook() está conectado al botón de llamada en el vestíbulo de inicio para que los jugadores puedan ver su lista de contactos y iniciar una llamada.En conjunto, el evento SocialService.PhoneBookPromptClosed está conectado a un escuchador que restaura la visibilidad del botón y reubica la cámara.
El método SocialService:CanSendCallingInviteAsync() se utiliza para verificar si un jugador es elegible para enviar invitaciones de llamada.Si un jugador no es elegible (no es 13+ y no es teléfono o ID verificado ), se muestra un mensaje de diálogo.Esta comprobación debe realizarse antes de llamar PromptPhoneBook() .
El evento SocialService.CallInviteStateChanged está conectado a un escuchador que oculta el botón de llamada, liberando espacio en la pantalla mientras el jugador espera a que su amigo responda la solicitud de llamada.Este evento se puede usar para mostrar un estado "conectado" si se desea.
SocialService:ShowSelfView() y SocialService:HideSelfView() están conectados a varios modos de cámara.En particular, la vista del llamador se muestra en Modo de imagen en imagen o Modo cinemático, y se oculta en el modo de juego libre.
PlayerViewService:GetDeviceCameraCFrame() mapea el dispositivo a la orientación de la cámara de espacio de trabajo en Modo de imagen en imagen, proporcionando una experiencia más inmersiva.Este método aprovecha el dispositivo de cámara del jugador y solo es aplicable en dispositivos móviles.