CN114398190B - 基于虚拟交互空间的交互方法、装置、电子设备及介质 - Google Patents

基于虚拟交互空间的交互方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN114398190B
CN114398190B CN202111573689.3A CN202111573689A CN114398190B CN 114398190 B CN114398190 B CN 114398190B CN 202111573689 A CN202111573689 A CN 202111573689A CN 114398190 B CN114398190 B CN 114398190B
Authority
CN
China
Prior art keywords
terminal
time zone
frame rate
space
virtual interaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111573689.3A
Other languages
English (en)
Other versions
CN114398190A (zh
Inventor
赵冬
齐亮
陶天伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hualu North Culture Technology Beijing Co ltd
Original Assignee
Hualu North Culture Technology Beijing Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hualu North Culture Technology Beijing Co ltd filed Critical Hualu North Culture Technology Beijing Co ltd
Priority to CN202111573689.3A priority Critical patent/CN114398190B/zh
Publication of CN114398190A publication Critical patent/CN114398190A/zh
Application granted granted Critical
Publication of CN114398190B publication Critical patent/CN114398190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/843Special adaptations for executing a specific game genre or game mode involving concurrently two or more players on the same game device, e.g. requiring the use of a plurality of controllers or of a specific view of game data for each player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/209Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform characterized by low level software layer, relating to hardware management, e.g. Operating System, Application Programming Interface
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8076Shooting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种基于虚拟交互空间的交互方法、装置、电子设备及介质,该方法包括:获取针对虚拟交互空间的交互请求,根据交互请求,向各终端类型的终端发送信息上报请求;接收各终端中至少一个终端基于信息上报请求发送的反馈信息,对于每个终端,反馈信息中包括该终端的终端参数和所处的第一时区;根据至少一个终端中各个终端的终端参数和各个终端各自所处的第一时区,确定虚拟交互空间对应的目标帧率,以使加入到虚拟交互空间中的各终端根据目标帧率进行交互。通过本发明的方法,由于不同的终端参数对应不同的帧率,不同时区对应不同的帧率,则基于确定的目标帧率,可使得不同终端类型的终端可根据该目标帧率进行在线交互。

Description

基于虚拟交互空间的交互方法、装置、电子设备及介质
技术领域
本发明涉及计算机领域,具体而言,本发明涉及一种基于虚拟交互空间的交互方法、装置、电子设备及介质。
背景技术
随着增强现实、虚拟现实、4G/5G、以及图形处理器能力的不断强化,使大空间场景下的多人三维游戏、多人远程协同、在线旅游、线上活动等应用的落地实施成为了现实。
现有应用中,出于简化开发、提升游戏流畅程度、防作弊、公平对抗等目的,各种应用中,通常不支持多种跨软硬件平台的终端设备一起进行在线交互,比如,AR/VR游戏只支持多个AR/VR头盔的用户在线交互,而不支持手机、PC端应用以及Web等平台的接入;手机游戏只支持手机端用户而不支持PC端设备接入。由此,现有技术中的在线交互不支持多种不同类型的终端一起协同交互,也没有统一的数据交互模型,降低了用户的体验,不同终端的处理和显示能力不同,在同一虚拟交互场景下,现有技术不支持对不同能力水平的终端进行显示兼容和服务调度。
发明内容
本发明所要解决的技术问题是提供一种基于虚拟交互空间的交互方法、装置、电子设备及介质,旨在解决在线交互不支持不同类型的终端一起进行协调交互的问题。
第一方面,本发明解决上述技术问题的技术方案如下:一种基于虚拟交互空间的交互方法,该方法包括:
获取针对虚拟交互空间的交互请求,根据交互请求,向各终端类型的终端发送信息上报请求,信息上报请求中包括虚拟交互空间的空间标识;
接收各终端中至少一个终端基于信息上报请求发送的反馈信息,对于每个终端,反馈信息中包括该终端的终端参数和所处的第一时区,上述终端参数包括终端类型;
根据至少一个终端中各个终端的终端参数和各个终端各自所处的第一时区,确定虚拟交互空间对应的目标帧率,以使加入到虚拟交互空间中的各终端根据目标帧率进行交互,其中,不同的终端参数对应不同的帧率,不同时区对应不同的帧率。
本发明的有益效果是:对于想在虚拟交互空间进行交互的交互请求,服务器根据交互请求,向各个终端类型的终端发送信息上报请求,各个终端基于该信息上报请求向服务器发送反馈信息,反馈终端本身的终端参数和所处的第一时区,由于不同的终端参数对应不同的帧率,不同的时区对应不同的帧率,则基于各个终端的终端参数和第一时区,可以确定出与所有加入到虚拟交互空间中的各终端相适配的目标帧率,使得在该虚拟交互空间中,各个不同终端类型的终端可根据该目标帧率进行在线交互。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,在获取针对虚拟交互空间的交互请求之前,该方法还包括:
获取用户针对虚拟交互空间的创建请求,创建请求中包括用户的终端的终端标识和虚拟交互空间中允许进入空间的终端类型;根据创建请求,创建虚拟交互空间,并生成虚拟交互空间的空间标识;
则上述信息上报请求中还包括允许进入空间的终端类型,则加入到虚拟交互空间中的各终端是与允许进入空间的终端类型匹配的终端。
采用上述进一步方案的有益效果是,在创建虚拟交互空间时,创建该虚拟交互空间的用户可以设置允许进入空间的终端类型,则该允许进入空间的终端类型可通过信息上报请求发送给各终端,以使得各终端基于各自的终端类型进行反馈信息的反馈,使得加入到虚拟交互空间中的各终端是与允许进入空间的终端类型匹配的终端。
进一步,若虚拟交互空间对应至少两个时区,对于每个终端,反馈信息中包含的该终端所处的第一时区为至少两个时区中的任一时区;
上述根据至少一个终端中各个终端的终端参数和各个终端各自所处的第一时区,确定虚拟交互空间对应的目标帧率,以使加入到虚拟交互空间中的各终端根据目标帧率进行交互,包括:
根据至少一个终端中各个终端的终端参数和各个终端各自所处的第一时区,确定每个终端在各自所处的第一时区所对应的目标帧率,以使加入到虚拟交互空间中的各终端根据各自对应的目标帧率进行交互;
其中,上述虚拟交互空间对应的目标帧率包括每个终端在各自所处的第一时区所对应的目标帧率;
该方法还包括:在基于虚拟交互空间进行交互的过程中,获取加入到虚拟交互空间中的各个终端的位置;对于每个终端,根据该终端的位置,确定该终端所处的第二时区;对于每个终端,在该终端所处的第二时区不是该终端所处的第一时区时,根据该终端所处的第二时区,调整该终端对应的目标帧率,得到调整后的帧率,以使该终端根据调整后的帧率进行交互。
采用上述进一步方案的有益效果是,如果虚拟交互空间对应至少两个时区,则对于每个终端,反馈信息中包含的该终端所处的第一时区为至少两个时区中的任一时区,即该终端所处的任一时区为该终端所处的第一时区,在确定目标帧率时,可以按照每个终端所处的时区对应的帧率进行确定,以使对于拥有不同时区的虚拟交互空间,各终端可以采用不同的目标帧率进行交互,达到省电的效果。在基于虚拟交互空间进行交互的过程中,可基于终端的位置确定终端对应的时区是否发生改变,即对于每个终端,在该终端所处的第二时区不是该终端所处的第一时区时,表明该终端所处的时区发生变化,则可基于第二时区对应的帧率,对该终端对应的目标帧率进行调整,以匹配第二时区的帧率。
进一步,该方法还包括:在基于虚拟交互空间进行交互的过程中,获取虚拟交互空间对应的时区的时区处理能力参数;对于每个时区,根据该时区对应的时区处理能力参数,调整该时区对应的帧率。
采用上述进一步方案的有益效果是,在基于虚拟交互空间进行交互的过程中,加入到虚拟交互空间中的各个终端所处的时区的计算能力可能在实时发生改变,对于每个时区,该时区的处理能力影响了该时区对应的帧率,则在本申请方案中,可以获取虚拟交互空间对应的时区处理能力参数,通过时区处理能力参数反映对应时区的处理能力,进而对于每个时区,根据该时区对应的时区处理能力参数,调整该时区对应的帧率,以使得各终端对应的目标帧率随着时区对应的调整后的帧率进行调整,调整后的目标帧率与时区的计算能力更加适配。
进一步,该方法还包括:在基于虚拟交互空间进行交互的过程中,获取加入到虚拟交互空间中的各个终端的终端能力参数;对于每个终端,根据该终端的终端能力参数,调整该终端对应的帧率。
采用上述进一步方案的有益效果是,在基于虚拟交互空间进行交互的过程中,加入到虚拟交互空间中的各个终端的终端计算能力可能在实时发生改变,对于每个终端,该终端的终端计算能力影响了该终端对应的帧率,则在本申请方案中,可获取各个终端的终端能力参数,通过终端能力参数反映对应终端的终端计算能力,进而对于每个终端,根据该终端的终端能力参数,调整该终端对应的帧率,以使得各终端对应的目标帧率随着终端对应的调整后的帧率进行调整,调整后的目标帧率与终端的终端计算能力更加适配。
进一步,该方法还包括:获取虚拟交互空间对应的时区的时区相关信息,时区相关信息包括所属区域、计算能力和当前所拥有的终端数量;根据该时区的时区相关信息,确定该时区对应的上限帧率,以使处于该时区内的终端对应的目标帧率不大于上限帧率。
采用上述进一步方案的有益效果是,在时区内设置最高帧率上限,即基于该虚拟交互空间对应的时区的时区相关信息,可确定一个上限帧率,以使得处于该时区内的终端对应的目标帧率不大于上限帧率,可降低服务器的计算量,也便于拉平不同平台间的硬件差异。
进一步,该方法还包括:在基于虚拟交互空间进行交互的过程中,按照虚拟交互空间对应的时区对交互相关数据进行更新,交互相关数据包括场景事件、用户事件或模型的相关数据中的至少一项,模型为虚拟交互空间中涉及的对象。
采用上述进一步方案的有益效果是,在交互过程中,可对场景事件、用户事件或模型的相关数据中的至少一项进行实时更新,提高用户体验。
第二方面,本发明为了解决上述技术问题还提供了一种基于虚拟交互空间的交互装置,该装置包括:
交互请求获取模块,用于获取针对虚拟交互空间的交互请求,根据交互请求,向各终端类型的终端发送信息上报请求,信息上报请求中包括虚拟交互空间的空间标识;
反馈信息接收模块,用于接收各终端中至少一个终端基于信息上报请求发送的反馈信息,对于每个终端,反馈信息中包括该终端的终端参数和所处的第一时区,终端参数包括终端类型;
目标帧率确定模块,用于根据至少一个终端中各个终端的终端参数和各个终端各自所处的第一时区,确定虚拟交互空间对应的目标帧率,以使加入到虚拟交互空间中的各终端根据目标帧率进行交互;
其中,不同的终端参数对应不同的帧率,不同时区对应不同的帧率。
第三方面,本发明为了解决上述技术问题还提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时实现本申请的基于虚拟交互空间的交互方法。
第四方面,本发明为了解决上述技术问题还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本申请的基于虚拟交互空间的交互方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍。
图1为本发明一个实施例提供的一种基于虚拟交互空间的交互方法的流程示意图;
图2为本发明一个实施例提供的一种基于虚拟交互空间的交互系统的结构示意图;
图3为本发明一个实施例提供的一种基于虚拟交互空间的交互装置的结构示意图;
图4为本发明一个实施例提供的一种电子设备的结构示意图。
具体实施方式
以下对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
下面以具体实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
本发明实施例所提供的方案可以适用于任何需要各种不同类型的终端在同一个虚拟交互空间中进行在线交互的应用场景中。该虚拟交互空间可以是一个虚拟会议室、一个虚拟游戏地图,一个虚拟报告厅等,即本发明的方案适用于各种不同的在线交互场景。本发明实施例所提供的各种不同类型的终端可以是用户的终端设备,包括以下至少一项:智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能电视、智能车载设备。
本发明实施例提供了一种可能的实现方式,如图1所示,提供了一种基于虚拟交互空间的交互方法的流程图,该方案可以由任一电子设备执行,例如,可以是终端设备,或者由终端设备和服务器共同执行。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统。为描述方便,下面将以服务器作为执行主体为例对本发明实施例提供的方法进行说明,如图1中所示的流程图,该方法可以包括以下步骤:
步骤S110,获取针对虚拟交互空间的交互请求,根据交互请求,向各终端类型的终端发送信息上报请求,信息上报请求中包括虚拟交互空间的空间标识;
步骤S120,接收各终端中至少一个终端基于信息上报请求发送的反馈信息,对于每个终端,反馈信息中包括该终端的终端参数和所处的第一时区,上述终端参数包括终端类型;
步骤S130,根据至少一个终端中各个终端的终端参数和各个终端各自所处的第一时区,确定虚拟交互空间对应的目标帧率,以使加入到虚拟交互空间中的各终端根据目标帧率进行交互;其中,不同的终端参数对应不同的帧率,不同时区对应不同的帧率。
通过本发明的方法,对于想在虚拟交互空间进行交互的交互请求,服务器根据交互请求,向各个终端类型的终端发送信息上报请求,各个终端基于该信息上报请求向服务器发送反馈信息,反馈终端本身的终端参数和所处的第一时区,由于不同的终端参数对应不同的帧率,不同的时区对应不同的帧率,则基于各个终端的终端参数和第一时区,可以确定出与所有加入到虚拟交互空间中的各终端相适配的目标帧率,使得在该虚拟交互空间中,各个不同终端类型的终端可根据该目标帧率进行在线交互。
下面结合以下具体的实施例,对本发明的方案进行进一步的说明,在该实施例中,基于虚拟交互空间的交互方法可以包括以下步骤:
步骤S110,获取针对虚拟交互空间的交互请求,根据交互请求,向各终端类型的终端发送信息上报请求,信息上报请求中包括虚拟交互空间的空间标识。
其中,交互请求指的是指的是用户想通过虚拟交互空间进行在线交互的请求,该请求可以基于用户对终端设备的客户端界面的触发操作生成的请求,该触发操作的具体形式根据需要配置,例如,可以是用户在终端设备的应用程序的界面上特定操作位置的触发动作,在实际用中,触发操作可以是针对相关触发标识的触发选择操作。其中,触发标识的具体形式可以根据实际需要配置,比如,可以是客户端界面上的指定虚拟按钮或输入框,具体的,例如,可以是在客户端界面上显示的“XXX”的虚拟按钮,用户点击该虚拟按钮的操作即表示用户想要虚拟交互空间进行在线交互。
上述交互请求可以是用户通过终端向服务器发送的,也可以是服务器主动获取的。服务器在获取到交互请求后,向各不同终端类型的终端发送信息上报请求,以获取各个终端的反馈信息。在本申请方案中,服务器可以以组播的形式向各终端发送信息上报请求。
本申请的可选方案中,在获取针对虚拟交互空间的交互请求之前,该方法还包括:
获取用户针对虚拟交互空间的创建请求,创建请求中包括用户的终端的终端标识和虚拟交互空间的允许进入空间的终端类型;
根据创建请求,创建虚拟交互空间,并生成虚拟交互空间的空间标识;
信息上报请求中还包括虚拟交互空间中允许进入空间的终端类型,加入到虚拟交互空间中的各终端是与允许进入空间的终端类型匹配的终端。
其中,创建请求指的是指的是用户想创建虚拟交互空间的请求,该请求可以基于用户对终端设备的客户端界面的触发操作生成的请求,该触发操作的具体形式根据需要配置,例如,可以是用户在终端设备的应用程序的界面上特定操作位置的触发动作,在实际用中,触发操作可以是针对相关触发标识的触发选择操作。其中,触发标识的具体形式可以根据实际需要配置,比如,可以是客户端界面上的指定虚拟按钮或输入框,具体的,例如,可以是在客户端界面上显示的“ZZZ”的虚拟按钮,用户点击该虚拟按钮的操作即表示用户想要创建虚拟交互空间。
其中,上述空间标识用于表征虚拟交互空间的身份,该空间标识可以为文字、数字或字符中的至少一项。上述终端标识用于表征发起创建请求的终端的身份,终端标识可以为文字、数字或字符中的至少一项。
信息上报请求中可以包括空间标识,通过空间标识告知是哪个虚拟交互空间,该信息上报请求中还可以包括虚拟交互空间中允许进入空间的终端类型,则基于允许进入空间的终端类型,可使得加入到虚拟交互空间中的各终端是与允许进入空间的终端类型匹配的终端,即加入到虚拟交互空间中的终端的终端类型是允许进入空间的终端类型。上述信息上报请求中还可以包括空间可见范围,即该虚拟交互空间所支持的网络类型,可以包括但不限定于局域网、大区网或全网。
其中,允许进入空间的终端类型可由创建空间的用户设置,通过允许进入空间的终端类型,限定不是所有用户都可以进入到虚拟交互空间中,可保护空间的安全性。作为一个示例,允许进入空间的终端类型可以设置为全部类型均可接入,也可以设置为只允许手机接入,或者只允许手机、AR、VR设备平台接入。
上述创建请求中还可以包括虚拟交互空间的空间名称,通过空间名称可用来区分其他交互空间,也可便于其他用户快速找到该虚拟交互空间。上述创建请求中还可包括空间属性信息,空间属性信息包括标准场景标识,通过标准场景标识用户想创建的虚拟交互空间的空间类型,空间类型为虚拟会议室、虚拟游戏地图或虚拟报告厅中的任一项。上述创建请求中还包括协议头信息,用来基于该协议头信息进行通信。
在本申请的可选方案中,在服务器创建该虚拟交互空间时,生成该虚拟交互空间的空间信息,空间信息中包括空间标识。对于已经建立的虚拟交互空间,可将该虚拟交互空间的空间信息通过服务器的公告区展示给各个终端用户,上述空间信息可以包括虚拟交互空间的空间名称、空间标识、空间已进入的用户数、空间最多可支持的用户数、空间维度、空间状态、虚拟交互空间的创建者的名称、虚拟交互空间的标准场景标识等其他信息,其中,空间维度是指空间是二维场景还是三维场景,虚拟交互空间可以为纯文本的空间、纯语音的空间、二维平面空间、三维立体空间。在创建虚拟交互空间时,服务器会基于创建请求中的空间维度创建虚拟交互空间。空间状态指的是目前该空间是否可允许其他用户进入。
在本申请的可选方案中,由于各虚拟交互空间实时在变化,则服务器实时更新已创建的虚拟交互空间的空间信息、空间内场景信息和人物及物体模型信息。其中,空间内场景信息包括场景内时区划分信息、各时区内的帧初始更新频率、事件列表、用户数据交互数据格式等。其中,场景内时区划分信息指的是虚拟交互空间中的时区划分情况,在本申请的方案中,如果是三维场景,时区就是按照空间区域划分,其中会考虑一些空间内的模型,比如比较复杂的模型,它所在的时区范围可以小一些。如果是二维场景,时区的划分也是根据区域的划分或者根据终端类型划分,比如把同一类的终端都放在同一个区域中。其中,各时区内的帧初始更新频率指的是每个时区对应的初始帧率,每个时区的帧率可以是相同的也可以是不同的。其中,帧率可以理解为每秒刷新多少帧图像。其中,事件列表指的是一起会引起交互或者终端中的数据相互更新的事件,比如,一个用户对场景内的物体进行操作了,那么这可以是一个事件,该事件会告知给时区内的其他终端。再比如,虚拟交互空间为虚拟游戏地图(射击游戏对应的地图),则事件可以为射击游戏中的开枪、被击中等。其中,用户数据交互数据格式指的是用户用来在虚拟交互空间中进行交互的数据的数据格式,不同的终端可采用不同的数据格式,以支持不同类型的终端。
步骤S120,接收各终端中至少一个终端基于信息上报请求发送的反馈信息,对于每个终端,反馈信息中包括该终端的终端参数和所处的第一时区,上述终端参数包括终端类型。
其中,在服务器发送信息上报请求后,不是所有终端都可能接收到该信息上报请求的,也不是所有终端都会回复反馈信息的。则服务器可通过计时器预先设置一个第一设定时间,在该第一设定时间内,如果没有接收到反馈信息,则可将未回复反馈信息的终端标注为不可进入到虚拟交互空间的终端。对于在第一设定时间内回复反馈信息的终端,标注为可以进入虚拟交互空间的终端。
上述反馈信息中包括终端参数和所处的第一时区,其中,终端参数包括反映终端处理能力的参数以及终端类型。不同的终端类型对应不同的帧率。
上述反馈信息中还可以包括期望所处时区的时区标识,通过该时区标识表征用户希望自己的终端所处的时区是哪个时区,服务器可以基于该时区标识判断该终端是否可以属于该时区,如果可以,则在终端加入虚拟交互空间时,其所处时区为时区标识对应的时区。如果不可以属于该时区,比如,该时区用户过多,则服务器会为该终端分配相匹配的时区。或者,在反馈信息中不包括期望所处时区的时区标识,则在各终端加入虚拟交互空间时,服务器会将默认的时区作为各终端所处的时区。
如果虚拟交互空间对应的是一个时区,则上述各个终端各自所处的第一时区为同一个时区,即每个终端所处的时区是相同的。如果虚拟交互空间对应的是至少两个时区,则对于每个终端,反馈信息中包含的该终端所处的第一时区为至少两个时区中的任一时区,也就是说,各个终端各自对应的时区可能相同,也可能不同,作为一个示例,比如,至少两个时区包括时区A和时区B,终端a和终端b所处时区均为时区A,终端c和终端d所处时区均为时区B。则上述根据至少一个终端中各个终端的终端参数和各个终端各自所处的第一时区,确定虚拟交互空间对应的目标帧率,以使加入到虚拟交互空间中的各终端根据目标帧率进行交互,包括:
根据至少一个终端中各个终端的终端参数和各个终端各自所处的第一时区,确定每个终端在各自所处的第一时区所对应的目标帧率,以使加入到虚拟交互空间中的各终端根据各自对应的目标帧率进行交互;
其中,虚拟交互空间对应的目标帧率包括每个终端在各自所处的第一时区所对应的目标帧率。
其中,由于每个终端所处的第一时区可能是不同的时区,则在确定目标帧率时,可基于各终端所处的时区分别进行目标帧率的确定,即确定每个终端在各自所处的第一时区所对应的目标帧率,此时,虚拟交互空间对应的目标帧率包括每个终端在各自所处的第一时区所对应的目标帧率。
在本发明的可选方案中,该方法还包括:
在基于虚拟交互空间进行交互的过程中,获取加入到虚拟交互空间中的各个终端的位置;
对于每个终端,根据该终端的位置,确定该终端所处的第二时区;
对于每个终端,在该终端所处的第二时区不是该终端所处的第一时区时,根据该终端所处的第二时区,调整该终端对应的目标帧率,得到调整后的帧率,以使该终端根据调整后的帧率进行交互。
在基于虚拟交互空间进行交互的过程中,可基于终端的位置确定终端对应的时区是否发生改变,即对于每个终端,在该终端所处的第二时区不是该终端所处的第一时区时,表明该终端所处的时区发生变化,则可基于第二时区对应的帧率,对该终端对应的目标帧率进行调整,以匹配第二时区的帧率。
上述终端的位置指的是终端用户在虚拟交互空间中的虚拟位置,终端的位置发生变化,则其对应的时区也可能发生变化,则可基于终端的位置变化更新终端所处的时区,所处时区变更了,可以做个标记,比如,在终端的用户属性中增加一个所属时区的编号。在虚拟交互场景中,服务器通过调度器对每个终端进行调度,以控制终端进行相应的处理,完成相应的任务,调度器是按时区进行的,在终端所处的时区发生变更后,下次调度时调度器再调度时区时就会在新的时区调度该用户。
其中,对于每个终端,该终端的位置可通过以下方式确定:获取该终端对应的交互相关数据,该交互相关数据包括场景事件、用户事件或模型的相关数据中的至少一项,根据交互相关数据确定该终端的位置。
其中,场景事件是指虚拟交互空间对应场景内由人机交互、人人交互或特定剧情设置而触发出的事件;用户事件是指根据用户自身姿态的变化触发出其对应的人物模型的变化事件,如人员下蹲、扭头、抬臂、伸腿等动作。模型为虚拟交互空间中涉及的对象,比如,人物模型,建筑模型等。场景事件、用户事件和模型的相关数据发生改变都可能导致终端在虚拟交互空间中的位置发生改变,由此,可基于场景事件、用户事件或模型的相关数据中的至少一项确定终端的位置是否发生改变。
在本申请的可选方案中,可基于设定时间内获取的交互相关数据确定该终端的位置。上述设定时间可基于实际需求配置,比如,可以是20us。
步骤S130,根据至少一个终端中各个终端的终端参数和各个终端各自所处的第一时区,确定虚拟交互空间对应的目标帧率,以使加入到虚拟交互空间中的各终端根据目标帧率进行交互;其中,不同的终端参数对应不同的帧率,不同时区对应不同的帧率。
其中,对于各个终端的终端参数对应的帧率以及第一时区对应的帧率,在这些帧率中选择一个目标帧率,一种实现方式为:在这些帧率中选择帧率最小的帧率作为目标帧率。在交互过程中,各终端均以根据该目标帧率进行交互。
在本申请方案中,在基于虚拟交互空间进行交互的过程中,该虚拟交互空间对应一个调度器,该调度器开始工作时,进入循环调度模式,即每次调度(调度指的是各终端在虚拟交互空间进行交互的过程)前先判断调度终止条件是否满足,如果满足,则跳出调度,虚拟交互空间中的调度结束,服务器将交互过程中的统计数据以及日志保存在服务器本地,并以组播的形式,向加入该虚拟交互空间中的所有终端下发,完成下发后,服务器释放调度器资源。如果不满足调度终止条件,则继续调度。其中,调度终止条件指的是不在需要或者,无法使用虚拟交互空间进行交互的情况。上述调度终止条件可基于具体场景设置,比如,虚拟交互空间中的所有终端都退出、虚拟交互空间创建者关闭场景、服务器负荷调整关闭部分场景、协同任务已达成(不再需要使用虚拟交互空间进行交互)等等。调度时,服务器实时接收终端用户的交互数据,基于该交互数据,实时进行在线交互。其中,交互数据可以包括AR及VR自身姿态数据。
由于在基于虚拟交互空间进行交互的过程中,各终端所处的时区的时区处理能力会随着数据处理量的增加等因素而改变,则在本发明的可选方案中,该方法还包括:
在基于虚拟交互空间进行交互的过程中,获取虚拟交互空间对应的时区的时区处理能力参数;
对于每个时区,根据该时区对应的时区处理能力参数,调整该时区对应的帧率。
在交互过程中,如果虚拟交互空间对应一个时区,则时区处理能力参数为该时区对应的参数,如果虚拟交互空间对应至少两个时区,即每个终端对应的时区可能相同,也可能不同。则获取的时区处理能力参数包括至少两个时区中每个时区对应的时区处理能力参数,通过时区处理能力参数反映对应时区的处理能力,进而对于每个时区,根据该时区对应的时区处理能力参数,调整该时区对应的帧率,以使得各终端对应的目标帧率随着时区对应的调整后的帧率进行调整,调整后的目标帧率与时区的计算能力更加适配。
上述时区处理能力参数包括第一计算时长,第一计算时长指的是处理在一个时区内的各个终端的交互数据所消耗的时长。则上述对于每个时区,根据该时区对应的时区处理能力参数,调整该时区对应的帧率,包括:
对于每个时区,若该时区对应的第一计算时长大于第一阈值,表示计算吃力,降低该时区对应的帧率,若该时区对应的第一计算时长小于第二阈值,就表示计算很闲,可提高该时区对应的帧率,若该时区对应的第一计算时长不小于第二阈值,且不大于第一阈值,则表示帧率状态合适,即当前帧率与计算能力相匹配,可保持该时区对应的帧率不变。
在本发明的可选方案中,上述第一计算时长可以是在设定时间内计算各终端的交互数据所消耗的时长,则上述对每个时区的帧率进行更新的周期可以是设定时间的整数倍。在本发明的可选方案中,可通过计时器对上述第一计算时长进行计时。如果确定调整时区的帧率,则服务器以组播的形式向所有终端用户发布时区帧率调整命令。
由于不同的终端的终端处理能力不同,在交互过程中,终端的终端处理能力在实时变化,终端的终端处理能力发生变化会影响终端对应的帧率,则在本发明的方案中,该方法还包括:
在基于虚拟交互空间进行交互的过程中,获取加入到虚拟交互空间中的各个终端的终端能力参数;
对于每个终端,根据该终端的终端能力参数,调整该终端对应的帧率。
在基于虚拟交互空间进行交互的过程中,加入到虚拟交互空间中的各个终端的终端计算能力可能在实时发生改变,对于每个终端,该终端的终端计算能力影响了该终端对应的帧率,则在本申请方案中,可获取各个终端的终端能力参数,通过终端能力参数反映对应终端的终端计算能力,进而对于每个终端,根据该终端的终端能力参数,调整该终端对应的帧率,以使得各终端对应的目标帧率随着终端对应的调整后的帧率进行调整,调整后的目标帧率与终端的终端计算能力更加适配。
终端能力参数是反映终端处理能力的参数,与终端的实际工作情况有关,比如,终端为移动终端,该移动终端的CPU主频、剩余电量、GPU能力都对该移动终端的帧率有影响,比如,当电量低于阈值后,可以用电量百分比确定该移动终端的帧率上限,通常该帧率上限会对于预设帧率上限,在剩余电量高于阈值时使用预设帧率上限(终端的默认帧率)作为移动终端的帧率。或者,根据统计一段时间的、终端上报的CPU/GPU的平均占用率,判断其平均占用率是否在设定值范围内,如果在设定值范围内,并且没有超过预设帧率上限,则不调整帧率,如果当前帧率超过预设帧率上限,或CPU/GPU平均占用率的增加曲线大于预定值,则下调终端的帧率。如果CPU/GPU的平均占用帧率低于设定值下限,则可以上调帧率。
在本发明的可选方案中,该方法还包括:在基于虚拟交互空间进行交互的过程中,获取各个终端对应的第二计算时长,终端能力参数包括第二计算时长;对于每个终端,根据该终端的终端能力参数,调整该终端对应的帧率,包括:对于每个终端,若该终端对应的第二计算时长大于第一设定值,降低该终端对应的帧率,若该终端对应的第二计算时长小于第二设定值,提高该终端对应的帧率,若该终端对应的第二计算时长不小于第二设定值,且不大于第一设定值,保持该终端对应的帧率不变。
其中,上述终端能力参数包括第二计算时长,第二计算时长指的是终端处理接收到的交互数据所消耗的时长。在本发明的可选方案中,上述第二计算时长可以是在设定时间内处理接收到的交互数据所消耗的时长,则上述对每个终端的帧率进行更新的周期可以是设定时间的整数倍。在本发明的可选方案中,可通过计时器对上述第二计算时长进行计时。
在本发明的可选方案中,该方法还包括:
获取虚拟交互空间对应的时区的时区相关信息,时区相关信息包括所属区域、计算能力和当前所拥有的终端数量;根据该时区的时区相关信息,确定该时区对应的上限帧率,以使处于该时区内的终端对应的目标帧率不大于上限帧率。
在虚拟交互空间对应时区内设置最高帧率上限,虚拟交互空间对应的可以是一个时区,也可以是至少两个时区。基于该虚拟交互空间对应的时区的时区相关信息,可确定一个上限帧率,以使得处于该时区内的终端对应的目标帧率不大于上限帧率,可降低服务器的计算量,也便于拉平不同平台间的硬件差异。
在本发明的可选方案中,该方法还包括:在基于虚拟交互空间进行交互的过程中,按照虚拟交互空间对应的时区对交互相关数据进行更新,交互相关数据包括场景事件、用户事件或模型的相关数据中的至少一项,模型为虚拟交互空间中涉及的对象。
在基于虚拟交互空间进行交互的过程中,会使得场景事件、用户事件或模型的相关数据中的至少一项发生改变,则可在基于虚拟交互空间进行交互的过程中,对场景事件、用户事件或模型的相关数据中的至少一项进行更新,其中,模型的相关数据包括模型的空间位置和状态数据等,比如,对象的位置、旋转角度等物理姿态,以及对象的剩余生存期等参数,其中,剩余生存期指的是对于游戏场景中涉及的对象的虚拟生命值。其中,场景事件是指虚拟交互空间对应场景内由人机交互、人人交互或特定剧情设置而触发出的事件;用户事件是指根据用户自身姿态的变化触发出其对应的人物模型的变化事件,如人员下蹲、扭头、抬臂、伸腿等动作。如果有AR用户或VR用户接入到虚拟交互空间中,其AR用户或VR用户的运动姿态,自身姿态变化也会反馈到其他用户可视的场景中。其中,模型指的是虚拟交互空间中涉及的三维模型,或者二维模型,可以是人也可以是物体模型或者建筑物模型。
为了更好的说明及理解本发明所提供的方法的原理,下面结合一个可选的具体实施例对本发明的方案进行说明。需要说明的是,该具体实施例中的各步骤的具体实现方式并不应当理解为对于本发明方案的限定,在本发明所提供的方案的原理的基础上,本领域技术人员能够想到的其他实现方式也应视为本发明的保护范围之内。
在本示例中,以AR头盔(用户1)、手机(用户2)、PC机(用户3)三个不同类型的终端协同进行虚拟游戏为例对本发明的方案进行进一步的说明。参见图2所示的结构示意图,本方案中,服务器由一台云端云服务器实现。三个终端用户通过互联网与服务器连接,分别为终端1,终端2和终端3。
步骤1:所有用户(终端1,终端2和终端3)登录后,由用户1(用户名Tiger)建立交互空间(虚拟交互空间),向服务器发送创建请求,该创建请求对应的信令如下:
其中,Header为协议头信息,本示例中字段取值0xAAF;UsrID为终端用户识别号,即终端标识,本示例中字段取值0xEEEE0001,终端标识在服务器中与终端的用户名有一一映射关系;SpaceParaContainer为交互空间属性信息,交互空间属性信息包括Name(空间名称)、UsrNum(空间中的用户数上限,也可称为空间最多可支持的用户数)、MapID(标准场景ID,也可称为标准场景标识,本例中即为游戏地图编号,游戏地图编号与地图名称有一一对应关系)、Visible(空间可见范围,本例中可选局域网、大区网或全网)、Type(平台的限定范围,即允许进入空间的终端类型,每个bit代表一类终端平台,本例中表示支持所有类型终端平台)。
步骤2:服务器收接收到用户1的创建请求后,为该用户1分配交互空间资源,并将空间信息在服务器维护的公告区发布。空间信息具体可包括以下内容:
其中,虚拟交互空间的空间标识为序号1,空间的建立者是用户1(Tiger),即虚拟交互空间的创建者的名称为Tiger,空间名称为WarSpace,当前使用的游戏地图为ADust2,即标准场景标识为ADust2,空间支持8人,即空间最多可支持的用户数为8人,当前1人在线,即空间已进入的用户数为1人,目前空间属于开放状态,即空间状态为可进入。其他信息包含在Data.pkg文件中,Data.pkg可包括如下内容:
ADust2地图的三维信息(空间维度):3D地图、包括4个时区,每个时区的初始帧率为50FPS;
事件列表:游戏中涉及的各种事件,每种事件都包括一个相应的编号,本示例中包括射击事件(0x0001)、爆炸事件(0x0002)、子弹运动事件(0x0003)、击中敌人事件(0x0004)、被击中事件(0x0005)、医疗事件(0x0006)、闪光事件(0x0007)。
用户数据交互数据格式(交互过程中涉及到的数据的数据格式):
上行终端初始信息的数据包具体包括以下内容,其中,上行终端初始信息指的是服务器接收到的一个终端的反馈信息对应的数据格式,该数据包的数据格式可包括以下内容:
其中,数据包头的数值范例为0xAAD,即0xAAD仅是一个示例,终端用户ID为终端标识,平台类型,即终端类型为0x1,0x1表征AR设备,0x2表征VR设备,0x3表征手机设备,0x4表征PC台式机专用软件,0x5表征Web;期望时区为终端期望所处时区,对应的时区标识,即时区ID为0x01。
上行终端帧率确认数据包具体包括以下内容,其中,上行终端帧率确认数据包指的是终端确认进行帧率调整后向服务器发送的数据包,该数据包的数据格式可参见以下内容:
数值范例 说明
数据包头 0xAAE
终端用户ID 0xEEEE0001
帧率调整 (1,55) 1表示调整,55表示调整到55fps
其中,数据包头的数值范例为0xAAE,终端用户ID,即终端标识为0xEEEE0001,帧率调整对应的数值范例为(1,55),其中,1表示调整帧率,55表示帧率调整到55fps。
上行终端数据包具体包括以下内容,其中,该数据包为服务器接收到的终端用户的相关信息的数据格式,该数据包中包括了终端用户(比如,用户1)对应的模型(用户1本身)的姿态数据的数据格式,该数据包的数据格式具体包括以下内容:
其中,终端用户对应的姿态数据包括视角朝向、站立、蹲伏、跳跃、奔跑、行走、射击、射击朝向、头部姿态和左手姿态,说明对应是对各个姿态的解释说明。数值范围指的是不同的姿态通过不同的数值进行表征,比如,1标识站立,(90,120,180)中90表示射击朝向为横滚,120表示射击朝向为旋转,180表示射击朝向为俯仰角度。
下行专用数据包具体包括以下内容,其中,该数据包为服务器发送给各终端用户的用户相关信息的数据格式,该数据包中包括了各终端用户(比如,用户1,用户2和用户3)对应的模型的姿态数据,该数据包的数据格式具体包括以下内容:
/>
/>
其中,用户数据标识表示的是该数据包之后是否还有后续的数据,比如,取值为DATA表示后续有数据,取值NONE,表示后续无数据。用户id为终端标识,该数据包中包括了终端用户0xEEEE0001、0xEEEE0002和0xEEEE0003的姿态数据。
下行组播数据包(时区)具体包括以下内容,其中,该数据包为服务器发送给各终端用户的时区相关信息的数据格式,该数据包中包括了各时区(比如,时区0x01,时区0x02和时区0x03)对应的帧率,该数据包的数据格式具体包括以下内容:
数值范例 说明
数据包头 0xFFF1
时区ID 0x01
时区帧率调整 (1,50)
时区ID 0x02
时区帧率调整 (1,50)
时区ID 0x03
时区帧率调整 (1,50)
时区ID 0x04
时区帧率调整 (1,50)
其中,时区0x01、时区0x02和时区0x03的时区帧率调整对应的数值范例均为(1,50),其中,1表示调整帧率,50表示将帧率调整至50fps。
下行组播数据包(上报命令)具体包括以下内容,其中,该数据包为服务器发送给各终端用户的信息上报请求对应的数据格式,该数据包的数据格式具体包括以下内容:
数值范例 说明
数据包头 0xFFF2
终止时间 20211008105524 年月日时分秒
其中,终止时间表示在该时间之前接收到的反馈信息对应的终端允许进入空间,超过该时间接收到的反馈信息对应的终端不允许进入空间。终止时间具体通过年月日时分秒表征,比如,20211008105524,表示的是2021年10月8日10点55分24秒。
用户2和用户3在公告区看到用户1的空间信息后,进入空间,并从公告区内读取空间完整信息,得知游戏地图信息、时区划分、帧率、上传数据的格式、服务器下发数据和命令的数据格式等消息。
用户2和用户3进入空间,参与游戏。
用户1看到用户2和用户3进入游戏空间后,点击开始游戏,将开始信号发给服务器。
步骤3:服务器时刻监听到来自用户1的信息。
步骤4:收到开始命令后,服务器为该游戏分配调度器资源,并以组播的形式向用户1、用户2和用户3下发初始信息上报命令(信息上报请求),同时启动计时器T1。收到信息上报请求后,用户1、用户2和用户3分别上报信息(反馈信息)。各用户上报的反馈信息如下:
用户1:
数值范例
数据包头 0xAAD
终端用户ID 0xEEEE0001
平台类型 0x1
期望时区 0x01
其中,用户1的终端标识(终端用户ID)为0xEEEE0001,终端类型(平台类型)为0x1,AR设备,期望所处时区(期望时区)为0x01。
用户2:
数值范例
数据包头 0xAAD
终端用户ID 0xEEEE0002
平台类型 0x3
期望时区 0x02
其中,用户2的终端标识(终端用户ID)为0xEEEE0002,终端类型(平台类型)为0x3,手机设备,期望所处时区(期望时区)为0x02。
用户3:
数值范例
数据包头 0xAAD
终端用户ID 0xEEEE0003
平台类型 0x4
期望时区 0x03
其中,用户3的终端标识(终端用户ID)为0xEEEE0003,终端类型(平台类型)为0x4,PC台式机专用软件,期望所处时区(期望时区)为0x03。
步骤5:T1计时器超时前,服务器接收各终端用户的信息反馈(反馈信息)。
步骤6:服务器为该空间游戏场景分配的调度器开始工作,进入循环调度模式。调度器为4个时区每个时区维护一个计时器T2,即四个计时器分别为T21,T22,T23,T24,同时为每个用户各自维护一个计时器T3,即T31,T32,T33。
步骤7:每次调度前首先判断调度终止条件是否满足。本示例中,调度终止条件为只有一个用户生存,或用户1结束游戏。如不满足终止条件,则调度器继续执行调度操作,如满足终止条件,则调度器跳出循环,交互场景的调度结束。一旦调度结束,服务器将交互过程中的统计数据以及日志保存在服务器本地,并以组播的形式,向用户1、用户2和用户3下发,完成下发后,服务器释放调度器资源。
步骤8:服务器异步实时接收终端用户的所有上传交互数据包,并按照基本调度时间粒度(设定时间)进行调度和计算,本例中设置基本调度时间粒度为5ms,每5ms内,调度器将4个时区逐个进行参数更新(模型的相关数据更新)、场景事件更新、用户事件更新。将每个用户的生命值、每个用户在场景中的实时位置、下发给其他用户;如两个用户相遇,通过相互的射击事件,计算命中情况,并更新用户的生命值,并通知相关用户;此外,调度器还将每个用户的姿态信息实时的下发给其他用户,使其运动形象在虚拟交互空间中体现更加逼真。
步骤9:每5ms调度时间粒度内的计算完成后,统计各时区的计算所需时长(第一计算时长),也统计每个用户计算所占用的时长(第二计算时长)。
步骤10:本例中,时区3和时区4为战斗常发地区,所以帧率更新需要更频繁,所以可设置时区3和时区4的帧率更新时间间隔为T23=T24=1000ms,时区1和时区2相对战斗发生概率较低,因此可设置时区1和时区2的帧率更新时间间隔为T21=T22=2000ms;AR设备计算能力最弱,所以其帧率更新时间间隔设置为T31=400ms,手机计算能力次之,所以设置帧率更新时间间隔为T32=200ms,PC处理能力最强,因此设置帧率更新时间间隔为T33=100ms,帧率更新也更频繁。调度循环中,每次5ms调度计算结束后,调度器会遍历所有T2和T3计时器。首先查看每个时区的T2计时器,若该时区的T2计时器超时,则服务器评估该时区的帧率状态(时区处理能力),根据该时区统计的第一计算时长,决定上调、保持或下调该时区的帧率上限,即如果第一计算时长变长(大于第一阈值),说明近期交互比较频繁,则提升帧率,如果第一计算时长变短(小于第二阈值),说明计算任务减少,交互较不频繁,则降低帧率;如果第一计算时长不小于第二阈值,且不大于第一阈值,则表示帧率状态合适,即当前帧率与计算能力相匹配,可保持该时区对应的帧率不变。每个终端的计算耗时(第二计算时长)统计也依此规律,作为调整终端的帧率的依据。
当调度器判断应调整时区和终端的帧率时,会向相应的用户发送下行数据包,以调整相应的帧率。用户收到数据包后,发送上行数据包(上行终端帧率确认数据包)进行确认,服务器的调度器收到反馈数据包(上行终端帧率确认数据包)后确认帧率更新完成,进入下一次调度循环。
基于与图1中所示的方法相同的原理,本发明实施例还提供了一种基于虚拟交互空间的交互装置20,如图3中所示,该基于虚拟交互空间的交互装置20可以包括交互请求获取模块210、反馈信息接收模块220和目标帧率确定模块230,其中:
交互请求获取模块210,用于获取针对虚拟交互空间的交互请求,根据交互请求,向各终端类型的终端发送信息上报请求,信息上报请求中包括虚拟交互空间的空间标识;
反馈信息接收模块220,用于接收各终端中至少一个终端基于信息上报请求发送的反馈信息,对于每个终端,反馈信息中包括该终端的终端参数和所处的第一时区,终端参数包括终端类型;
目标帧率确定模块230,用于根据至少一个终端中各个终端的终端参数和各个终端各自所处的第一时区,确定虚拟交互空间对应的目标帧率,以使加入到虚拟交互空间中的各终端根据目标帧率进行交互;
其中,不同的终端参数对应不同的帧率,不同时区对应不同的帧率。
可选的,在获取针对虚拟交互空间的交互请求之前,该装置还包括:
空间创建模块,用于把获取用户针对虚拟交互空间的创建请求,创建请求中包括用户的终端的终端标识和虚拟交互空间中允许进入空间的终端类型;根据创建请求,创建虚拟交互空间,并生成虚拟交互空间的空间标识;信息上报请求中还包括允许进入空间的终端类型,则加入到虚拟交互空间中的各终端是与允许进入空间的终端类型匹配的终端。
可选的,若虚拟交互空间对应至少两个时区,对于每个终端,上述反馈信息中包含的该终端所处的第一时区为至少两个时区中的任一时区;上述目标帧率确定模块230在根据至少一个终端中各个终端的终端参数和各个终端各自所处的第一时区,确定虚拟交互空间对应的目标帧率,以使加入到虚拟交互空间中的各终端根据目标帧率进行交互时,具体用于:根据至少一个终端中各个终端的终端参数和各个终端各自所处的第一时区,确定每个终端在各自所处的第一时区所对应的目标帧率,以使加入到虚拟交互空间中的各终端根据各自对应的目标帧率进行交互;其中,虚拟交互空间对应的目标帧率包括每个终端在各自所处的第一时区所对应的目标帧率;
该装置还包括:目标帧率更新模块,用于在基于虚拟交互空间进行交互的过程中,获取加入到虚拟交互空间中的各个终端的位置;对于每个终端,根据该终端的位置,确定该终端所处的第二时区;在该终端所处的第二时区不是该终端所处的第一时区时,根据该终端所处的第二时区,调整该终端对应的目标帧率,得到调整后的帧率,以使该终端根据调整后的帧率进行交互。
可选的,该装置还包括:时区帧率更新模块,用于在基于虚拟交互空间进行交互的过程中,获取虚拟交互空间对应的时区的时区处理能力参数;对于每个时区,根据该时区对应的时区处理能力参数,调整该时区对应的帧率。
可选的,该装置还包括:终端帧率更新模块,用于在基于虚拟交互空间进行交互的过程中,获取加入到虚拟交互空间中的各个终端的终端能力参数;对于每个终端,根据该终端的终端能力参数,调整该终端对应的帧率。
可选的,该装置还包括:上限帧率确定模块,用于获取虚拟交互空间对应的时区的时区相关信息,时区相关信息包括所属区域、计算能力和当前所拥有的终端数量;根据该时区的时区相关信息,确定该时区对应的上限帧率,以使处于该时区内的终端对应的目标帧率不大于上限帧率。
可选的,该装置还包括:交互相关数据更新模块,用于在基于虚拟交互空间进行交互的过程中,按照虚拟交互空间对应的时区对交互相关数据进行更新,交互相关数据包括场景事件、用户事件或模型的相关数据中的至少一项,模型为虚拟交互空间中涉及的对象。
本发明实施例的基于虚拟交互空间的交互装置可执行本发明实施例所提供的基于虚拟交互空间的交互方法,其实现原理相类似,本发明各实施例中的基于虚拟交互空间的交互装置中的各模块、单元所执行的动作是与本发明各实施例中的基于虚拟交互空间的交互方法中的步骤相对应的,对于基于虚拟交互空间的交互装置的各模块的详细功能描述具体可以参见前文中所示的对应的基于虚拟交互空间的交互方法中的描述,此处不再赘述。其中,上述基于虚拟交互空间的交互装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于虚拟交互空间的交互装置为一个应用软件;该装置可以用于执行本发明实施例提供的方法中的相应步骤。
在一些实施例中,本发明实施例提供的基于虚拟交互空间的交互装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的基于虚拟交互空间的交互装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于虚拟交互空间的交互方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在另一些实施例中,本发明实施例提供的基于虚拟交互空间的交互装置可以采用软件方式实现,图3示出了存储在存储器中的基于虚拟交互空间的交互装置,其可以是程序和插件等形式的软件,并包括一系列的模块,包括交互请求获取模块210、反馈信息接收模块220和目标帧率确定模块230,用于实现本发明实施例提供的基于虚拟交互空间的交互方法。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定。
基于与本发明的实施例中所示的方法相同的原理,本发明的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机程序;处理器,用于通过调用计算机程序执行本发明任一实施例所示的方法。
在一个可选实施例中提供了一种电子设备,如图4所示,图4所示的电子设备30包括:处理器310和存储器330。其中,处理器310和存储器330相连,如通过总线320相连。可选地,电子设备30还可以包括收发器340,收发器340可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器340不限于一个,该电子设备30的结构并不构成对本发明实施例的限定。
处理器310可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器310也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线320可包括一通路,在上述组件之间传送信息。总线320可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线320可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器330可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器330用于存储执行本发明方案的应用程序代码(计算机程序),并由处理器310来控制执行。处理器310用于执行存储器330中存储的应用程序代码,以实现前述方法实施例所示的内容。其中,电子设备也可以是终端设备,图4示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
根据本发明的另一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种实施例实现方式中提供的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
应该理解的是,附图中的流程图和框图,图示了按照本发明各种实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例提供的计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种基于虚拟交互空间的交互方法,其特征在于,包括以下步骤:
获取针对虚拟交互空间的交互请求,根据所述交互请求,向各终端类型的终端发送信息上报请求,所述信息上报请求中包括所述虚拟交互空间的空间标识;
接收各所述终端中至少一个终端基于所述信息上报请求发送的反馈信息,对于每个终端,所述反馈信息中包括该终端的终端参数和所处的第一时区,所述终端参数包括终端类型;
根据所述至少一个终端中各个终端的终端参数和各个所述终端各自所处的第一时区,确定所述虚拟交互空间对应的目标帧率,以使加入到所述虚拟交互空间中的各终端根据所述目标帧率进行交互;
其中,不同的终端参数对应不同的帧率,不同时区对应不同的帧率;
所述根据所述至少一个终端中各个终端的终端参数和各个所述终端各自所处的第一时区,确定所述虚拟交互空间对应的目标帧率,包括:
根据所述至少一个终端中各个终端的终端参数,确定各个终端的终端参数对应的第一帧率;
根据所述至少一个终端中各个终端各自所处的第一时区,确定各个所述第一时区对应的第二帧率;
从各个第一帧率和各个第二帧率中选择帧率最小的帧率作为所述目标帧率。
2.根据权利要求1所述的方法,其特征在于,在获取针对虚拟交互空间的交互请求之前,所述方法还包括:
获取用户针对所述虚拟交互空间的创建请求,所述创建请求中包括所述用户的终端的终端标识和所述虚拟交互空间中允许进入空间的终端类型;
根据所述创建请求,创建所述虚拟交互空间,并生成所述虚拟交互空间的空间标识;
所述信息上报请求中还包括所述允许进入空间的终端类型,则加入到所述虚拟交互空间中的各终端是与所述允许进入空间的终端类型匹配的终端。
3.根据权利要求1所述的方法,其特征在于,若所述虚拟交互空间对应至少两个时区,对于每个终端,所述反馈信息中包含的该终端所处的第一时区为所述至少两个时区中的任一时区;
所述根据所述至少一个终端中各个终端的终端参数和各个所述终端各自所处的第一时区,确定所述虚拟交互空间对应的目标帧率,以使加入到所述虚拟交互空间中的各终端根据所述目标帧率进行交互,包括:
根据所述至少一个终端中各个终端的终端参数和各个所述终端各自所处的第一时区,确定每个终端在各自所处的第一时区所对应的目标帧率,以使加入到所述虚拟交互空间中的各终端根据各自对应的目标帧率进行交互;
其中,所述虚拟交互空间对应的目标帧率包括每个终端在各自所处的第一时区所对应的目标帧率;
所述方法还包括:
在基于所述虚拟交互空间进行交互的过程中,获取加入到所述虚拟交互空间中的各个终端的位置;
对于每个终端,根据该终端的位置,确定该终端所处的第二时区;
对于每个所述终端,在该终端所处的第二时区不是该终端所处的第一时区时,根据该终端所处的第二时区,调整该终端对应的目标帧率,得到调整后的帧率,以使该终端根据所述调整后的帧率进行交互。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在基于所述虚拟交互空间进行交互的过程中,获取所述虚拟交互空间对应的时区的时区处理能力参数;
对于每个所述时区,根据该时区对应的时区处理能力参数,调整该时区对应的帧率。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在基于所述虚拟交互空间进行交互的过程中,获取加入到所述虚拟交互空间中的各个终端的终端能力参数;
对于每个终端,根据该终端的终端能力参数,调整该终端对应的帧率。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
获取所述虚拟交互空间对应的时区的时区相关信息,所述时区相关信息包括所属区域、计算能力和当前所拥有的终端数量;
根据该时区的时区相关信息,确定该时区对应的上限帧率,以使处于该时区内的终端对应的目标帧率不大于所述上限帧率。
7.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在基于所述虚拟交互空间进行交互的过程中,按照所述虚拟交互空间对应的时区对交互相关数据进行更新,所述交互相关数据包括场景事件、用户事件或模型的相关数据中的至少一项,所述模型为所述虚拟交互空间中涉及的对象。
8.一种基于虚拟交互空间的交互装置,其特征在于,包括:
交互请求获取模块,用于获取针对虚拟交互空间的交互请求,根据所述交互请求,向各终端类型的终端发送信息上报请求,所述信息上报请求中包括所述虚拟交互空间的空间标识;
反馈信息接收模块,用于接收各所述终端中至少一个终端基于所述信息上报请求发送的反馈信息,对于每个终端,所述反馈信息中包括该终端的终端参数和所处的第一时区,所述终端参数包括终端类型;
目标帧率确定模块,用于根据所述至少一个终端中各个终端的终端参数和各个所述终端各自所处的第一时区,确定所述虚拟交互空间对应的目标帧率,以使加入到所述虚拟交互空间中的各终端根据所述目标帧率进行交互;
其中,不同的终端参数对应不同的帧率,不同时区对应不同的帧率;
所述目标帧率确定模块在根据所述至少一个终端中各个终端的终端参数和各个所述终端各自所处的第一时区,确定所述虚拟交互空间对应的目标帧率时,具体用于:
根据所述至少一个终端中各个终端的终端参数,确定各个终端的终端参数对应的第一帧率;
根据所述至少一个终端中各个终端各自所处的第一时区,确定各个所述第一时区对应的第二帧率;
从各个第一帧率和各个第二帧率中选择帧率最小的帧率作为所述目标帧率。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。
CN202111573689.3A 2021-12-21 2021-12-21 基于虚拟交互空间的交互方法、装置、电子设备及介质 Active CN114398190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111573689.3A CN114398190B (zh) 2021-12-21 2021-12-21 基于虚拟交互空间的交互方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111573689.3A CN114398190B (zh) 2021-12-21 2021-12-21 基于虚拟交互空间的交互方法、装置、电子设备及介质

Publications (2)

Publication Number Publication Date
CN114398190A CN114398190A (zh) 2022-04-26
CN114398190B true CN114398190B (zh) 2024-01-30

Family

ID=81227848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111573689.3A Active CN114398190B (zh) 2021-12-21 2021-12-21 基于虚拟交互空间的交互方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN114398190B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110012328A (zh) * 2019-03-13 2019-07-12 青岛海信传媒网络技术有限公司 一种与智能电视交互的方法及装置
CN111346371A (zh) * 2020-03-02 2020-06-30 腾讯科技(深圳)有限公司 一种信息处理方法、装置及计算机可读存储介质
CN111913564A (zh) * 2019-05-07 2020-11-10 广东虚拟现实科技有限公司 虚拟内容的操控方法、装置、系统、终端设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150208079A1 (en) * 2014-01-22 2015-07-23 Nvidia Corporation Adaptive frame type detection for real-time low-latency streaming servers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110012328A (zh) * 2019-03-13 2019-07-12 青岛海信传媒网络技术有限公司 一种与智能电视交互的方法及装置
CN111913564A (zh) * 2019-05-07 2020-11-10 广东虚拟现实科技有限公司 虚拟内容的操控方法、装置、系统、终端设备及存储介质
CN111346371A (zh) * 2020-03-02 2020-06-30 腾讯科技(深圳)有限公司 一种信息处理方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN114398190A (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
CN107392783B (zh) 基于虚拟现实的社交方法及装置
CN111737012B (zh) 数据包的同步方法、装置、设备及存储介质
CN109413480A (zh) 画面处理方法、装置、终端及存储介质
US20230044770A1 (en) Method and apparatus for using virtual item, device, and storage medium
CN108057249B (zh) 一种业务数据处理方法和装置
US8887072B2 (en) Method of managing a set of virtual environment control entities, device, and corresponding computer program product
CN110465087A (zh) 虚拟物品的控制方法、装置、终端及存储介质
WO2022151795A1 (zh) 投票结果的显示方法, 装置, 设备, 存储介质及程序产品
US11559737B2 (en) Video modification and transmission using tokens
CN111672113B (zh) 虚拟对象的选择方法、装置、设备及存储介质
CN106471444A (zh) 一种虚拟3d机器人的交互方法、系统及机器人
CN113952720A (zh) 游戏场景渲染方法、装置、电子设备及存储介质
WO2023103617A1 (zh) 用户界面的显示方法、装置、设备、介质及程序产品
CN114398190B (zh) 基于虚拟交互空间的交互方法、装置、电子设备及介质
CN116863058B (zh) 一种基于gpu的视频数据处理系统
CN109766046B (zh) 互动操作的执行方法和装置、存储介质、电子装置
CN112221151B (zh) 一种地图生成方法、装置、计算机设备及存储介质
CN114885199A (zh) 实时互动方法、装置、电子设备、存储介质及系统
CN106658208B (zh) 一种直播互动的方法及装置
CN108171671A (zh) 一种放大眼睛的美型方法及装置
US10668384B2 (en) System using rule based techniques for handling gameplay restrictions
CN112312151A (zh) 一种数据更新方法、装置和存储介质
US20220314118A1 (en) Virtual character selection method and apparatus, device, storage medium, and program product
CN116637358B (zh) 一种数据传输的方法、相关装置、设备以及存储介质
CN116764212A (zh) 游戏中跟随队友的方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant