CN111870963B - 游戏观战方法、装置和电子设备 - Google Patents
游戏观战方法、装置和电子设备 Download PDFInfo
- Publication number
- CN111870963B CN111870963B CN202010780685.1A CN202010780685A CN111870963B CN 111870963 B CN111870963 B CN 111870963B CN 202010780685 A CN202010780685 A CN 202010780685A CN 111870963 B CN111870963 B CN 111870963B
- Authority
- CN
- China
- Prior art keywords
- camera
- parameters
- sightseeing
- data
- parameter
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000001360 synchronised effect Effects 0.000 claims abstract description 35
- 238000013507 mapping Methods 0.000 claims description 53
- 230000006835 compression Effects 0.000 claims description 41
- 238000007906 compression Methods 0.000 claims description 41
- 238000004422 calculation algorithm Methods 0.000 claims description 29
- 230000000007 visual effect Effects 0.000 claims description 18
- 230000009471 action Effects 0.000 claims description 5
- 239000000203 mixture Substances 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010304 firing Methods 0.000 description 4
- 239000011521 glass Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/85—Providing additional services to players
- A63F13/86—Watching games played by other players
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种游戏观战方法、装置和电子设备。其中,该方法包括:读取相机的相机同步数据;其中,相机同步数据包括相机参数和相机基于相机参数采集的游戏画面数据;压缩相机参数;将游戏画面数据和压缩后的相机参数组成观战数据帧,观战数据帧用于观战用户的终端显示第一虚拟角色的游戏画面。压缩相机参数并将压缩后的相机参数和游戏画面数据组成观战数据帧,观战用户的终端可以根据观战数据帧显示第一虚拟角色的游戏画面。压缩相机参数后可以减少相机同步数据的大小,降低传输相机同步数据的流量,观战用户观战时可以流畅观看第一虚拟角色的游戏画面,游戏画面不存在卡顿,从而提升观战用户的体验度。
Description
技术领域
本发明涉及商用游戏观战技术领域,尤其是涉及一种游戏观战方法、装置和电子设备。
背景技术
随着游戏内容越来越丰富,玩家可以在游戏中对其他玩家进行观战以观看其他玩家的视角。由于游戏主播和电竞赛事逐渐获得更多人的关注,对游戏观战的需求也变越来越多。为了为观战用户提供更好的观战体验,往往需要让观战用户的相机镜头无限接近被观战用户的相机镜头。
其中,一般的观战流程如下:观战用户进入被观战用户的游戏场景;观战用户隐身,不处理自身逻辑;观战用户的相机挂接到被观战用户身上;观战用户接收同步的相机同步数据。其中,相机同步数据需要连续同步传输,高频的同步往往带来巨大的流量消耗,流量消耗过高又会导致观战卡顿等负面影响,降低观战用户的体验度。
发明内容
有鉴于此,本发明的目的在于提供一种游戏观战方法、装置和电子设备,以降低传输相机同步数据需要的流量,提升观战用户的体验度。
第一方面,本发明实施例提供了一种游戏观战方法,方法包括:读取相机的相机同步数据;其中,相机同步数据包括相机参数和相机基于相机参数采集的游戏画面数据;压缩相机参数;将游戏画面数据和压缩后的相机参数组成观战数据帧,观战数据帧用于观战用户的终端显示第一虚拟角色的游戏画面。
在本发明较佳的实施例中,上述压缩相机参数的步骤,包括:压缩相机参数中的角度参数;角度参数包括姿态角参数和/或可视范围参数;确定相机参数中的指定参数对应的映射值;指定参数包括以下至少之一:相机模式参数、相机同步间隔参数、偏移量参数和碰撞体类型;其中,映射值的字节长度小于指定参数的字节长度。
在本发明较佳的实施例中,上述姿态角参数包括:俯仰角和偏航角;上述压缩相机参数中的角度参数的步骤,包括:将俯仰角和偏航角划分为整数部分和小数部分;基于预先设定的第一压缩算法分别压缩俯仰角的整数部分和偏航角的整数部分;基于预先设定的第二压缩算法分别压缩俯仰角的小数部分和偏航角的小数部分;将压缩后的俯仰角的整数部分、俯仰角的小数部分、偏航角的整数部分和偏航角的小数部分组成压缩后的姿态角参数。
在本发明较佳的实施例中,上述映射值为二进制数据。
在本发明较佳的实施例中,上述确定相机参数中的指定参数对应的映射值的步骤,包括:如果指定参数包含相机模式参数,检测相机模式是否为第一人称模式,如果是,设置相机模式参数对应的映射值为预设第一值;如果否,设置相机模式参数对应的映射值为预设第二值。
在本发明较佳的实施例中,上述角度参数包括姿态角参数和可视范围参数;指定参数包括相机模式参数、相机同步间隔参数和偏移量参数;上述压缩相机参数的步骤,还包括:如果相机模式为第一人称模式,将压缩后的姿态角参数,以及相机模式参数、相机同步间隔参数和偏移量参数分布对应的映射值组成第一长整型数据,将第一长整型数据作为压缩后的相机参数;如果相机模式为第三人称模式,将压缩后的姿态角参数和可视范围参数,以及相机模式参数、相机同步间隔参数和偏移量参数分布对应的映射值组成第二长整型数据,将第二长整型数据作为压缩后的相机参数。
在本发明较佳的实施例中,上述读取相机的相机同步数据的步骤,包括:确定第一虚拟角色的在图形用户界面中的姿态;如果第一虚拟角色的姿态为发射状态,基于预设的第一同步间隔读取相机的相机同步数据;如果第一虚拟角色的姿态不为发射状态,基于预设的第二同步间隔读取相机的相机同步数据;其中,第一同步间隔小于第二同步间隔。
在本发明较佳的实施例中,上述确定第一虚拟角色的在图形用户界面中的姿态的步骤之后,方法还包括:如果第一虚拟角色的姿态为发射状态,在第一虚拟角色进行射击动作时读取相机的相机同步数据。
在本发明较佳的实施例中,上述方法还包括:将观战数据帧发送至观战用户的终端。
第二方面,本发明实施例还提供一种游戏观战装置,装置包括:相机同步数据读取模块,用于读取相机的相机同步数据;其中,相机同步数据包括相机参数和相机基于相机参数采集的游戏画面数据;相机参数压缩模块,用于压缩相机参数;观战数据帧组成模块,用于将游戏画面数据和压缩后的相机参数组成观战数据帧,观战数据帧用于观战用户的终端显示第一虚拟角色的游戏画面。
第三方面,本发明实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述的游戏观战方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述的游戏观战方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种游戏观战方法、装置和电子设备,压缩相机参数并将压缩后的相机参数和游戏画面数据组成观战数据帧,观战用户的终端可以根据观战数据帧显示第一虚拟角色的游戏画面。压缩相机参数后可以减少相机同步数据的大小,降低传输相机同步数据的流量,观战用户观战时可以流畅观看第一虚拟角色的游戏画面,游戏画面不存在卡顿,从而提升观战用户的体验度。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种图形用户界面的示意图;
图2为本发明实施例提供的一种游戏观战方法的流程图;
图3为本发明实施例提供的另一种游戏观战方法的流程图;
图4为本发明实施例提供的一种被观战用户进行射击时的枪口位置示意图;
图5为本发明实施例提供的一种游戏观战装置的结构示意图;
图6为本发明实施例提供的另一种游戏观战装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前观战用户在观战射击类游戏的游戏画面时,需要同步传输相机同步数据,高频的同步带来巨大的流量消耗,导致游戏画面卡顿,从而降低观战用户的体验度。基于此,本发明实施例提供的一种游戏观战方法、装置和电子设备,该技术可以应用于电脑、手机、平板电脑等可以实现人机交互的设备上,尤其可以适用于射击类游戏观战的场景中。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种游戏观战方法进行详细介绍。
本实施例提供了一种游戏观战方法,通过电子设备显示射击类游戏的图形用户界面,图形用户界面包含有第一虚拟角色,第一虚拟角色配置有用于观战用户观战的相机,电子设备和观战用户的终端均预先保存有压缩算法和指定参数的映射关系。其中,压缩算法可以为位运算压缩算法,以下实施例中的压缩算法均以位运算压缩算法为例。
本实施例中的电子设备可以是手机、电脑、平板电脑、笔记本电脑等可以进行人机交互的设备。参见图1所示的一种图形用户界面的示意图,图1中的图形用户界面包含有第一虚拟角色,第一虚拟角色是可以由被观战用户通过上述电子设备操控,并在图形用户界面进行射击操作。第一虚拟角色配置的相机可以为观战用户进行观战的相机,该相机可以采集第一虚拟角色在射击类游戏中的游戏画面数据,并将相机采集的数据由被观战用户的电子设备传输至观战用户的终端。其中,相机可以设置在第一虚拟角色的面部区域(例如眼前),采集第一虚拟角色的第一人称游戏画面数据;还可以设置在第一虚拟角色的周围区域(例如脑后),采集第一虚拟角色的第三人称游戏画面数据。
在被观战用户的电子设备和观战用户的终端中均预先保存有位运算压缩算法和指定参数的映射关系。位运算压缩算法和指定参数的映射关系用于压缩和解压缩相机采集的数据,相机采集的数据可以在被观战用户的电子设备压缩后,传输至观战用户的终端,由观战用户的终端解压缩,从而在观战用户的终端显示第一虚拟角色的游戏画面。基于上述描述,参见图2所示的一种游戏观战方法的流程图,该游戏观战方法包括如下步骤:
步骤S202,读取相机的相机同步数据;其中,相机同步数据包括相机参数和相机基于相机参数采集的游戏画面数据。
相机同步数据是指与相机相关的,需要由被观战用户的电子设备传输至观战用户的终端的数据。被观战用户在图形用户界面操控第一虚拟角色时,相机可以在指定的相机参数下采集第一虚拟角色在图形用户界面的游戏画面数据。其中,相机参数可以表征相机的模式、相机的位置、相机的采集间隔等,同步相机参数的目的是恢复观战用户观战的相机状态。
步骤S204,压缩相机参数。
被观战用户的电子设备可以预先保存有位运算压缩算法和指定参数的映射关系,对于相机同步数据中的相机参数可以通过位运算压缩算法和映射关系进行压缩。运算压缩算法和指定参数的映射关系可以将字典结构的相机参数压缩为二进制数据,从而减少压缩后的相机参数的数据大小,在进行传输时可以降低流量消耗。
步骤S206,将游戏画面数据和压缩后的相机参数组成观战数据帧,观战数据帧用于观战用户的终端显示第一虚拟角色的游戏画面。
被观战用户的电子设备可以将游戏画面数据和压缩后的相机参数组成观战数据帧,依照一定的时间顺序将战数据帧传输至观战用户的终端。观战用户的终端也预先保存有位运算压缩算法和指定参数的映射关系,可以根据有位运算压缩算法和指定参数的映射关系对观战数据帧中的相机参数进行解压缩,将解压缩后的相机参数和游戏画面数据组合为第一虚拟角色的游戏画面,并在观战用户的终端上的指定区域显示第一虚拟角色的游戏画面。
本发明实施例提供的一种游戏观战方法,压缩相机参数并将压缩后的相机参数和游戏画面数据组成观战数据帧,观战用户的终端可以根据观战数据帧显示第一虚拟角色的游戏画面。压缩相机参数后可以减少相机同步数据的大小,降低传输相机同步数据的流量,观战用户观战时可以流畅观看第一虚拟角色的游戏画面,游戏画面不存在卡顿,从而提升观战用户的体验度。
本实施例提供了另一种游戏观战方法,该方法在上述实施例的基础上实现;本实施例重点描述压缩相机参数的具体实施方式。如图3所示的另一种游戏观战方法的流程图,本实施例中的游戏观战方法包括如下步骤:
步骤S302,读取相机的相机同步数据;其中,相机同步数据包括相机参数和相机基于相机参数采集的游戏画面数据。
一般来说,读取相机的相机同步数据的时间间隔是固定的,例如:每0.2秒读取一次相机同步数据。对于时间间隔内的数据,可以通过数据差值进行计算。例如:对于相机参数中的Yaw(偏航角)参数,其中,第0秒Yaw值是30°,第0.2秒Yaw值是32°,那么如果想要获得第0.1秒的Yaw值,就可以逐帧计算数据差值,计算出第0.2秒Yaw值是31°。
然而,如果处于射击类游戏的场景中,当第一虚拟角色的姿态射击时,射击后的枪口会因为后坐力上扬,如果读取相机的相机同步数据的时刻不包括射击的时刻,那么就会采集上扬后的时刻,此时会造成观战用户看到的同步点(根据同步的相机同步数据计算数据差值得到的射击点)要高于被观战用户的实际射击位置。
参见图4所示的一种被观战用户进行射击时的枪口位置示意图,如图4所示,图4中的折线代表枪口的抖动轨迹,正常射击时枪口由于后坐力经常会向上漂移,但是如果被观战用户进行了压枪的操作(即通过鼠标下拉或者手指下划强行减少后坐力),枪口的轨迹就会变为图4所示的折线。
折线中的最低点为射击瞬间的枪口位置(即被观战用户的实际射击位置),射击之后由于后坐力枪口会上扬,实际射击位置在图4中用圆形进行标注。图4中的三角形代表读取相机同步数据的时刻,其中,每个读取相机同步数据的时刻的时间间隔是相同的。可以看出,由于图4中的三角形与圆形并不重合,差值处理之后的射击点会高于被观战用户的实际射击位置。
因此,在观战用户观战时看到的射击点偏高,会降低观战用户的观战体验。为了解决上述问题,可以控制读取相机同步数据的频率,例如:通过步骤A1-步骤A3增加用户在发射状态的读取相机同步数据的频率:
步骤A1,确定第一虚拟角色的在图形用户界面中的姿态。
可以设定第一虚拟角色处于不同的姿态的读取相机同步数据的频率不同。其中,第一虚拟角色的姿态可以指第一虚拟角色在射击类游戏场景的状态。
步骤A2,如果第一虚拟角色的姿态为发射状态,基于预设的第一同步间隔读取相机的相机同步数据。
发射状态是指第一虚拟角色举起枪口准备射击或者正在射击的姿态。第一虚拟角色在进入发射状态后可以进行射击,第一虚拟角色可以在进入发射状态后端枪准备射击,在射击结束后可以退出,例如:第一虚拟角色可以在第0-10秒处于发射状态,第2-6秒进行射击。因此,在进入发射状态后可以采用较快的间隔(即预设的第一同步间隔,可以为0.1秒)读取相机的相机同步数据,以尽量多读取相机同步数据,减少数据差值带来的观看射击点偏高的问题。
步骤A3,如果第一虚拟角色的姿态不为发射状态,基于预设的第二同步间隔读取相机的相机同步数据;其中,第一同步间隔小于第二同步间隔。
如果第一虚拟角色的姿态不为发射状态,那么就可以采用较慢的间隔(即预设的第二同步间隔,第一同步间隔小于第二同步间隔,第二同步间隔可以为0.2秒)读取相机的相机同步数据,以降低相机同步数据传输带来的流量消耗。
本发明实施例提供的上述方法,第一虚拟角色的姿态为发射状态时采用较小的第一同步间隔读取相机的相机同步数据;第一虚拟角色的姿态不为发射状态时采用较大的第二同步间隔读取相机的相机同步数据。这样做可以在发射状态时多读取相机同步数据,减少数据差值带来的观看射击点偏高的问题,增加观战用户的体验度。并且在非发射状态时少读取相机同步数据,降低相机同步数据传输带来的流量消耗。一般来说,如果传输数据的网络环境较好,发射状态时增加的相机同步数据传输也不会造成网络卡顿。
除了上述在发射状态时多读取相机同步数据的方法之外,还可以在第一虚拟角色射击时强制读取相机同步数据,例如:如果第一虚拟角色的姿态为发射状态,在第一虚拟角色进行射击动作时读取相机的相机同步数据。
当第一虚拟角色进行射击动作时读取相机的相机同步数据可以理解为在全部射击过程均读取相机同步数据,这样做可以读取第一虚拟角色的实际射击位置对应的相机同步数据,观战用户的终端无需进行差值处理,观战用户可以看到实际射击位置,从而增加观战用户的体验度。
步骤S304,压缩相机参数中的角度参数;角度参数包括姿态角参数和/或可视范围参数。
位运算压缩算法可以将角度参数由字典结构转化为二进制数据。对于姿态角参数,姿态角参数包括俯仰角Pitch、偏航角Yaw和滚转角Roll,其中,在射击类游戏中的Roll值一般为固定值,因此可以在压缩时忽略Roll值。可以通过步骤B1-步骤B4压缩Yaw值和Pitch值:
步骤B1,将俯仰角和偏航角划分为整数部分和小数部分。
对于Yaw值和Pitch值,可以将整数部分和小数部分分别进行压缩。一般来说,Yaw值和Pitch值为浮点数,每个浮点数的范围在(-π,π]的左开右闭区间,需要12-24字节,108-216比特,使用字典结构的数据量较大。
步骤B2,基于预先设定的第一压缩算法分别压缩俯仰角的整数部分和偏航角的整数部分。
第一压缩算法可以为运算压缩算法,为了压缩Yaw值和Pitch值的整数部分,可以将Yaw值和Pitch值的整数部分转化为二进制数据。由于Yaw值和Pitch值的整数部分最大为3,最小为-3,可以采用1比特描述正负符号,2比特描述整数部分的值(即3对应的二进制数据为11,需要2比特),共需要3比特描述Yaw值和Pitch值的整数部分。
步骤B3,基于预先设定的第二压缩算法分别压缩俯仰角的小数部分和偏航角的小数部分。
第二压缩算法可以为运算压缩算法,对于Yaw值和Pitch值的小数部分,考虑到一般屏幕长宽分辨率都是以千为单位,可以保留Yaw值和Pitch值的小数点后三位,从而基本保证相机镜头的准星无偏差或偏差1-2像素值,这对观战用户来说基本是无感的。小数后三位999对应的二进制数据为1111100111,共10位,因此共需要10比特描述Yaw值和Pitch值的小数部分。
步骤B4,将压缩后的俯仰角的整数部分、俯仰角的小数部分、偏航角的整数部分和偏航角的小数部分组成压缩后的姿态角参数。
将Yaw值的整数部分和小数部分以及Pitch值的整数部分和小数部分组合,可以采用13比特描述Yaw值或Pitch值,共需要26比特描述Yaw值和Pitch值。相比于元数据采用108-216比特描述Roll值、Yaw值和Pitch值,本实施例提供的上述方法可以忽略Roll值,采用26比特描述Yaw值和Pitch值,压缩率在10%左右,具有较高的压缩率。此外,对于可视范围参数可以采用与姿态角参数相同的位运算压缩算法进行压缩,这里不再赘述。
步骤S306,确定相机参数中的指定参数对应的映射值;指定参数包括以下至少之一:相机模式参数、相机同步间隔参数、偏移量参数和碰撞体类型;其中,映射值的字节长度小于指定参数的字节长度。
本实施例可以通过映射关系将指定参数转化为对应的映射值,其中,映射值为二进制数据,由于映射值的字节长度小于指定参数的字节长度,从而实现对指定参数进行压缩。例如:对于相机模式参数、相机同步间隔参数、偏移量参数和碰撞体类型,可以根据观战玩家的数据类型进行枚举建立映射关系。其中,对于相机模式参数只包括第一人称模式和第三人称模式,可以通过下述步骤确定映射值:
如果指定参数包含相机模式参数,检测相机模式是否为第一人称模式,如果是,设置相机模式参数对应的映射值为预设第一值;如果否,设置相机模式参数对应的映射值为预设第二值。
其中第一值和第二值分别为0和1。假设第一值为0,第二值为1,则相机模式为第一人称模式则相机模式参数对应的映射值为0,相机模式不为第一人称模式(即相机模式为第三人称模式)则相机模式参数对应的映射值为1。因此,通过设定映射关系,仅需要1个比特就可以描述相机模式参数。
对于偏移量参数,可以映射为相机标识,通过二进制的相机标识映射偏移量参数,即不同的相机标识可以表征不同的偏移量参数。在本实施例中可以采用10位二进制数据作为相机标识。对于相机同步间隔参数,本实施例中的相机同步间隔参数可以为0.1秒或0.2秒,可以采用2位二进制数据表征同步间隔参数。
碰撞体类型是指第一虚拟角色处于不同的姿势时相机的类型。本实施例中的碰撞体类型可以有4种,分别是:第一虚拟角色处于正常站立、趴下、靠墙、爬梯时的相机类型。因此,可以采用2位二进制数据表征碰撞体类型。
还需要说明的是,在角度参数包括姿态角参数和可视范围参数;指定参数包括相机模式参数、相机同步间隔参数和偏移量参数时,如果相机模式为第一人称模式,可视范围参数为定值,可以忽略。因此,可以通过步骤C1-步骤C2执行压缩相机参数的步骤,还包括:
步骤C1,如果相机模式为第一人称模式,将压缩后的姿态角参数,以及相机模式参数、相机同步间隔参数和偏移量参数分布对应的映射值组成第一长整型数据,将第一长整型数据作为压缩后的相机参数。
如果相机模式为第一人称模式,在组合压缩后的相机参数时忽略可视范围参数,可以将压缩后的姿态角参数,以及相机模式参数、相机同步间隔参数和偏移量参数分布对应的映射值组成第一长整型数据。如果还包括碰撞体类型,也可以将碰撞体类型添加至第一长整型数据中。参见表1所示的一种第一长整型数据的结构表:
表1
Mode:1位 | Cameraid:2-11位 | Collider:12 13位 | Pitch:14-27位 | Yaw:28-41位 | Interval:42 43位 |
表1中的Mode标识相机模式参数,可以用第1位二进制数据表示;Cameraid为相机标识,可以用第2-11位二进制数据(共10位)表示;Collider为碰撞体类型,可以用第12-13位二进制数据(共2位)表示;Pitch为俯仰角,可以用第14-27位二进制数据(共14位,预留一位)表示;Yaw为偏航角,可以用第28-41位二进制数据(共14位,预留一位)表示;Interval为相机同步间隔,可以用第42-43位二进制数据(共2位)表示。
除此以外,第一长整形数据可以共有64位,第44-64位预留表示游戏相关的其他相机数据,例如:具体玩法附加的相机参数。
步骤C2,如果相机模式为第三人称模式,将压缩后的姿态角参数和可视范围参数,以及相机模式参数、相机同步间隔参数和偏移量参数分布对应的映射值组成第二长整型数据,将第二长整型数据作为压缩后的相机参数。
如果相机模式为第三人称模式,在组合压缩后的相机参数时不能忽略可视范围参数,可以将压缩后的姿态角参数和可视范围参数,以及相机模式参数、相机同步间隔参数和偏移量参数分布对应的映射值组成第二长整型数据。如果还包括碰撞体类型,也可以将碰撞体类型添加至第二长整型数据中。第二长整型数据与第一长整型数据的结构类似,仅增加了用于表示可视范围参数的二进制数据,这里不再赘述第二长整型数据的结构。
本实施例中压缩后的第一长整型数据和第二长整型数据,相比于元数据的字典形式,极大减少了相机参数传输的数据消耗,如果计算网络封包报头的消耗(一般在80位以上),每一个相机同步网络封包的压缩率为20%-30%,具有较高的压缩效率。
步骤S308,将游戏画面数据和压缩后的相机参数组成观战数据帧,观战数据帧用于观战用户的终端显示第一虚拟角色的游戏画面。
当被观战用户的设备将游戏画面数据和压缩后的相机参数组成观战数据帧后,可以将观战数据帧发送至观战用户的终端。观战用户的终端接收到观战数据帧后,可以将观战数据帧拆分为游戏画面数据和压缩后的相机参数。由于观战用户的终端预先保存有位运算压缩算法和指定参数的映射关系,观战用户的终端可以基于有位运算压缩算法和指定参数的映射关系将压缩后的相机参数解压为相机参数。观战用户的终端之后可以将解压后的相机参数和游戏画面数据进行组合,得到第一虚拟角色的游戏画面,并将第一虚拟角色的游戏画面在观战用户的终端的指定位置上展示,以使观战用户进行观战。
本发明实施例提供的上述方法,可以对相机的相机同步数据进行压缩并进行同步频率控制,以使观战用户收获较好的游戏观战体验,减少了观战游戏需要的流量消耗。同时对于延时观战的场合,也大幅减少了服务器的流量消耗,节约了服务器和玩家的流量成本。
需要说明的是,上述各方法实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对应于上述方法实施例,本发明实施例提供了一种游戏观战装置,通过电子设备显示射击类游戏的图形用户界面,图形用户界面包含有第一虚拟角色,第一虚拟角色配置有用于观战用户观战的相机,电子设备和观战用户的终端均预先保存有位运算压缩算法和指定参数的映射关系。如图5所示的一种游戏观战装置的结构示意图,该游戏观战装置包括:
相机同步数据读取模块51,用于读取相机的相机同步数据;其中,相机同步数据包括相机参数和相机基于相机参数采集的游戏画面数据;
相机参数压缩模块52,用于压缩相机参数;
观战数据帧组成模块53,用于将游戏画面数据和压缩后的相机参数组成观战数据帧,观战数据帧用于观战用户的终端显示第一虚拟角色的游戏画面。
本发明实施例提供的一种游戏观战装置,压缩相机参数并将压缩后的相机参数和游戏画面数据组成观战数据帧,观战用户的终端可以根据观战数据帧显示第一虚拟角色的游戏画面。压缩相机参数后可以减少相机同步数据的大小,降低传输相机同步数据的流量,观战用户观战时可以流畅观看第一虚拟角色的游戏画面,游戏画面不存在卡顿,从而提升观战用户的体验度。
上述相机参数压缩模块,用于压缩相机参数中的角度参数;角度参数包括姿态角参数和/或可视范围参数;确定相机参数中的指定参数对应的映射值;指定参数包括以下至少之一:相机模式参数、相机同步间隔参数、偏移量参数和碰撞体类型;其中,映射值的字节长度小于指定参数的字节长度。
上述姿态角参数包括:俯仰角和偏航角;上述相机参数压缩模块,用于将俯仰角和偏航角划分为整数部分和小数部分;基于预先设定的第一压缩算法分别压缩俯仰角的整数部分和偏航角的整数部分;基于预先设定的第二压缩算法分别压缩俯仰角的小数部分和偏航角的小数部分;将压缩后的俯仰角的整数部分、俯仰角的小数部分、偏航角的整数部分和偏航角的小数部分组成压缩后的姿态角参数。
上述映射值为二进制数据。
上述相机参数压缩模块,用于如果指定参数包含相机模式参数,检测相机模式是否为第一人称模式,如果是,设置相机模式参数对应的映射值为预设第一值;如果否,设置相机模式参数对应的映射值为预设第二值。
上述角度参数包括姿态角参数和可视范围参数;上述指定参数包括相机模式参数、相机同步间隔参数和偏移量参数;上述相机参数压缩模块,还用于如果相机模式为第一人称模式,将压缩后的姿态角参数,以及相机模式参数、相机同步间隔参数和偏移量参数分布对应的映射值组成第一长整型数据,将第一长整型数据作为压缩后的相机参数;如果相机模式为第三人称模式,将压缩后的姿态角参数和可视范围参数,以及相机模式参数、相机同步间隔参数和偏移量参数分布对应的映射值组成第二长整型数据,将第二长整型数据作为压缩后的相机参数。
上述相机同步数据读取模块,用于确定第一虚拟角色的在图形用户界面中的姿态;如果第一虚拟角色的姿态为发射状态,基于预设的第一同步间隔读取相机的相机同步数据;如果第一虚拟角色的姿态不为发射状态,基于预设的第二同步间隔读取相机的相机同步数据;其中,第一同步间隔小于第二同步间隔。
上述相机同步数据读取模块,还用于如果第一虚拟角色的姿态为发射状态,在第一虚拟角色进行射击动作时读取相机的相机同步数据。
参见图6所示的另一种游戏观战装置的结构示意图,上述游戏观战装置还包括观战数据帧发送模块54,与观战数据帧组成模块53连接,用于将观战数据帧发送至观战用户的终端。
本发明实施例还提供了一种电子设备,用于运行上述游戏观战方法;参见图7所示的一种电子设备的结构示意图,该电子设备包括存储器100和处理器101,其中,存储器100用于存储一条或多条计算机指令,一条或多条计算机指令被处理器101执行,以实现上述游戏观战方法。
进一步地,图7所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述游戏观战方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的游戏观战方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和/或装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种游戏观战方法,其特征在于,所述方法包括:
读取相机的相机同步数据;其中,所述相机同步数据包括相机参数和所述相机基于所述相机参数采集的游戏画面数据;
压缩所述相机参数中的角度参数;所述角度参数包括姿态角参数和/或可视范围参数;
确定所述相机参数中的指定参数对应的映射值;所述指定参数包括以下至少之一:相机模式参数、相机同步间隔参数、偏移量参数和碰撞体类型;其中,所述映射值的字节长度小于所述指定参数的字节长度;
将所述游戏画面数据和压缩后的所述相机参数组成观战数据帧,所述观战数据帧用于观战用户的终端显示第一虚拟角色的游戏画面;
将所述观战数据帧发送至所述观战用户的终端,以使所述终端对所述观战数据帧中的相机参数进行解压缩,将解压缩后的所述相机参数和所述游戏画面数据组合为第一虚拟角色的游戏画面,并在所述终端的指定区域显示所述第一虚拟角色的游戏画面。
2.根据权利要求1所述的方法,其特征在于,所述姿态角参数包括:俯仰角和偏航角;
压缩所述相机参数中的角度参数的步骤,包括:
将所述俯仰角和所述偏航角划分为整数部分和小数部分;
基于预先设定的第一压缩算法分别压缩所述俯仰角的整数部分和所述偏航角的整数部分;
基于预先设定的第二压缩算法分别压缩所述俯仰角的小数部分和所述偏航角的小数部分;
将压缩后的所述俯仰角的整数部分、所述俯仰角的小数部分、所述偏航角的整数部分和所述偏航角的小数部分组成压缩后的所述姿态角参数。
3.根据权利要求1所述的方法,其特征在于,所述映射值为二进制数据。
4.根据权利要求3所述的方法,其特征在于,确定所述相机参数中的指定参数对应的映射值的步骤,包括:
如果指定参数包含所述相机模式参数,检测所述相机模式是否为第一人称模式,如果是,设置所述相机模式参数对应的映射值为预设第一值;如果否,设置所述相机模式参数对应的映射值为预设第二值。
5.根据权利要求1所述的方法,其特征在于,所述角度参数包括姿态角参数和可视范围参数;所述指定参数包括所述相机模式参数、所述相机同步间隔参数和偏移量参数;
压缩所述相机参数的步骤,还包括:
如果所述相机模式为第一人称模式,将压缩后的所述姿态角参数,以及所述相机模式参数、所述相机同步间隔参数和偏移量参数分布对应的映射值组成第一长整型数据,将所述第一长整型数据作为压缩后的所述相机参数;
如果所述相机模式为第三人称模式,将压缩后的所述姿态角参数和所述可视范围参数,以及所述相机模式参数、所述相机同步间隔参数和偏移量参数分布对应的映射值组成第二长整型数据,将所述第二长整型数据作为压缩后的所述相机参数。
6.根据权利要求1所述的方法,其特征在于,读取相机的相机同步数据的步骤,包括:
确定第一虚拟角色的在图形用户界面中的姿态;
如果所述第一虚拟角色的姿态为发射状态,基于预设的第一同步间隔读取相机的相机同步数据;
如果所述第一虚拟角色的姿态不为所述发射状态,基于预设的第二同步间隔读取所述相机的相机同步数据;其中,所述第一同步间隔小于所述第二同步间隔。
7.根据权利要求6所述的方法,其特征在于,确定所述第一虚拟角色的在图形用户界面中的姿态的步骤之后,所述方法还包括:
如果所述第一虚拟角色的姿态为所述发射状态,在所述第一虚拟角色进行射击动作时读取所述相机的相机同步数据。
8.一种游戏观战装置,所述装置包括:
相机同步数据读取模块,用于读取相机的相机同步数据;其中,所述相机同步数据包括相机参数和所述相机基于所述相机参数采集的游戏画面数据;
相机参数压缩模块,用于压缩所述相机参数中的角度参数;所述角度参数包括姿态角参数和/或可视范围参数;确定所述相机参数中的指定参数对应的映射值;所述指定参数包括以下至少之一:相机模式参数、相机同步间隔参数、偏移量参数和碰撞体类型;其中,所述映射值的字节长度小于所述指定参数的字节长度;
观战数据帧组成模块,用于将所述游戏画面数据和压缩后的所述相机参数组成观战数据帧,所述观战数据帧用于观战用户的终端显示第一虚拟角色的游戏画面;
观战数据帧发送模块,用于将所述观战数据帧发送至所述观战用户的终端,以使所述终端对所述观战数据帧中的相机参数进行解压缩,将解压缩后的所述相机参数和所述游戏画面数据组合为第一虚拟角色的游戏画面,并在所述终端的指定区域显示所述第一虚拟角色的游戏画面。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1-7任一项所述的游戏观战方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现权利要求1-7任一项所述的游戏观战方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010780685.1A CN111870963B (zh) | 2020-08-05 | 2020-08-05 | 游戏观战方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010780685.1A CN111870963B (zh) | 2020-08-05 | 2020-08-05 | 游戏观战方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111870963A CN111870963A (zh) | 2020-11-03 |
CN111870963B true CN111870963B (zh) | 2023-10-27 |
Family
ID=73211400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010780685.1A Active CN111870963B (zh) | 2020-08-05 | 2020-08-05 | 游戏观战方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111870963B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008245987A (ja) * | 2007-03-30 | 2008-10-16 | Namco Bandai Games Inc | プログラム、情報記憶媒体、ゲーム機、サーバ、及びゲームシステム |
CN103357177A (zh) * | 2010-10-12 | 2013-10-23 | 索尼计算机娱乐公司 | 使用便携式游戏装置来记录或修改在主游戏系统上实时运行的游戏或应用 |
CN110431600A (zh) * | 2017-03-17 | 2019-11-08 | 犹尼蒂知识产权有限公司 | 用于自动相机碰撞的方法和系统以及合成保存 |
CN110772786A (zh) * | 2019-10-28 | 2020-02-11 | 网易(杭州)网络有限公司 | 回合制游戏中数据处理方法、装置以及电子终端 |
-
2020
- 2020-08-05 CN CN202010780685.1A patent/CN111870963B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008245987A (ja) * | 2007-03-30 | 2008-10-16 | Namco Bandai Games Inc | プログラム、情報記憶媒体、ゲーム機、サーバ、及びゲームシステム |
CN103357177A (zh) * | 2010-10-12 | 2013-10-23 | 索尼计算机娱乐公司 | 使用便携式游戏装置来记录或修改在主游戏系统上实时运行的游戏或应用 |
CN110431600A (zh) * | 2017-03-17 | 2019-11-08 | 犹尼蒂知识产权有限公司 | 用于自动相机碰撞的方法和系统以及合成保存 |
CN110772786A (zh) * | 2019-10-28 | 2020-02-11 | 网易(杭州)网络有限公司 | 回合制游戏中数据处理方法、装置以及电子终端 |
Also Published As
Publication number | Publication date |
---|---|
CN111870963A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737882B (zh) | 图像的显示方法、装置、存储介质及电子装置 | |
CN106730815B (zh) | 一种易实现的体感互动方法及系统 | |
US11863801B2 (en) | Method and device for generating live streaming video data and method and device for playing live streaming video | |
CN111694430A (zh) | 一种ar场景画面呈现方法、装置、电子设备和存储介质 | |
CN108597432B (zh) | 亮度调节方法及相关产品 | |
CN110850961B (zh) | 一种头戴式显示设备的校准方法及头戴式显示设备 | |
CN107590474B (zh) | 解锁控制方法及相关产品 | |
CN111147749A (zh) | 拍摄方法、拍摄装置、终端及存储介质 | |
CN108176049B (zh) | 一种信息提示方法、装置、终端和计算机可读存储介质 | |
CN113038149A (zh) | 直播视频互动方法、装置以及计算机设备 | |
CN107835404A (zh) | 基于头戴式虚拟现实设备的图像显示方法、设备及系统 | |
CN112333385B (zh) | 电子防抖控制方法及装置 | |
CN111569436A (zh) | 基于直播观战中互动的处理方法、装置及设备 | |
CN113038165A (zh) | 确定编码参数组的方法、设备及存储介质 | |
CN112163993A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN113132801A (zh) | 视频播放的控制方法、装置、终端及存储介质 | |
CN111870963B (zh) | 游戏观战方法、装置和电子设备 | |
CN112702533B (zh) | 视线修正方法及视线修正装置 | |
CN108027646B (zh) | 一种终端显示防抖方法及装置 | |
CN113577766B (zh) | 对象处理方法及装置 | |
CN108960097B (zh) | 一种获取人脸深度信息的方法及装置 | |
CN112843695B (zh) | 拍摄图像的方法、装置、电子设备及存储介质 | |
CN114299201A (zh) | 动画帧的显示方法、装置、设备及存储介质 | |
CN109999490B (zh) | 一种降低联网云应用延迟的方法及系统 | |
CN112561809A (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 |