Roblox Connect es una experiencia donde 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 copiable que muestra una manera de consumir las métodos y eventos relacionados con la llamada de Class
Resumen del proyecto
Los desarrolladores pueden introducir la comunicación de avatar sincrona en cualquier experiencia en Roblox utilizando métodos y eventos actuales. Algunas de las notables características de Roblox Connect se comparten a continuación.
Cambiador de Entorno
Para proporcionar una mejor experiencia comunicativa inmersiva, el proyecto incluye un 切换器 de entorno que permite a los jugadores moverse de un entorno a entorno, ambiente. Cuando se mueve entre los entornos en el mismo lugar, los personajes de los jugadores se reposicionan a través de PivotTo() . Cuando se mueve a un
Además, se implementa un modelo de "handshake" para garantizar que ambos jugadores en el espacio privado estén de acuerdo en ser relocados antes de hacerlo. Si un jugador rechaza la solicitud para cambiar de entorno, toda la transacción se cancela y no se reloca ningún jugador.
En lo que se refiere a la llamada, la teletransportación es a un servidor reservado y todos los participantes de la llamada son teletransportados juntos. Si esta condición de teletransportación no se cumple, o si la teletransportación en sí misma falla, la llamada termina.
Modos de cámara
Roblox Connect introduce dos modos de cámara adicionales al modo de cámara por defecto, ambos de los cuales puedes usar para mejorar tus propias experiencias. Además, cuando cambias entre modos de cámara, un transicionista de cámara hace que cambiar entre modos se sienta más fluido.
Imagen en la Imagen
En el modo picture-in-price , el enfoque de la cámara está en su compañero de llamada y una pequeña vista de su personaje flota en la pantalla. Este modo también incluye el seguimiento de cabeza, y el movimiento del jugador local está restringido.
Cinemático
El modo cinemático intenta mantener ambos personajes del jugador dentro de su campo de visión 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 según sea necesario.
Juego Libre
El modo freeplay usa la cámara de personaje de Roblox por defecto, para que puedas moverte mientras hablas con tu compañero de llamada. Tu compañero de llamada no necesariamente estará en la vista.
Barra de emotes
La barra de emotes del proyecto es una versión clonada del módulo de desarrollo 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 "inactividad" después de realizar el emote 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.
API de implementación
Roblox Connect aprovecha las nuevas metodologías de SocialService y PlayerViewService para construir una plataforma de comunicación inmersiva.
SocialService:PromptPhoneBook() está conectado a la llamada botón en el lobby inicial para que los jugadores puedan mirar a su lista de contactos y iniciar una llamada. En conjunto, el evento SocialService.PhoneBookPromptClosed está conectado a un receptor que restaura la visibilidad del botón y reposiciona la cámara.
El método SocialService:CanSendCallingInviteAsync() se utiliza para verificar si un jugador es elegible para enviar invitaciones de llamadas. Si un jugador no es elegible (no es 13+ y no es teléfono o ID verificado), se muestra un mensaje de diálogo. Este cheque debería hacerse antes de llamar Class.SocialService:PromptPhoneBook()|Prompt
El evento SocialService.CallInviteStateChanged está conectado a un oyente que oculta el botón de llamada, liberando espacio de pantalla mientras el jugador espera a que su amigo responda la solicitud de llamada. Este evento se puede usar para mostrar un estado de "conexión" si lo desea.
Class.SocialService:ShowSelfView() y SocialService:HideSelfView() están conectados a varios modos de cámara. En particular, la vista del invitado se muestra en Picture-in-Picture o 0> Cinematic0> modo, y se oculta en el modo SocialService:ShowSelfView()3>.
PlayerViewService:GetDeviceCameraCFrame() mapa el dispositivo a la cámara de trabajo en el modo Picture-in-Picture, proporcionando una experiencia más inmersiva. Este método se basa en el dispositivo de cámara del jugador y solo se aplica a los dispositivos móviles.