自定义场景管理器的NetCode包的使用说明
问题的提出:由于原先的场景管理器是需要同步服务端所有的场景到客户端,这适合于端对端的游戏模式,在c/s模式中并不常见。开房间游戏是需要动态创建新场景的,这个功能原先的场景管理器并不支持,需要自己实现。
改动一:因为是要实现在互联网上的游戏大厅联网游戏,所以把这个场景管理器替换成一个简单的场景管理器。在这个简单的场景管理器里,客户端只有一个场景,而服务端有许多个场景。客户端选择哪个场景,服务端就同步哪个场景。
改动二:约定所有场景具备唯一的名称,在服务端加载一个名为Active的空场景,并且设定为Active Scene。也就是说,所有动态创建的网络对象,缺省都在这个空场景里创建。创建完成后,再使用SceneManager.MoveGameObjectToScene将其移动到指定的场景里去。网络环境中,不可能大家各自指定一个活动场景,这样会导致冲突的,这样约定后,就没有冲突了。
改动三:增加了一个方法,来创建和加载并合并场景。开房间的游戏大家都知道,有一个房间创建者,新开的房间场景,就以类似”Room_玩家用户名”这样的命名方式来命名。而这个新建的场景,是以固定场景Room加载进来,再合并到一个新的名称”Room_玩家用户名”。同样,主游戏场景也是这样的过程,加载固定的Game场景,然后合并到新建的"Game_玩家用户名"场景里去。然后由场景管理器实现服务端和客户端之间的场景同步。
自定义场景管理器的实例引用为NetworkManager.Singleton.SceneManager,他的方法如下:
//服务端加载场景
//sceneName为场景名称
void SvrLoadScene(string sceneName);
// 服务端卸载场景
//sceneName场景名称
void SvrUnloadScene(string sceneName);
// 服务端创建新场景并且加载另外一个场景,然后以offset为偏移合并加载的场景到新创建的场景里去。
//id指定客户端id
//desScene目标场景名
//srcScene源场景名
//offset"场景偏移
void SvrCreateAndMergeScene(ulong id,string desScene,string srcScene,Vector3 offset);
//客户端切换当前场景
//curScene指定场景名
void ClientSwitchScene(string curScene);
// 在服务端切换某个客户端的场景
//id指定客户端id
//curScene指定场景名
void ServerSwitchScene(ulong id,string curScene);
//设置缺省场景,在客户端第一次连接到服务端的时候,服务端会同步缺省场景给客户端。
//defaultScene缺省场景名
void SetDefaultScene(string defaultScene);
//服务端场景加载完毕事件,当服务端场景加载完毕后触发。
//使用NetworkManager.Singleton.SceneManager.OnServerSceneLoadComplete += OnServerSceneLoadComplete;
//来添加事件触发函数。
OnServerSceneLoadComplete(string scname)
新车即将上线 真正的项目,期待你的参与
新车上路,只带前10个人
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
华纳公司开户注册步骤?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳东方明珠客服电话是多少?(▲18288362750?《?微信STS5099? 】
如何联系华纳东方明珠客服?(▲18288362750?《?微信STS5099? 】
华纳东方明珠官方客服联系方式?(▲18288362750?《?微信STS5099?
华纳东方明珠客服热线?(▲18288362750?《?微信STS5099?
华纳东方明珠24小时客服电话?(▲18288362750?《?微信STS5099? 】
华纳东方明珠官方客服在线咨询?(▲18288362750?《?微信STS5099?