Roblox 連線 是一個你可以呼叫朋友並在你的虛擬人偶中進行對話的體驗,在共享的身臨空間中。從開發者的角度來看,這是一種非複製鎖定的體驗,可以展示 SocialService 和 PlayerViewService 的呼叫相關方法和事件的一種消費方式。可能的使用案例無限,本指南提供了在 Roblox Connect 中使用的例子。
項目概觀
開發人員可以使用現有方法和事件將同步人物通訊介紹到 Roblox 上的任何體驗。一些值得注意的 Roblox Connect 功能亮點和呼叫隱私細節在下面分享。
環境切換器
為了提供更好的身臨其境的通訊體驗,項目包括一個 環境切換器 ,允許玩家從環境到環境移動。當在同一空間置移動環境時,玩家角色會透過 PivotTo() 重新定位。當移動到不同空間點的環境時,玩家會透過 TeleportService 傳送到所需位置。
此外,在私人空間中實現了一個「握手」模型,以確保兩名玩家在實際執行之前同意被移動。如果一名玩家拒絕變更環境的請求,整個交易將被取消,並且沒有玩家被轉移。
對於呼叫來說,傳送到保留的伺服器,所有呼叫參與者都會一起傳送。如果這個傳送條件未達到或傳送本身失敗,呼叫就結束了。

相機模式
Roblox 連線 在預設攝影機模式之外,介紹兩種獨特的攝影機模式,您都可以使用來增強自己的體驗。此外,當切換到各種不同的攝影機模式時,攝影機轉換器會讓切換模式感覺無縫。

圖片內圖
在 畫面內畫 模式中,相機焦點是在你的呼叫夥伴上,你的角色的小畫面浮在屏幕上。此模式也包括頭部追蹤,本地玩家的移動受到限制。

電影效果
電影模式嘗試在所有時間都將兩個玩家角色保持在你的攝影機視區內。玩家移動不受限制,當角色移動時,攝影機偵測到他們的移動並依此調整。

自由遊玩
免費遊戲模式使用預設 Roblox 角色攝影機,讓您在移動時與呼叫夥伴交談。你的伴侶的角色不一定會在檢視野中。
表情條
項目的 表情條 是 表情條 開發模組的複製版。在方塊子之外,模組包含了許多關鍵功能,但 Roblox Connect 需要幾次特定變更,例如一次執行表情後將角色返回到「閒置」狀態。

隱私
如果不在呼叫中的人被添加到保留服務伺服器,或已經在保留服務伺服器上,呼叫就結束了。
API 實作
Roblox 連線 利用新的 SocialService 和 PlayerViewService 方法和事件來構建身臨其境的通訊平台。
SocialService:PromptPhoneBook() 被連接到起始大廳的呼叫按鈕,玩家可以查看聯繫列表並啟動呼叫。在並行中,SocialService.PhoneBookPromptClosed事件連接到恢復按鈕可見度並重新定位攝影機的聆聽器。
SocialService:CanSendCallingInviteAsync() 方法被使用來檢查玩家是否有資格發送呼叫邀請。如果玩家不符合資格(不是 13+ 且不是 電話或身份驗證),會顯示對話訊息。此檢查應在呼叫 PromptPhoneBook() 之前進行。
SocialService.CallInviteStateChanged事件連接到隱藏呼叫按鈕的聆聽器,在玩家等待朋友回答呼叫請邀請時,釋放屏幕空間。此事件可以用於顯示所需的「連接」狀態。
SocialService:ShowSelfView() 和 SocialService:HideSelfView() 被連接到各種相機模式。特別是,呼叫者的自我視圖在 圖像對圖 或 電影模式 中顯示,並隱藏在 自由遊戲 模式中。
PlayerViewService:GetDeviceCameraCFrame() 將裝置映射到工作區攝影機的方向在 圖像對圖 模式中,提供更身臨其境的體驗。這個方法利用玩家的攝影機設備,只適用於移動設備。