应用云渲染 如何实现多人互动

适用于多人互动、直播等云渲染相关业务场景,将单人/多人游戏上传至云端。主播可以在任意设备上一键开启对应的游戏,通过在直播间接入互动功能,观众可以通过打赏或被邀请的方式,获得多人游戏其中一个角色的控制权。游戏画面通过云端推流,可以实时在直播间观看。在此功能下,可以实现游戏云PK、云开黑、云助玩等场景。提升直播间人气和礼物收益。

相关产品
应用云渲染 产品页,含版本规格、价格与购买入口。

一、客户场景与实践

你可以在 全真技术体验馆-直播间多人互动游戏 中,体验直播间多人互动玩法。

二、场景1:多人互动直播

·业务背景:某直播厂商,需实现主播直播时与粉丝游戏互动。

·实现逻辑:

·主播开播时,通过连接云游戏创建房间,粉丝可以向主播发起加入房间申请或者通过主播提供的邀请连接,进入房间与主播进行多人游戏。

·其他粉丝可以通过直播观看主播与粉丝的游戏互动直播画面。

三、场景2:多人擂台游戏

·业务背景:某云游戏厂商,需实现多人擂台云游戏。

·实现逻辑:

·管理员创建云游戏房间。

·其他玩家可以排队依次进入进行擂台 PK 游戏,胜利者继续游戏,失败者切换角色或退出。

四、快速接入

首先,你需要拥有一个可在 Windows 环境下稳定运行的应用程序,在应用层面开发实现必要的功能,例如应用程序内实现了以下功能:

包括基本的游戏场景,至少支持1~4个玩家加入,通过手柄控制控制游戏。

在你具备应用软件的情况时,操作步骤如下:

1.开通 应用云渲染产品 服务。

2.参考 快速入门 的操作指引,完成应用的部署。

3.参考 接入Demo,完成前后端的部署,通过云端环境成功启动应用。

在完成以上步骤后,你需参照下方多人互动的详细指引进行接入。同时可以参考文档实现 推流画面到直播间。

五、多人互动玩法概念说明

多人互动玩法可以抽象理解为一个云渲染房间+直播流(可选)的形式。房间由云渲染玩家(房主)创建后,其他玩家(互动观众)可通过房主的 UserId 加入同一房间,同一房间内的所有用户通过云渲染连接看到同一个云端画面。

六、业务用户说明

·房主:创建房间的用户

·管理他人是否拥有控制权(点击、键鼠、手柄等操作,针对应用配置)。

·管理房间内所有人的麦克风状态。

·互动观众:加入其他人房间的玩家,有 Player 和 Viewer 两种角色状态

·需要向房主申请控制权。

·当被房主赋予控制权时,是 Player 角色,有游戏的控制权。

·当未被房主赋予控制权时,是 Viewer 角色,无游戏的控制权。

·可以控制自身麦克风的开关。

·普通观众:直播间通过直播流观看的用户,未连接云渲染实例

无其他权限的普通直播间观众,仅能通过直播流观看画面。

七、云渲染角色说明

·Host:房间最初的创建者

拥有切换互动观众身份的能力,当 host 角色退出后,房间将立即被销毁,所有互动观众自动退出。

·Player:互动观众拥有游戏控制权的状态,可操控游戏

人数默认最多为7人,实际人数需与对应游戏可支持的玩家人数一致。

·Viewer:互动观众没有游戏控制权的状态,仅支持观看

人数默认最多为7人。

注意:说明:

八、开通服务

在控制台 多人互动页面,开通该增值功能。

九、房主创建房间

1. 房主客户端向业务后台发起启动云渲染请求,业务后台通过调用 ApplyConcurrent() 申请锁定云渲染并发。

2. 业务后台通过调用 CreateSession() 创建会话,其中请求参数 HostUserId 需要与 UserId 相同,Role 可选择 Player 或者 Viewer。

注意:房主创建房间与单人云渲染启动应用流程相同,唯一的区别是调用云 API 创建会话时需填入 HostUserId。

十、互动观众加入房间

1. 互动观众客户端向业务后台发起启动云渲染请求。

2. 业务后台通过调用 CreateSession() 创建会话,其中请求参数 HostUserId 需要与房主的 UserId 相同,Role 可选择 Player 或者 Viewer。

注意:仅房主需要调用 ApplyConcurrent(),互动观众不需要调用。

十一、推流直播

参考最佳实践 如何将云渲染画面推流至直播间。

十二、切换角色

1. 互动观众客户端调用 TCGSDK.submitSeatChange() 接口申请切换角色,可以申请切换为 Player 或者 Viewer。

注意:综上所述,Player 需要严格对号入座,Viewer 不分配坐席。

2. 房主客户端通过回调 onMultiPlayerChange() 接口获取其他玩家申请切换角色的请求,通过调用 TCGSDK.seatChange() 接口切换互动观众角色。

3. 互动观众客户端通过回调 onMultiPlayerChange() 接口获取申请切换角色的结果。

十三、切换麦克风状态

1. 房主客户端调用 TCGSDK.changeMicStatus() 接口可以切换其他玩家或者自己的麦克风状态。

2. 互动观众客户端调用 TCGSDK.changeMicStatus() 只能切换自己的麦克风状态。

赞 (0)
上一篇 4天前
下一篇 4天前