Roblox Connect 是一個您可以呼叫朋友並與他們共同在共享式震沉體驗空間聊天的體驗。從開發人員的角度來看,這是一個非複製的體驗,它展示了一種消耗通話相關方法和事件的方
項目概貌
開發人員可以使用 Roblox 的現有方法和事件來開發任何體驗上的同步虛擬人偶通訊。一些重要的 Roblox Connect 功能高亮和分享隱私細節如下所示。
環境切換器
為了提供更好的身體交互體驗,項目包含一個 環境切換器 ,可以讓玩家從環境到環境移動。當在同一個空間方移動時,玩家角色會重新位置由 PivotTo() 。當在不同的空間方移動時,玩家角色
此外,「手shake」模型也是實現了在私人空間中的玩家之間是否同意被關閉之前進行移動的問題。如果一名玩家拒絕要變更環境的請求,整個交易將取消,並且沒有玩家被移動。
有關呼叫,傳輸是到預留伺服器,並且所有呼叫參與者都會傳輸一起。如果此傳輸狀況不能被滿足,或者傳輸自身失敗,呼叫將會結束。
鏡頭模式
Roblox Connect introduces two unique camera modes in addition to the default camera mode, both of which you can use to enhance your own體驗。此外,當切換不同的攝影模式時,攝影轉換器會讓您在不同模式之間無縫切換。
圖像在圖像中
在 圖片中圖片 模式中,鏡頭焦點是在您的呼叫夥伴上,屏幕上漂浮的角色小視圖。這種模式還包括頭部追蹤,並且本地玩家的移動受到限制。
電影
電影模式嘗試將兩個玩家角色都保持在您的視頻窗口內,以便在任何時間都能夠看到監視器。玩家移動不受限制,而且隨著角色移動,監視器會偵測到他們的移動並隨之調整。
自由遊戲
免費遊戲 模式使用預設 Roblox 角色攝影機,讓您在移動的同時也可以和您的呼叫夥伴聊天。您的夥伴的角色不見得一定會在檢視線中。
表情符號欄
項目的 表情欄 是 EmoteBar 開發模組的複製版。從方塊子中,模組包含很多關鍵功能,但 Roblox Connect 需要幾個特殊變更,例如在執行表情動作後將角色變更為 "Idle" 狀態。
隱私
如果沒有在呼叫中的人被添加到保留服務伺服器,或者已經在保留服務伺服器中,呼叫將會結束。
API 實現
Roblox Connect 利用全新 SocialService 和 PlayerViewService 方法和事件來構建一個身临其境的通訊平台。
SocialService:PromptPhoneBook() 已連接到開始大廳的呼叫按鈕,以便玩家可以查看他們的聯絡清單並啟動呼叫。 在雙方的情況下,SocialService.PhoneBookPromptClosed 事件與接收器連接,恢復按鈕的可視性並重新定位相攝影機。
Class.SocialService:CanSendCallingInviteAsync() 方法是用於檢查玩家是否資格發送呼叫邀請。如果玩家不資格 (不是 13+ 並且不是 電話或ID 驗證 ),會顯示對話框。此檢查應在呼叫 Class.SocialService:PromptPhoneBook()|PromptPhoneBook() 之前進行。
Class.SocialService.CallInviteStateChanged 事件連接到一個讓屏幕空間Class.SocialService.CallInviteState 按鈕隱藏,而不需要播放器等待其朋友回應呼叫請邀請。這個事件可以用來顯示「連接」狀態,如果需要。
Class.SocialService:ShowSelfView() 和 SocialService:HideSelfView() 隨機連接到各種攝影模式。 特別是,呼叫者的自檢視在圖片中的圖片或0>電影中的電影0>模式中顯示,並在SocialService:ShowSelfView()3>模
- Class.PlayerViewService:GetDeviceCameraCFrame() 將裝置傳送到 圖片中圖片 模式,提供更身靈體驗。此方法利用玩家的攝影機設備,並且僅適用於移動裝置。