虚拟场景的同步方法、虚拟场景的显示方法、装置及设备与流程

文档序号:36614579发布日期:2024-01-06 23:14阅读:55来源:国知局
虚拟场景的同步方法、虚拟场景的显示方法、装置及设备与流程

本技术涉及计算机,特别涉及一种虚拟场景的同步方法、虚拟场景的显示方法、装置及设备。


背景技术:

1、随着计算机技术的发展,网络游戏越来越多。如何使网络游戏的各个客户端保持同步,是需要解决的问题。

2、目前,可以采用帧同步的方式来进行游戏同步。帧同步是网络游戏的一种同步方法,服务器将获取到的多个客户端的操作指令序列转发给各个客户端,由客户端根据接收到的操作指令序列执行游戏逻辑进而渲染虚拟场景的场景图像帧,以实现各个客户端同步显示虚拟场景的场景图像帧。

3、然而,上述方案针对的是虚拟场景中已存在的虚拟对象对应的客户端之间进行同步,而无法实现虚拟场景外的虚拟对象加入该虚拟场景并保持各个客户端进行同步。


技术实现思路

1、本技术实施例提供了一种虚拟场景的同步方法、虚拟场景的显示方法、装置及设备,能够将中途加入的虚拟对象对应的终端与已存在的虚拟对象对应的终端进行同步,促进更多的虚拟对象加入目标虚拟场景,从而提高参与度。所述技术方案如下:

2、一方面,提供了一种虚拟场景的同步方法,所述方法包括:

3、接收第一终端发送的对目标虚拟场景的中途加入请求,所述中途加入请求携带目标虚拟对象的对象标识,所述目标虚拟对象为第一终端控制的虚拟对象,所述目标虚拟场景采用帧同步的方式进行数据同步,所述目标虚拟场景包括由至少一个第二终端控制的虚拟对象;

4、向所述第一终端发送所述目标虚拟场景的多个场景图像帧的数据,所述多个场景图像帧为所述目标虚拟场景运行过程中的全部场景图像帧,所述多个场景图像帧的数据用于将所述目标虚拟场景的场景进度由初始进度运行至目标进度,所述目标进度为所述目标虚拟场景当前所处的场景进度;

5、响应于所述第一终端将所述目标虚拟场景的场景进度运行至所述目标进度,向所述第一终端和所述至少一个第二终端发送携带所述对象标识的对象加载指令,以使所述第一终端和所述至少一个第二终端在所述目标虚拟场景中加载所述目标虚拟对象。

6、在一些实施例中,所述方法还包括:

7、响应于接收到所述第一终端和所述至少一个第二终端发送的对象控制请求,向所述第一终端和所述至少一个第二终端发送确认控制指令,所述确认控制指令用于指示将所述目标虚拟对象切换为可控制状态。

8、另一方面,提供了一种虚拟场景的显示方法,所述方法包括:

9、响应于对目标虚拟场景的中途加入操作,获取所述目标虚拟场景的多个场景图像帧的数据,所述目标虚拟场景采用帧同步的方式进行数据同步,所述多个场景图像帧为所述目标虚拟场景运行过程中的全部场景图像帧;

10、基于所述多个场景图像帧的数据,将所述目标虚拟场景的场景进度由初始进度运行至目标进度,所述目标进度为所述目标虚拟场景当前所处的场景进度;

11、在所述目标虚拟场景中,加载所述目标虚拟对象。

12、在一些实施例中,所述在所述目标虚拟场景中,加载所述目标虚拟对象,包括:

13、在所述目标虚拟场景的场景进度加载至所述目标进度之前,在所述目标虚拟场景中预加载所述目标虚拟对象。

14、另一方面,提供了一种虚拟场景的同步装置,所述装置包括:

15、接收模块,用于接收第一终端发送的对目标虚拟场景的中途加入请求,所述中途加入请求携带目标虚拟对象的对象标识,所述目标虚拟对象为第一终端控制的虚拟对象,所述目标虚拟场景采用帧同步的方式进行数据同步,所述目标虚拟场景包括由至少一个第二终端控制的虚拟对象;

16、发送模块,用于向所述第一终端发送所述目标虚拟场景的多个场景图像帧的数据,所述多个场景图像帧为所述目标虚拟场景运行过程中的全部场景图像帧,所述多个场景图像帧的数据用于将所述目标虚拟场景的场景进度由初始进度运行至目标进度,所述目标进度为所述目标虚拟场景当前所处的场景进度;

17、所述发送模块,还用于响应于所述第一终端将所述目标虚拟场景的场景进度运行至所述目标进度,向所述第一终端和所述至少一个第二终端发送携带所述对象标识的对象加载指令,以使所述第一终端和所述至少一个第二终端在所述目标虚拟场景中加载所述目标虚拟对象。

18、在一些实施例中,所述发送模块,用于获取所述目标虚拟场景的所述多个场景图像帧的数据,所述场景图像帧的数据包括第一类数据和第二类数据,所述第一类数据用于执行渲染逻辑,所述第二类数据用于执行操作逻辑;向所述第一终端发送所述多个场景图像帧的第二类数据。

19、在一些实施例中,所述装置还包括:

20、第一获取模块,用于从所述多个场景图像帧中获取在目标帧数范围内的多个目标场景图像帧;

21、所述发送模块,还用于向所述第一终端发送所述多个目标场景图像帧的第一类数据。

22、在一些实施例中,所述装置还包括:

23、确定模块,用于基于所述多个场景图像帧的数据,确定多个渲染内容;

24、第二获取模块,用于从所述多个场景图像帧的数据中,获取渲染优先级高于目标优先级的目标渲染内容对应的数据,所述目标渲染内容对应的数据为所述目标渲染内容所在的场景图像帧的第一类数据中的部分数据;

25、所述发送模块,还用于向所述第一终端发送所述目标渲染内容对应的数据。

26、在一些实施例中,所述发送模块,还用于响应于接收到所述第一终端和所述至少一个第二终端发送的对象控制请求,向所述第一终端和所述至少一个第二终端发送确认控制指令,所述确认控制指令用于指示将所述目标虚拟对象切换为可控制状态。

27、在一些实施例中,所述接收模块,还用于接收所述第一终端发送的对所述目标虚拟场景的场景离开请求,所述场景离开请求携带所述目标虚拟对象的对象标识;

28、所述发送模块,还用于向所述第一终端和所述至少一个第二终端发送离开校验指令,所述离开校验指令用于指示判断所述目标虚拟对象的离开对象状态是否为可离开状态;

29、所述发送模块,还用于响应于接收到所述第一终端发送的对象结算请求,向所述第一终端和所述至少一个第二终端发送对象结算指令,所述对象结算指令用于指示所述第一终端上报所述目标虚拟对象当前的属性信息,指示所述至少一个第二终端从所述目标虚拟场景中移除所述目标虚拟对象。

30、在一些实施例中,所述装置还包括:

31、标记模块,用于对于所述目标虚拟场景的场景进度为初始进度时存在的任一第一虚拟对象,采用第一标记对所述第一虚拟对象进行标记,所述第一标记用于指示所述第一虚拟对象一直存在于所述目标虚拟场景中。

32、在一些实施例中,所述标记模块,还用于响应于所述目标虚拟对象的所述中途加入请求,在所述目标虚拟对象为所述第一虚拟对象的情况下,将所述目标虚拟对象的加载标记由所述第一标记修改为第二标记,所述第二标记用于指示所述目标虚拟对象离开过所述目标虚拟场景,且本次加入所述目标虚拟场景;

33、所述标记模块,还用于在所述目标虚拟对象不为所述第一虚拟对象的情况下,采用第三标记对所述目标虚拟对象进行标记,所述第三标记用于指示所述目标虚拟对象本次加入所述目标虚拟场景。

34、在一些实施例中,所述装置还包括:

35、第三获取模块,用于响应于所述目标虚拟对象的所述中途加入请求,获取所述目标虚拟场景中存在过的至少一个第二虚拟对象的加载标记,所述第二虚拟对象的标记为所述第一标记、所述第二标记或者所述第三标记;

36、所述标记模块,还用于对于任一第二虚拟对象,在所述第二虚拟对象的加载标记为所述第二标记的情况下,将所述第二虚拟对象的加载标记修改为第四标记,所述第四标记用于指示所述第二虚拟对象非本次加入所述目标虚拟场景;

37、所述标记模块,还用于在所述第二虚拟对象的加载标记为所述第三标记的情况下,将所述第二虚拟对象的加载标记修改为第五标记,所述第五标记用于指示所述第二虚拟对象非本次加入所述目标虚拟场景。

38、另一方面,提供了一种虚拟场景的显示装置,所述装置包括:

39、获取模块,用于响应于对目标虚拟场景的中途加入操作,获取所述目标虚拟场景的多个场景图像帧的数据,所述目标虚拟场景采用帧同步的方式进行数据同步,所述多个场景图像帧为所述目标虚拟场景运行过程中的全部场景图像帧;

40、运行模块,用于基于所述多个场景图像帧的数据,将所述目标虚拟场景的场景进度由初始进度运行至目标进度,所述目标进度为所述目标虚拟场景当前所处的场景进度;

41、加载模块,用于在所述目标虚拟场景中,加载所述目标虚拟对象。

42、在一些实施例中,所述场景图像帧的数据包括第一类数据和第二类数据,所述第一类数据用于执行渲染逻辑,所述第二类数据用于执行操作逻辑;

43、所述运行模块,包括:

44、加载单元,用于加载场景进度为初始进度时的所述目标虚拟场景;

45、获取单元,用于从所述多个场景图像帧的数据中,获取所述多个场景图像帧的第二类数据;

46、运行单元,用于基于所述多个场景图像帧的第二类数据,将所述目标虚拟场景的场景进度由初始进度运行至所述目标进度。

47、在一些实施例中,所述运行单元,用于从所述多个场景图像帧中获取在目标帧数范围内的多个目标场景图像帧;获取所述多个目标场景图像帧的第一类数据;基于所述多个目标场景图像帧的第一类数据和所述多个场景图像帧的第二类数据,将所述目标虚拟场景的场景进度由初始进度运行至所述目标进度。

48、在一些实施例中,所述运行单元,用于基于所述多个场景图像帧的数据,确定多个渲染内容;从所述多个场景图像帧的数据中,获取渲染优先级高于目标优先级的目标渲染内容对应的数据,所述目标渲染内容对应的数据为所述目标渲染内容所在的场景图像帧的第一类数据中的部分数据;基于所述目标渲染内容对应的数据和所述多个场景图像帧的第二类数据,将所述目标虚拟场景的场景进度由初始进度运行至所述目标进度。

49、在一些实施例中,所述装置还包括:

50、第一确定模块,用于基于所述多个场景图像帧的数据,确定所述目标虚拟场景关联的至少一个虚拟对象的加载标记;

51、所述加载模块,还用于在存在目标加载标记的情况下,在场景进度为初始进度的所述目标虚拟场景中,加载具有所述目标加载标记的虚拟对象,所述目标加载标记用于指示在所述目标虚拟场景的场景进度为初始进度时存在所述虚拟对象。

52、在一些实施例中,所述运行模块用于显示场景进度为初始进度时的所述目标虚拟场景;将所述多个场景图像帧的数据按照时序划分为第一帧数据组和第二帧数据组;基于所述第一帧数据组,采用部分渲染的方式,渲染所述目标虚拟场景;基于所述第二帧数据组,采用全部渲染的方式,渲染所述目标虚拟场景,以使所述目标虚拟场景加载至所述目标进度。

53、在一些实施例中,所述加载模块,用于在所述目标虚拟场景的场景进度加载至所述目标进度之前,在所述目标虚拟场景中预加载所述目标虚拟对象。

54、在一些实施例中,所述装置还包括:

55、第二确定模块,用于响应于对所述目标虚拟场景的离开操作,确定所述目标虚拟对象的离开对象状态;

56、发送模块,用于响应于所述离开对象状态为可离开状态,向服务器发送所述目标虚拟对象当前的属性信息。

57、另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行以实现本技术实施例中的虚拟场景的同步方法,或者,所述至少一段计算机程序由所述处理器加载并执行以实现本技术实施例中的虚拟场景的显示方法。

58、另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一段计算机程序,所述至少一段计算机程序由处理器加载并执行以实现如本技术实施例中虚拟场景的同步方法,或者,所述至少一段计算机程序由处理器加载并执行以实现如本技术实施例中虚拟场景的显示方法。

59、另一方面,提供了一种计算机程序产品,该计算机程序产品被处理器执行时实现本技术实施例中虚拟场景的同步方法,或者,被处理器执行时实现本技术实施例中虚拟场景的显示方法。

60、本技术实施例提供了一种虚拟场景的同步方案,通过在第一终端控制的目标虚拟对象请求加入目标虚拟场景中时,向第一终端返回该目标虚拟场景从场景进度为初始进度运行到目标进度这一过程中全部的场景图像帧的数据,使得第一终端能够基于获取到的数据进行快速追帧,以实现第一终端将该目标虚拟场景的场景进度由初始进度运行至目标进度,再通过在第一终端的目标虚拟场景运行至目标进度时,向第一终端和目标虚拟场景中虚拟对象所在的至少一个第二终端发送携带对象标识的对象加载指令,使得各个终端能够在处于目标进度的目标虚拟场景中分别加载目标虚拟对象,从而实现目标虚拟场景在各个终端上同步显示,使得目标虚拟对象加入虚拟对局中的虚拟场景的时机不受限制,无论虚拟对象何时请求加入虚拟对局中的虚拟场景,均能够保证目标虚拟场景在各个终端显示的一致性,提高了参与虚拟对局的灵活度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1