Roblox Connect 是一个体验,在共享的身临其境空间中,您可以与朋友通话,与您的虚拟形象聊天,就像您的头像。从开发者的角度来看,这是一个非复制锁体验,它显示一个方法来消耗 Class.SocialService 和
项目概览
开发人员可以使用 Roblox 上的任何体验使用当前方法和事件来介绍同步虚拟形象通信。一些有趣的 Roblox Connect 功能高亮和隐私细节在下面共享。
环境切换器
为了提供更好的身临其境通信体验,该项目包含一个 环境切换器 ,允许玩家从环境到环境移动。当移动在同一个场景方之间的环境时,玩家角色通过 PivotTo() 重新定位。当移动到不同的场景方时,玩家通过 Class.Teleport
此外,实现了一个“手shake”模型,以确保私人空间中的两个玩家同意在实际进行之前被关闭。如果一个玩家拒绝更改环境的请求,整个交易将被取消,并且没有玩家被关闭。
有关调用,传送是到保留服务器,所有传送参与者都是传送到一起。 如果此传送条件不满,或者传送自身失败,传送结束。
摄像头模式
Roblox Connect 在默认的摄像头模式之外介绍两种独特的相机模式,您可以使用这些模式来改进您自己的体验。此外,切换不同的相机模式时,一个相机过渡器可以让您在不同模式之间无缝切换。
图片在图片中
在 画面中画面 模式中,相机焦点是在您的调用合作伙伴上,屏幕上悬浮着您的角色的小视图。此模式还包括头部追踪,并且本地玩家的移动受到限制。
电影
电影模式将尝试让您的摄像头视窗中的两个玩家角色始终保持在一起。 玩家移动不受限制,随着角色移动,相机会检测到其移动并适当调整。
自由游戏
免费游戏模式使用默认 Roblox 角色相镜头,让您在移动的同时也可以与您的通话合作伙伴聊天。您的合作伙伴的角色不会总是在查看野中。
表情符号栏
项目的 表情条 是一个克隆的 EmoteBar 开发者模块。 从方块子中,模块包含许多键功能,但 Roblox 连接 需要几个特定更改,例如在执行表演后将角色返回 "Idle" 状态。
隐私
如果不在调用中的人被添加到保留服务器,或者已经在保留服务器上,该调用已结束。
API 实现
Roblox Connect 利用新的 SocialService 和 PlayerViewService 方法和事件来构建身临其境的通信平台。
SocialService:PromptPhoneBook() 已将连接到启动大厅的调用按钮,以便玩家可以查看他们的联系列表并启动通话。同时,SocialService.PhoneBookPromptClosed 事件与恢复按钮的听众连接,以恢复按钮的可见性并重新定位相镜头。
Class.SocialService:CanSendCallingInviteAsync() 方法用于检查玩家是否有资格发送通话邀请。如果玩家不能资格(不是 13+ 并不是 手机或ID 验证),将显示对话框消息。此检查应在调用 PromptPhoneBook() 之前进行。
Class.SocialService.CallInviteStateChanged 事件与隐藏调用按钮的听众连接,当玩家等待其朋友回应通话请求时,屏幕空间会增加。 此事件可用于显示“连接”状态,如果需要。
Class.SocialService:ShowSelfView() 和 SocialService:HideSelfView() 都已经装备在各种相机模式。 具体地,调用者的自视在图片中图或0>电影0>模式中显示,并隐藏在SocialService:ShowSelfView()3>模式中。
PlayerViewService:GetDeviceCameraCFrame() 将设备映射到工作区摄像头位置在 图画在图画 模式下,提供更身临其境的体验。此方法利用玩家的摄像头设备,仅适用于移动设备。