Roblox Connect ist ein Erlebnis, in dem du einen Freund anrufen und ein Gespräch als deine Avatare führen kannst, zusammen in einem gemeinsamen immersiven Platz.Aus der Perspektive eines Entwicklers ist es ein nicht kopierbares Erlebnis, das eine Möglichkeit zeigt, die anrufbezogenen Methoden und Ereignisse von SocialService und PlayerViewService zu konsumieren.Die möglichen Anwendungsfälle sind endlos und dieser Leitfaden gibt Beispiele, wie sie in Roblox Connect verwendet werden.
Projektübersicht
Entwickler können die synchronisierte Avatar-Kommunikation in jede Erfahrung auf Roblox einführen, indem sie aktuelle Methoden und Ereignisse verwenden.Einige der bemerkenswerten Roblox Connect-Funktionen und Details der Anrufprivatsphäre werden unten geteilt.
Umgebungsschalter
Um eine bessere immersive kommunikative Erlebniszu bieten, enthält das Projekt einen Umgebungsschalter , mit dem Spieler von Umgebung zu Umgebung wechseln können.Wenn sich Spielercharaktere zwischen Umgebungen am selben Ort bewegen, werden sie über PivotTo() neu positioniert.Wenn sich Spieler in eine Umgebung an einem anderen Ort bewegen, werden sie via TeleportService zu ihrem gewünschten Standort teleportiert.
Zusätzlich wird ein "Handshake"-Modell implementiert, um sicherzustellen, dass beide Spieler im privaten Raum zustimmen, bevor sie sich tatsächlich umziehen.Wenn ein Spieler die Anfrage auf Umgebungswechsel ablehnt, wird die gesamte Transaktion abgebrochen und keine Spieler werden umgesiedelt.
In Bezug auf den Anruf, teleportiert wird zu einem reservierten Server und alle Anrufteilnehmer werden zusammen teleportiert.Wenn diese Teleportbedingung nicht erfüllt ist oder der Teleport selbst fehlschlägt, endet der Anruf.

Kameramodi
Roblox Connect stellt zwei einzigartige Kameramodi neben dem Standard-Kameramodus bereit, die Sie beide nutzen können, um Ihre eigenen Erfahrungen zu verbessern.Darüber hinaus, wenn Sie zwischen verschiedenen Kameramodi wechseln, macht ein Kameratransitor den Wechsel zwischen Modi nahtlos.

Bild im Bild
Im Bild im Bild -Modus ist der Kamerafokus auf deinen Anrufpartner gerichtet, und eine kleine Ansicht deines Charakters schwebt auf dem Bildschirm.Dieser Modus beinhaltet auch Kopfverfolgung und die Bewegung des lokalen Spieler:inist eingeschränkt.

Kinematisch
Der filmische Modus versucht, beide Spielercharaktere ständig in Ihrem Kamera-Ansichtsfenster zu halten.Die Bewegung des Spielers ist nicht eingeschränkt und, da sich die Charaktere bewegen, erkennt die Kamera ihre Bewegung und passt sich entsprechend an.

Freispiel
Der Freispiel -Modus verwendet die Kamera, so dass du dich bewegen kannst, während du auch mit deinem Anrufpartner sprichst.Der Charakter deines Partners wird nicht unbedingt im Ansichtsein.
Emote-Leiste
Die Emote-Leiste des Projekts ist eine kopierte Version des EmoteBar Entwicklermoduls.Aus der Auswahlboxenthält das Modul viele Schlüsselfunktionen, aber Roblox Connect erfordert einige spezifische Änderungen wie die Rückkehr des Charakters in den "untätig"-Zustand nach einmaliger Ausführung des Emotes.

Privatsphäre
Wenn jemand, der nicht am Anruf teilnimmt, auf den reservierten Server hinzugefügt wird oder bereits auf dem reservierten Server ist, endet der Anruf.
API-Implementierung
Roblox Connect nutzt neue SocialService und PlayerViewService Methoden und Ereignisse, um eine immersive Plattformaufzubauen.
SocialService:PromptPhoneBook() ist mit dem Anrufknopf in der Startlobby verbunden, damit Spieler ihre Kontaktliste anzeigen und einen Anruf starten können.Im Tandem ist das SocialService.PhoneBookPromptClosed-Ereignis mit einem Zuhörer verbunden, der die Sichtbarkeit der Schaltfläche wiederherstellt und die Kamera neu positioniert.
Die Methode SocialService:CanSendCallingInviteAsync() wird verwendet, um zu überprüfen, ob ein Spieler berechtigt ist, Anrufeinladungen zu senden.Wenn ein Spieler nicht elegibel ist (nicht 13+ und nicht Telefon oder ID verifiziert), wird eine Dialognachricht angezeigt.Diese Prüfung sollte erfolgen, bevor PromptPhoneBook() aufgerufen wird.
Das Ereignis SocialService.CallInviteStateChanged ist mit einem Zuhörer verbunden, der den Anrufknopf versteckt, wodurch Bildschirmplatz freigeschaltet wird, während der Spieler darauf wartet, dass sein Freund die Anfragebeantwortet.Dieses Ereignis kann verwendet werden, um einen "verbindenden" Zustand anzuzeigen, wenn gewünscht.
SocialService:ShowSelfView() und SocialService:HideSelfView() sind mit verschiedenen Kameramodi verbunden.Im Besonderen wird die Selbstansicht des Anrufers in Bild im Bild oder filmisch Modus angezeigt und im Freispielmodus versteckt.
PlayerViewService:GetDeviceCameraCFrame() maps Gerät zur Orientierung der Arbeitsplatzkamera im Bild im Bild-Modus, um ein immersiveres Erlebnis zu bieten.Diese Methode nutzt das Kameragerät des Spieler:inund ist nur auf mobilen Geräten anwendbar.