Roblox Connect é uma experiência onde você pode chamar um amigo e ter uma conversa como seus avatares, juntos em um espaço imersivo compartilhado. Da perspectiva de um desenvolvedor, é uma experiência não bloqueada que mostra uma maneira de consumir os métodos e eventos relacionados à chamada de
Visão Geral do Projeto
Os desenvolvedores podem introduzir comunicação de avatar sincrona em qualquer experiência no Roblox usando métodos e eventos atuais. Alguns dos destaques de nota Roblox Connect são compartilhados abaixo.
Mudança de Ambiente
Para fornecer uma experiência de comunicação imersiva melhor, o projeto inclui um 切换环境 que permite que os jogadores se movam de ambiente em ambiente. Quando se mover entre ambientes no mesmo local, os personagens do jogador são reposicionados via PivotTo() . Quando se mover para um ambiente em um local diferente, os
Além disso, um modelo de "handshake" é implementado para garantir que ambos os jogadores no espaço privado concordem em ser relocionados antes de realmente fazer isso. Se um jogador rejeitar a solicitação de mudar de ambiente, a transação inteira é cancelada e nenhum jogador é relocionado.
Em relação à chamada, o teleporte é para um servidor reservado e todos os participantes da chamada são teletransportados juntos. Se esta condição de teleporte não for atendida, ou se a chamada em si falhar, a chamada termina.
Modos de Câmera
Roblox Connect introduz dois modos de câmera além do modo padrão de câmera, ambos dos quais você pode usar para melhorar suas próprias experiências. Além disso, ao alternar entre modos de câmera, um transmissor de câmera faz a transição entre modos sem perder a experiência.
Imagem em imagem
No modo picture-in-price , o foco da câmera está em seu parceiro de chamada e uma pequena janela de sua personagem flutua na tela. Este modo também inclui rastreamento de cabeça e o movimento local do jogador é restrito.
Cinematográfico
O modo cinemático tenta manter ambos os personagens do jogador dentro de sua janela de visualização de câmera em todos os momentos. O movimento do jogador não é restrito e, à medida que os personagens se movem, a câmera detecta seu movimento e ajusta de acordo.
Jogo Livre
O modo livre-jogo usa a Câmerade personagem padrão do Roblox, para que você possa se mover enquanto também fala com seu parceiro de chamada. Seu personagem não será necessariamente visível.
Barra de Emotes
A barra de emotes do projeto é uma versão clonada do módulo de desenvolvedor EmoteBar. Fora da caixa, o módulo contém muitas características-chave, mas Roblox Connect requer algumas alterações específicas, como retornar o personagem ao estado "inativo" após o desempenho do emote uma vez.
Privacidade
Se alguém que não está na chamada for adicionado ao servidor reservado, ou já estiver no servidor reservado, a chamada terminará.
API de implementação
Roblox Connect usa vantagens de novos métodos e SocialService e PlayerViewService métodos e eventos para construir uma plataforma de comunicação imersiva.
SocialService:PromptPhoneBook() está conectado ao botão de chamada no lobby de partida para que os jogadores possam olhar para sua lista de contato e iniciar uma chamada. Em paralelo, o evento SocialService.PhoneBookPromptClosed é conectado a um ouvinte que restaura a visibilidade do botão e reposiciona a Câmera.
O método SocialService:CanSendCallingInviteAsync() é usado para verificar se um jogador está qualificado para enviar convites de chamada. Se um jogador for inelegível (não 13+ e não verificado por telefone ou ID)), uma mensagem de diálogo é exibida. Essa verificação deve ser feita antes de chamar Class.SocialService:PromptPhoneBook()|Prom
O evento SocialService.CallInviteStateChanged está conectado a um ouvinte que oculta o botão de chamada, liberando espaço de tela enquanto o jogador aguarda que seu amigo responda à solicitação de solicitar / pedir. Este evento pode ser usado para mostrar um estado "conectando" se desejar.
Class.SocialService:ShowSelfView() e SocialService:HideSelfView() são conectados a vários modos de câmera. Especificamente, a visão de self do chamador é mostrada em Picture-in-Picture ou 0> Cinematic0> modo, e oculta em SocialService:ShowSelfView()3> modo.
PlayerViewService:GetDeviceCameraCFrame() mapa o dispositivo para a câmera de trabalho em espaço de trabalho, fornecendo uma experiência mais imersiva. Este método leva em consideração o dispositivo da câmera do jogador e só se aplica a dispositivos móveis.