CN115463412A - A display processing method and device for cloud games - Google Patents
A display processing method and device for cloud games Download PDFInfo
- Publication number
- CN115463412A CN115463412A CN202210970378.9A CN202210970378A CN115463412A CN 115463412 A CN115463412 A CN 115463412A CN 202210970378 A CN202210970378 A CN 202210970378A CN 115463412 A CN115463412 A CN 115463412A
- Authority
- CN
- China
- Prior art keywords
- frame time
- client
- marked object
- layer
- marked
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 81
- 238000009877 rendering Methods 0.000 claims abstract description 64
- 230000002452 interceptive effect Effects 0.000 claims abstract description 13
- 239000003550 marker Substances 0.000 claims description 63
- 238000000034 method Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 17
- 239000004575 stone Substances 0.000 description 9
- HKPHPIREJKHECO-UHFFFAOYSA-N butachlor Chemical compound CCCCOCN(C(=O)CCl)C1=C(CC)C=CC=C1CC HKPHPIREJKHECO-UHFFFAOYSA-N 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 241001063191 Elops affinis Species 0.000 description 7
- 235000002756 Erythrina berteroana Nutrition 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000010437 gem Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000005452 bending Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
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/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- 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/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- 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
- A63F2300/00—Features 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/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/534—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
-
- 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
- A63F2300/00—Features 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/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/538—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
技术领域technical field
本发明涉及云计算领域,具体涉及一种云游戏的显示处理方法及装置。The present invention relates to the field of cloud computing, in particular to a display processing method and device for cloud games.
背景技术Background technique
云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,并将渲染完毕后的游戏画面压缩编码后通过网络传送给用户客户端。在云游戏模式下,用户客户端需要将操作指令发送给云服务器,云服务器根据该操作指令将相应的游戏画面传输给客户端。Cloud gaming is a gaming method based on cloud computing. In the operating mode of cloud gaming, all games run on the server side, and the rendered game screen is compressed and encoded and then transmitted to the user client through the network. In the cloud game mode, the user client needs to send an operation instruction to the cloud server, and the cloud server transmits the corresponding game screen to the client according to the operation instruction.
然而,云游戏的渲染都由服务器端完成,会造成服务器的渲染压力过大。另外,在服务器中游戏逻辑运算时间、音画渲染的时间、压缩编码的时间,网路传输的时间,都会使得用户客户端的游戏画面出现延时,降低游戏用户的体验感。However, the rendering of cloud games is all done by the server side, which will cause excessive rendering pressure on the server. In addition, the game logic calculation time, audio and video rendering time, compression coding time, and network transmission time in the server will all cause delays in the game screen of the user client and reduce the user experience of the game.
发明内容Contents of the invention
本申请实施例提供了一种云游戏的显示处理方法及装置,用于解决客户端游戏画面的延时问题,提高游戏用户的体验感。Embodiments of the present application provide a cloud game display processing method and device, which are used to solve the delay problem of the client game screen and improve the user experience of the game.
第一方面,本申请实施例提供了一种云游戏的显示处理方法,应用于客户端,包括:In the first aspect, the embodiment of the present application provides a cloud game display processing method, which is applied to the client, including:
对帧时刻下的第一标记对象和第二标记对象分别进行顶点处理,得到所述第一标记对象和所述第二标记对象的位置关系;所述第一标记对象和所述第二标记对象为所述帧时刻对应的帧时刻图像中的待显示对象;Perform vertex processing on the first marked object and the second marked object at the frame time respectively to obtain the positional relationship between the first marked object and the second marked object; the first marked object and the second marked object is the object to be displayed in the image at the frame time corresponding to the frame time;
根据所述位置关系,对所述第一标记对象进行渲染管线处理,得到第一图层,并将帧时刻信息发送至服务端;According to the positional relationship, perform rendering pipeline processing on the first marker object to obtain a first layer, and send frame time information to the server;
接收所述服务端发送的回传画面,并解码所述回传画面得到第二图层;所述回传画面是服务端根据所述帧时刻信息得到的所述位置关系,对所述第二标记对象进行渲染管线处理得到的;receiving the returned image sent by the server, and decoding the returned image to obtain a second layer; the returned image is the positional relationship obtained by the server according to the frame time information, and the second Marked objects are obtained through rendering pipeline processing;
根据所述第一图层和所述第二图层,得到所述帧时刻图像。According to the first layer and the second layer, the image at the frame time is obtained.
通过将游戏画面的内容按照用户需求分为两类,将用户较为关注的互动内容、强实时性的内容在客户端进行渲染,大大减小了服务端的渲染压力,均衡了服务端的负载,使得服务器上的消耗变小,可以同时支持更多的客户端,同时避免服务端传输速度慢、网络延迟而造成用户关注内容的画面延迟问题,提高了用户的游戏体验感。By dividing the content of the game screen into two categories according to user needs, the interactive content and strong real-time content that users are more concerned about are rendered on the client side, which greatly reduces the rendering pressure on the server side, balances the load on the server side, and makes the server The online consumption is reduced, and more clients can be supported at the same time. At the same time, it avoids the slow transmission speed of the server and the network delay, which causes the screen delay of the content that the user pays attention to, and improves the user's game experience.
可选地,所述第一标记对象是基于用户在所述客户端的游戏操作确定的互动内容;所述第二标记对象是除所述客户端的游戏操作确定的互动内容之外的背景内容。Optionally, the first marked object is interactive content determined based on the user's game operation on the client; the second marked object is background content other than the interactive content determined by the client's game operation.
将用户较为关注的互动内容、强实时性的内容在客户端进行渲染,使得这部分内容的延时较低,提高了用户的游戏体验感。The interactive content and real-time content that users are more concerned about are rendered on the client side, so that the delay of this part of the content is low, and the user's game experience is improved.
可选地,所述第一标记对象和所述第二标记对象是通过软件开发工具包对所述云游戏中定义的对象进行标记得到的。Optionally, the first marked object and the second marked object are obtained by marking objects defined in the cloud game through a software development kit.
通过软件开发工具包对云游戏中定义的对象进行标记,便于客户端和服务端进行识别。Mark the objects defined in the cloud game through the software development kit, which is convenient for the client and server to identify.
可选地,所述帧时刻信息包括所述客户端在所述帧时刻下的摄像机信息、基于用户在所述客户端的游戏操作对应的操作事件信息和基于所述操作事件信息得到的游戏事件信息。Optionally, the frame time information includes camera information of the client at the frame time, operation event information corresponding to the user's game operation on the client, and game event information obtained based on the operation event information .
可选地,根据所述位置关系,对所述第一标记对象进行渲染管线处理,得到第一图层,包括:Optionally, according to the positional relationship, performing rendering pipeline processing on the first marker object to obtain a first layer, including:
根据所述位置关系,确定所述第一标记对象未被遮挡的部分;determining the unoccluded portion of the first marked object according to the positional relationship;
对所述第一标记对象未被遮挡的部分进行渲染管线处理,得到第一图层。Perform rendering pipeline processing on the unoccluded part of the first marked object to obtain the first layer.
通过位置关系,客户端明确需要渲染的部分,对未被遮挡的进行完整的渲染管线处理,而不对遮挡的部分进行完整的渲染管线处理。Through the positional relationship, the client specifies the parts that need to be rendered, and completes the rendering pipeline processing for the unoccluded parts, but does not perform the complete rendering pipeline processing for the occluded parts.
可选地,所述客户端根据所述第一图层和所述第二图层,得到所述帧时刻图像,包括:Optionally, the client obtains the frame moment image according to the first layer and the second layer, including:
根据预设的各第一标记对象与各第二标记对象之间的叠加模式,确定所述第一图层与所述第二图层之间的叠加模式;determining a superimposition mode between the first layer and the second layer according to a preset superposition mode between each first marked object and each second marked object;
根据所述第一图层与所述第二图层之间的叠加模式,进行叠加处理后得到所述帧时刻图像。According to the superimposition mode between the first layer and the second layer, the image at the frame time is obtained after superimposition processing.
通过预设各第一标记对象和各第二标记对象之间的叠加模式,可以使得客户端在进行图层叠加时,按照每个标记对象标记的叠加方式进行叠加处理,可以提高客户端的游戏画面质量,提高用户的视觉体验。By presetting the overlay mode between each first marker object and each second marker object, it is possible to enable the client to perform overlay processing according to the overlay mode of each marker object when superimposing layers, which can improve the game screen of the client quality and improve the user's visual experience.
第二方面,本申请实施例提供了一种云游戏的显示处理方法,应用于服务端,包括:In the second aspect, the embodiment of the present application provides a cloud game display processing method applied to the server, including:
接收客户端发送的帧时刻下的帧时刻信息;Receive the frame time information under the frame time sent by the client;
根据所述帧时刻信息,对所述帧时刻下的第一标记对象和第二标记对象分别进行顶点处理,得到所述第一标记对象和所述第二标记对象的位置关系;所述第一标记对象和所述第二标记对象为所述帧时刻对应的帧时刻图像中的待显示对象;According to the frame time information, perform vertex processing on the first marked object and the second marked object at the frame time respectively, to obtain the positional relationship between the first marked object and the second marked object; the first marked object The marked object and the second marked object are objects to be displayed in the image at the frame time corresponding to the frame time;
根据所述位置关系,对所述第二标记对象进行渲染管线处理,得到回传画面,并发送给所述客户端;所述回传画面用于所述客户端生成所述帧时刻图像。Perform rendering pipeline processing on the second marker object according to the positional relationship to obtain a returned image and send it to the client; the returned image is used by the client to generate the frame time image.
通过将游戏画面的内容按照用户需求分为两类,将用户较为关注的互动内容、强实时性的内容在客户端进行渲染,大大减小了服务端的渲染压力,均衡了服务端的负载,使得服务器上的消耗变小,可以同时支持更多的客户端。By dividing the content of the game screen into two categories according to user needs, the interactive content and strong real-time content that users are more concerned about are rendered on the client side, which greatly reduces the rendering pressure on the server side, balances the load on the server side, and makes the server The consumption on the network becomes smaller, and more clients can be supported at the same time.
可选地,所述帧时刻信息包括所述客户端在所述帧时刻下的摄像机信息、基于用户在所述客户端的游戏操作对应的操作事件信息和基于所述操作事件信息得到的游戏事件信息;Optionally, the frame time information includes camera information of the client at the frame time, operation event information corresponding to the user's game operation on the client, and game event information obtained based on the operation event information ;
根据所述帧时刻信息,对所述帧时刻下的第一标记对象和第二标记对象分别进行顶点处理,包括:According to the frame time information, performing vertex processing on the first mark object and the second mark object under the frame time respectively, including:
根据所述客户端在所述帧时刻下的摄像机信息,确定所述服务端在所述帧时刻下的摄像机信息;determining the camera information of the server at the frame time according to the camera information of the client at the frame time;
根据所述操作事件信息和/或所述游戏事件信息,确定所述帧时刻下的第一标记对象和第二标记对象;According to the operation event information and/or the game event information, determine the first marker object and the second marker object at the frame moment;
根据所述服务端在所述帧时刻下的摄像机信息,对所述第一标记对象和所述第二标记对象分别进行顶点处理。Perform vertex processing on the first marked object and the second marked object respectively according to the camera information of the server at the frame moment.
使得服务端和客户端的摄像机信息保持统一,服务端可以根据帧时刻信息得到第一标记对象和第二标记对象更准确的位置关系。The camera information of the server and the client is kept unified, and the server can obtain a more accurate positional relationship between the first marked object and the second marked object according to the frame time information.
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,使得所述处理器执行上述第一方面所述的云游戏的显示处理方法。In the third aspect, the embodiment of the present application provides a computer device, including a memory, a processor, and a computer program stored on the memory and operable on the processor, so that the processor executes the cloud program described in the first aspect above. The display handling method for the game.
第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述第一方面所述的云游戏的显示处理方法。In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program executable by a computer device, and when the program runs on the computer device, the computer device executes the above-mentioned first aspect The display processing method of the cloud game.
将用户较为关注的互动内容、强实时性的内容在客户端进行渲染,减小了服务端的渲染压力,均衡了服务端的负载,使得服务器上的消耗变小,可以同时支持更多的客户端,同时避免服务端传输速度慢、网络延迟而造成用户关注内容的画面延迟问题,提高了用户的游戏体验感。Render the interactive content and real-time content that users pay more attention to on the client side, which reduces the rendering pressure on the server side, balances the load on the server side, reduces the consumption on the server, and can support more clients at the same time. At the same time, it avoids the slow transmission speed of the server and the delay of the network, which causes the screen delay of the content that the user pays attention to, and improves the user's game experience.
附图说明Description of drawings
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings that need to be used in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention. For Those of ordinary skill in the art can also obtain other drawings based on these drawings without any creative effort.
图1为本发明实施例提供的一种云游戏系统架构示意图;FIG. 1 is a schematic diagram of a cloud game system architecture provided by an embodiment of the present invention;
图2为本发明实施例提供的一种云游戏的显示处理方法流程示意图;FIG. 2 is a schematic flowchart of a display processing method for a cloud game provided by an embodiment of the present invention;
图3A为本发明施例提供的一种游戏视角示意图;FIG. 3A is a schematic diagram of a game viewing angle provided by an embodiment of the present invention;
图3B为本发明施例提供的一种游戏视角示意图;FIG. 3B is a schematic diagram of a game viewing angle provided by an embodiment of the present invention;
图4为本发明实施例提供的一种云游戏的显示处理方法流程示意图;4 is a schematic flowchart of a cloud game display processing method provided by an embodiment of the present invention;
图5A为本发明施例提供的一种游戏视角示意图;FIG. 5A is a schematic diagram of a game viewing angle provided by an embodiment of the present invention;
图5B为本发明施例提供的一种游戏视角示意图;FIG. 5B is a schematic diagram of a game viewing angle provided by an embodiment of the present invention;
图6为本发明实施例提供的一种云游戏装置示意图;Fig. 6 is a schematic diagram of a cloud game device provided by an embodiment of the present invention;
图7为本发明实施例提供的一种计算设备的结构示意图。FIG. 7 is a schematic structural diagram of a computing device provided by an embodiment of the present invention.
具体实施方式detailed description
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。In order to make the purpose, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only some of the embodiments of the present invention, rather than all of them. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.
参考图1,其为本申请实施例适用的一种云游戏系统架构图,该系统架构可以包括客户端101、服务端102。客户端101和服务端102通过有线网络、无线网络连接。客户端101可以是电脑、手机和平板等,服务端102可以为高性能的ARM集群服务器、复杂指令架构计算机(Complex Instruction Set Computer,简称为CISC)架构的处理器。Referring to FIG. 1 , it is a diagram of a cloud game system architecture applicable to the embodiment of the present application. The system architecture may include a
基于上述描述,图2示例性的示出了一种云游戏的显示处理方法的流程,该方法的流程由客户端101执行,包括以下步骤:Based on the above description, FIG. 2 exemplarily shows the flow of a cloud game display processing method. The flow of the method is executed by the
步骤S201,对帧时刻下的第一标记对象和第二标记对象分别进行顶点处理,得到第一标记对象和第二标记对象的位置关系;第一标记对象和第二标记对象为帧时刻对应的帧时刻图像中的待显示对象。Step S201, perform vertex processing on the first marker object and the second marker object at the frame time respectively, to obtain the positional relationship between the first marker object and the second marker object; the first marker object and the second marker object are corresponding to the frame time The object to be displayed in the image at the frame time.
具体地,第一标记对象可以为渲染工作量小、与用户游戏操作强关联、用户对时效要求较高的游戏内容,第二标记对象可以为渲染工作量较大、与用户游戏操作弱关联、用户不需要较高的实时性的游戏内容。Specifically, the first tagged object may be game content that has a small rendering workload, is strongly associated with user game operations, and has high timeliness requirements for users, and the second tagged object may be game content that has a large rendering workload, is weakly associated with user game operations, Users do not need high real-time game content.
在一些实施例中,第一标记对象和第二标记对象是通过软件开发工具包对云游戏中定义的对象进行标记得到的。第一标记对象是基于用户在客户端的游戏操作确定的互动内容;第二标记对象是除客户端的游戏操作确定的互动内容之外的背景内容。In some embodiments, the first marked object and the second marked object are obtained by marking objects defined in the cloud game through a software development kit. The first marked object is the interactive content determined based on the user's game operation on the client; the second marked object is the background content other than the interactive content determined by the client's game operation.
具体地,在一款云游戏中,包含多个第一对象和多个第二对象,其中游戏开发者定义第一对象为用户在游戏操作中确定的互动内容,也可以为用户较为关注的游戏内容,包括操作的人物角色、离人物角色较近距离的敌人与角色相关的用户界面(User Interface,简称为UI)等,因此第一对象有较强的实时性;开发者定义第二对象为用户在游戏操作中确定的互动内容之外的背景内容,包括游戏场景中的建筑、地面、植被、树木等。开发者使用软件开发工具包(Software Development Kit,简称为SDK)对第一对象、第二对象进行标记,分别得到第一标记对象和第二标记对象。Specifically, in a cloud game, it contains multiple first objects and multiple second objects, where the game developer defines the first object as the interactive content determined by the user during the game operation, or it can be the game that the user is more concerned about. The content includes the character to be operated, the enemy who is close to the character, and the user interface (User Interface, referred to as UI) related to the character. Therefore, the first object has strong real-time performance; the developer defines the second object as Background content other than the interactive content determined by the user during the game operation, including buildings, ground, vegetation, trees, etc. in the game scene. The developer uses a software development kit (Software Development Kit, referred to as SDK for short) to mark the first object and the second object to obtain the first marked object and the second marked object respectively.
例如,在一个多人对抗竞技游戏中,第一标记对象可以为玩家操作的人物角色、近距离的敌人、与角色相关的用户界面,这些用户界面包括以下:地图UI、能量条UI、小队UI、技能UI等;第二标记对象为游戏画面中的房子、高山、土地等。For example, in a multiplayer combat competitive game, the first marked object can be a character operated by the player, an enemy at close range, and a user interface related to the character. These user interfaces include the following: map UI, energy bar UI, and team UI , skill UI, etc.; the second marking objects are houses, mountains, land, etc. in the game screen.
以一帧画面中的一个第一标记对象和一个第二标记对象为例,客户端会使用简单的模型对第一标记对象和第二标记对像进行顶点处理,以得到第一标记对象和第二标记对象的位置关系,即为了正确处理第二标记对象对第一标记对象产生的影响。Taking a first marker object and a second marker object in a frame as an example, the client will use a simple model to perform vertex processing on the first marker object and the second marker object to obtain the first marker object and the second marker object The positional relationship between the two marked objects is to correctly handle the influence of the second marked object on the first marked object.
第一标记对象和第二标记对象可能出现的位置关系有,第二标记对象完全遮挡住第一标记对象、第二标记对象部分遮挡住第一标记对象、第二标记对象与第一标记对象发生碰撞事件等。The possible positional relationship between the first marked object and the second marked object is that the second marked object completely covers the first marked object, the second marked object partially covers the first marked object, and the second marked object overlaps with the first marked object. collision events etc.
举例来说,若第一标记对象为用户操作的人物角色,第二标记对象为一个柱子,在第n帧时刻,人物角色跑到柱子后,柱子完全遮挡住人物角色,即第二标记对象完全遮挡住第一标记对象;For example, if the first marked object is a character operated by the user, and the second marked object is a pillar, at frame n, when the character runs behind the pillar, the pillar completely blocks the character, that is, the second marked object completely block the first marked object;
若第一标记对象为用户操作的人物角色,第二标记对象为一个石台,在第n+1帧时刻,人物角色跑到石台后,石台只遮挡住人物角色的腿,人物角色的上半身和头没有被石台遮挡,即第二标记对象部分遮挡住第一标记对象;If the first marking object is a character operated by the user, and the second marking object is a stone platform, at frame n+1, when the character runs behind the stone platform, the stone platform only covers the character's legs, and the character's The upper body and head are not blocked by the stone platform, that is, the second marked object partially covers the first marked object;
若第一标记对象为用户操作的人物角色所持的砍刀,第二标记对象为一个木桶,在第n+2帧时刻,人物角色对木桶进行砍伐动作,砍刀陷入木桶中,砍刀刀刃部分与木桶发生碰撞,即第二标记对象与第一标记对象发生碰撞事件。If the first mark object is the machete held by the character operated by the user, and the second mark object is a wooden barrel, at frame n+2, the character performs a chopping action on the barrel, the machete falls into the barrel, and the blade of the machete Collision with the barrel, that is, a collision event occurs between the second marked object and the first marked object.
客户端使用简单的模型对第一标记对象和第二标记对象进行顶点处理,可以正确处理游戏中出现的第一标记对象和第二标记对象出现的遮挡、碰撞事件,为后面的完整的渲染管线步骤做准备。其中,简单的模型可以是线条图,点线图等。The client uses a simple model to process the vertices of the first marker object and the second marker object, which can correctly handle the occlusion and collision events that appear in the game. Steps to prepare. Among them, simple models can be line graphs, point-and-line graphs, etc.
步骤S202,根据位置关系,对第一标记对象进行渲染管线处理,得到第一图层,并将帧时刻信息发送至服务端。Step S202, according to the positional relationship, perform rendering pipeline processing on the first marker object to obtain the first layer, and send the frame time information to the server.
具体地,渲染管线处理是把3D场景转换为屏幕上2D图像的一个处理过程。完整的渲染管线流程为:顶点数据输入、顶点着色器、曲面细分过程、几何着色器、图元组装、裁剪剔除、光栅化、片段着色器、混合测试。因此,客户端基于步骤S201顶点处理的结果,对所有的第一标记对象进行顶点数据输入之后的渲染管线处理,包括顶点着色器、曲面细分过程、几何着色器、图元组装、裁剪剔除、光栅化、片段着色器、混合测试,最终得到第一图层。Specifically, rendering pipeline processing is a process of converting a 3D scene into a 2D image on the screen. The complete rendering pipeline process is: vertex data input, vertex shader, tessellation process, geometry shader, primitive assembly, clipping and culling, rasterization, fragment shader, blending test. Therefore, based on the result of vertex processing in step S201, the client performs rendering pipeline processing after vertex data input for all first marked objects, including vertex shader, surface subdivision process, geometry shader, primitive assembly, clipping and culling, Rasterization, fragment shader, blend testing, and finally the first layer.
在上述步骤S202中,还包括:根据位置关系,确定第一标记对象未被遮挡的部分;对第一标记对象未被遮挡的部分进行渲染管线处理,得到第一图层。In the above step S202, it also includes: determining the unoccluded part of the first marker object according to the positional relationship; performing rendering pipeline processing on the unoccluded part of the first marker object to obtain the first layer.
举例来说,若第一标记对象为用户操作的人物角色,第二标记对象为一个柱子,若在第n帧时刻,人物角色跑到柱子后,柱子完全遮挡住人物角色,即第二标记对象完全遮挡住第一标记对象,此时客户端不需要对人物角色进行顶点数据输入之后的渲染管线处理;For example, if the first marker object is a character operated by the user, and the second marker object is a pillar, if the character runs behind the pillar at the nth frame, the pillar completely blocks the character, that is, the second marker object Completely cover the first marker object, at this time, the client does not need to perform rendering pipeline processing after vertex data input for the character;
若第一标记对象为用户操作的人物角色,第二标记对象为一个石台,若在第n+1帧时刻,人物角色跑到石台后,石台只遮挡住人物角色的腿,人物角色的上半身和头没有被石台遮挡,即第二标记对象部分遮挡住第一标记对象;此时客户端需要对人物角色未被石台遮挡住的部分进行顶点数据输入之后的渲染管线处理;If the first marking object is a character operated by the user, the second marking object is a stone platform. If the character runs behind the stone platform at frame n+1, the stone platform only covers the legs of the character. The upper body and head of the character are not blocked by the stone platform, that is, the second marker object partially covers the first marker object; at this time, the client needs to perform rendering pipeline processing after vertex data input for the part of the character that is not blocked by the stone platform;
若第一标记对象为用户操作的人物角色所持的砍刀,第二标记对象为一个木桶,在第n+2帧时刻,人物角色对木桶进行砍伐动作,砍刀陷入木桶中,砍刀刀刃部分与木桶发生碰撞,第一标记对象砍刀部分被第二标记对象木桶遮挡住,此时客户端对砍刀未遮挡的部分进行顶点数据输入之后的渲染管线处理。If the first mark object is the machete held by the character operated by the user, and the second mark object is a wooden barrel, at frame n+2, the character performs a chopping action on the barrel, the machete falls into the barrel, and the blade of the machete When it collides with the barrel, the machete part of the first mark object is covered by the barrel of the second mark object. At this time, the client performs the rendering pipeline processing after the vertex data input for the part not covered by the machete.
客户端对第一标记对象进行完整的渲染管线处理后,将帧时刻信息发送至服务端。After the client completes the rendering pipeline processing on the first marked object, it sends the frame time information to the server.
通过将游戏画面的内容按照用户需求分为两类,让客户端承担云游戏画面中一部分内容的渲染工作,大大减小了服务端的渲染压力;将用户较为关注的互动内容、强实时性的内容在客户端进行渲染,有效降低了用户较为关注内容的画面延迟,提高了用户的游戏体验感。By dividing the content of the game screen into two categories according to user needs, the client is allowed to undertake the rendering work of part of the content in the cloud game screen, which greatly reduces the rendering pressure on the server; Rendering on the client side effectively reduces the screen delay of content that users are more concerned about, and improves the user's gaming experience.
步骤S203,接收服务端发送的回传画面,并解码回传画面得到第二图层;回传画面是服务端根据帧时刻信息得到的位置关系,对第二标记对象进行渲染管线处理得到的。Step S203, receiving the returned picture sent by the server, and decoding the returned picture to obtain the second layer; the returned picture is obtained by the server according to the positional relationship obtained by the frame time information, and rendering pipeline processing on the second marker object.
具体地,服务端接收客户端发送的帧时刻信息,服务端使用简单的模型分别对第一标记对象和第二标记对象进行顶点处理,得到第一标记对象和第二标记对象的位置关系,服务端根据位置关系对第二标记对象进行顶点数据输入之后的渲染管线处理,得到回传画面。服务端对回传画面进行编码,发送给客户端,客户端接收编码后的回传画面,进行解码得到第二图层。Specifically, the server receives the frame time information sent by the client, and the server uses a simple model to perform vertex processing on the first marked object and the second marked object to obtain the positional relationship between the first marked object and the second marked object, and the service The terminal performs rendering pipeline processing after inputting vertex data on the second marker object according to the positional relationship, to obtain a returned image. The server encodes the returned picture and sends it to the client, and the client receives the encoded returned picture and decodes it to obtain the second layer.
其中,帧时刻信息包括客户端在帧时刻下的摄像机信息、基于用户在客户端的游戏操作对应的操作事件信息和基于操作事件信息得到的游戏事件信息。Wherein, the frame time information includes the camera information of the client at the frame time, the operation event information corresponding to the user's game operation on the client, and the game event information obtained based on the operation event information.
摄像机信息为客户端的成像摄像机的角度信息,摄像机坐标系等。The camera information is the angle information of the imaging camera of the client, the camera coordinate system, and the like.
操作事件信息为用户点击客户端的界面(游戏画面)某一处后,产生的用户触摸点的坐标信息以及触摸产生的数据信息。The operation event information is the coordinate information of the user's touch point and the data information generated by the touch generated after the user clicks a certain place on the interface (game screen) of the client.
游戏事件信息为用户在客户端操控游戏角色产生的数据信息、或者用户操作人物角色与周围场景、非玩家角色(Non Player Character,简称NPC)等进行互动后产生的数据信息。The game event information is the data information generated by the user manipulating the game character on the client terminal, or the data information generated after the user manipulates the character character to interact with the surrounding scene, non-player character (Non Player Character, NPC for short), etc.
例如,用户点击游戏画面中掉落的宝石,玩家角色会弯腰进行拾取动作;其中,用户点击动作为游戏操作,得到的点击位置的坐标信息为操作事件信息,基于游戏操作和操作事件信息,玩家角色进行弯腰动作、玩家角色的拾取动作、宝石数量及宝石总价值为游戏事件信息。For example, if the user clicks on a gem that falls on the game screen, the player character will bend down to pick it up; where the user clicks is a game operation, and the coordinate information of the clicked position is the operation event information, based on the game operation and operation event information, The bending action of the player character, the pick-up action of the player character, the number of gems and the total value of the gems are the game event information.
若用户连续点击游戏画面中的攻击键,玩家角色会拔枪射击敌人,敌人会血量会减少;其中,用户连续点击攻击键为游戏操作,攻击键的坐标信息以及攻击对象的坐标信息为操作事件信息,基于游戏操作和操作事件信息,得到的玩家攻击造成敌人的伤害和敌人剩余血量为游戏事件信息。If the user continuously clicks the attack button on the game screen, the player character will draw the gun and shoot the enemy, and the enemy's HP will decrease; among them, the user continuously clicks the attack button is the game operation, and the coordinate information of the attack button and the coordinate information of the attack object are the operation Event information, based on the game operation and operation event information, the player's attack caused damage to the enemy and the enemy's remaining HP are the game event information.
帧时刻信息随着用户不同的操作而变化,也影响着第一标记对象与第二标记对象之间的位置关系,因此不同的帧时刻信息对应的第一标记对象和第二标记对象的位置关系也不同。The frame time information changes with different operations of the user, and also affects the positional relationship between the first marked object and the second marked object, so the positional relationship between the first marked object and the second marked object corresponding to different frame time information Also different.
如图3A所示,第一标记对象为用户操作的人物角色301,第二标记对象为一个柱子302,用户使用第三人称视角,在第n帧时刻,摄像机位于人物角色301的背后,柱子302位于人物角色301的正前方,此时,第二标记对象柱子302被第一标记对象人物角色301遮住一部分,服务端需要对柱子302中未被人物角色301遮挡住的部分进行顶点数据输入之后的渲染管线处理;As shown in FIG. 3A, the first marking object is a
若在第n+1帧时刻,如图3B所示,用户滑动游戏视角,将摄像机视角向左旋转90度,摄像机位于人物角色301的右侧,即此时,第二标记对象柱子302未被第一标记对象人物角色301遮挡住,服务端对柱子302进行顶点数据输入之后的渲染管线处理。If at frame n+1, as shown in FIG. 3B , the user slides the game viewing angle and rotates the camera viewing angle 90 degrees to the left, the camera is located on the right side of the
步骤S204,根据第一图层和第二图层,得到帧时刻图像。Step S204, according to the first layer and the second layer, the image at the frame time is obtained.
客户端对第一标记对象进行渲染,得到第一图层,客户端接收服务端发送的回传画面并在解码后的到第二图层,客户端将第一图层和第二图层进行叠加(Overlay),得到帧时刻的游戏图像。The client renders the first marker object to obtain the first layer. The client receives the return image sent by the server and decodes it to the second layer. The client combines the first layer and the second layer. Overlay (Overlay) to obtain the game image at the frame time.
通过将游戏画面的内容按照用户需求分为两类,让客户端承担云游戏画面中一部分内容的渲染工作,大大减小了服务端的渲染压力;将用户较为关注的互动内容、强实时性的内容在客户端进行渲染,避免服务端传输速度慢、网络延迟而造成用户关注内容的画面延迟问题,提高了用户的游戏体验感。By dividing the content of the game screen into two categories according to user needs, the client is allowed to undertake the rendering work of part of the content in the cloud game screen, which greatly reduces the rendering pressure on the server; Rendering on the client side avoids the slow transmission speed of the server side and network delay caused by the screen delay of the content that the user cares about, and improves the user's game experience.
在上述步骤S204中,客户端根据第一图层和第二图层,得到帧时刻图像,包括:根据预设的各第一标记对象与各第二标记对象之间的叠加模式,确定第一图层与第二图层之间的叠加模式;根据第一图层与第二图层之间的叠加模式,进行叠加处理后得到帧时刻图像。In the above step S204, the client obtains the image at the frame time according to the first layer and the second layer, including: determining the first The overlay mode between the layer and the second layer; according to the overlay mode between the first layer and the second layer, the image at the frame time is obtained after overlay processing.
在一些实施例中,直接将第一图层与第二图层进行叠加(Overlay)的效果并不理想,因此预设各第一标记对象和各第二标记对象的最优的叠加模式,客户端进行标记,确定出第一图层和第二图层进行叠加的模式,客户端根据确定的叠加模式对第一图层和第二图层进行叠加,得到帧时刻图像。In some embodiments, the effect of directly overlaying the first layer and the second layer (Overlay) is not ideal, so the optimal overlay mode of each first marked object and each second marked object is preset, and the customer The terminal performs marking to determine the superimposition mode of the first layer and the second layer, and the client superimposes the first layer and the second layer according to the determined superimposition mode to obtain the frame time image.
例如,在某云游戏中,开发者使用软件开发工具包对游戏角色阴影标记为第一标记对象,对地面标记为第二标记对象,游戏角色阴影和地面最佳的叠加模式为Alpha混叠,开发者使用软件开发工具包对游戏角色阴影与地面的叠加模式进行标记。客户端对所有第一标记对象进行完整的渲染管线处理后得到第一图层,客户端对该第一图层中的游戏角色阴影的像素位置进行标记,服务端对所有第二标记对象进行完整的渲染管线处理后得到第二图层。客户端对第一标记对象所在第一图层和第二标记对象所在第二图层进行叠加时,会针对游戏角色阴影所在位置的像素和地面进行Alpha混叠操作,其效果优于将第一图层和第二图层直接进行叠加。通过对游戏角色阴影所在位置的像素和地面进行Alpha混叠操作,可以在叠加后能够看清地面的材质。For example, in a cloud game, the developer uses a software development kit to mark the shadow of the game character as the first mark object, and mark the ground as the second mark object. The best overlay mode for the shadow of the game character and the ground is Alpha aliasing. The developer uses the software development kit to mark the overlay mode of the shadow of the game character and the ground. The client performs complete rendering pipeline processing on all first marked objects to obtain the first layer, the client marks the pixel position of the shadow of the game character in the first layer, and the server completes all second marked objects The second layer is obtained after processing by the rendering pipeline. When the client superimposes the first layer where the first marker object is located and the second layer where the second marker object is located, it will perform an Alpha aliasing operation on the pixel where the shadow of the game character is located and the ground, and the effect is better than that of the first layer The layer and the second layer are directly superimposed. By performing an Alpha aliasing operation on the pixel where the shadow of the game character is located and the ground, the material of the ground can be seen clearly after superimposition.
通过软件开发工具包对每个第一标记对象和每个第二标记对象之间的叠加模式进行标记,可以使得客户端在进行图层叠加时,按照每个标记对象标记的叠加方式进行叠加处理,可以提高客户端的游戏画面质量,提高用户的视觉体验。Mark the overlay mode between each first marker object and each second marker object through the software development kit, so that the client can perform overlay processing according to the overlay mode marked by each marker object when performing layer overlay , can improve the game picture quality of the client, and improve the user's visual experience.
图4示例性的示出了一种云游戏的显示处理方法的流程,该方法的流程由服务端执行,包括以下步骤:Figure 4 exemplarily shows the flow of a cloud game display processing method, the flow of the method is executed by the server, including the following steps:
步骤S401,接收客户端发送的帧时刻下的帧时刻信息。Step S401, receiving frame time information at the frame time sent by the client.
服务端接收客户端发送的帧时刻信息,帧时刻信息包括客户端在帧时刻下的摄像机信息、基于用户在客户端的游戏操作对应的操作事件信息和基于操作事件信息得到的游戏事件信息。The server receives the frame time information sent by the client. The frame time information includes the camera information of the client at the frame time, the operation event information corresponding to the user's game operation on the client, and the game event information obtained based on the operation event information.
摄像机信息为客户端的成像摄像机的角度信息,摄像机坐标系等。The camera information is the angle information of the imaging camera of the client, the camera coordinate system, and the like.
操作事件信息为用户点击客户端的界面(游戏画面)某一处后,产生的用户触摸点的坐标信息以及触摸产生的数据信息。The operation event information is the coordinate information of the user's touch point and the data information generated by the touch generated after the user clicks a certain place on the interface (game screen) of the client.
游戏事件信息为用户在客户端操控游戏角色产生的数据信息、或者用户操作人物角色与周围场景、非玩家角色(Non Player Character,简称NPC)等进行互动后产生的数据信息。The game event information is the data information generated by the user manipulating the game character on the client terminal, or the data information generated after the user manipulates the character character to interact with the surrounding scene, non-player character (Non Player Character, NPC for short), etc.
步骤S402,根据帧时刻信息,对帧时刻下的第一标记对象和第二标记对象分别进行顶点处理,得到第一标记对象和第二标记对象的位置关系;第一标记对象和第二标记对象为帧时刻对应的帧时刻图像中的待显示对象。Step S402, according to the frame time information, perform vertex processing on the first marked object and the second marked object at the frame time respectively, to obtain the positional relationship between the first marked object and the second marked object; the first marked object and the second marked object is the object to be displayed in the image at the frame time corresponding to the frame time.
在上述步骤S402中,根据帧时刻信息,对帧时刻下的第一标记对象和第二标记对象分别进行顶点处理,包括:根据客户端在帧时刻下的摄像机信息,确定服务端在帧时刻下的摄像机信息;根据操作事件信息和/或游戏事件信息,确定帧时刻下的第一标记对象和第二标记对象;根据服务端在帧时刻下的摄像机信息,对第一标记对象和第二标记对象分别进行顶点处理。In the above step S402, according to the frame time information, respectively perform vertex processing on the first mark object and the second mark object at the frame time, including: according to the camera information of the client at the frame time, determine that the server is at the frame time camera information; according to the operation event information and/or game event information, determine the first marker object and the second marker object at the frame time; according to the server’s camera information at the frame time, determine the first marker object and the second marker object Objects are vertex processed separately.
具体地,服务端和客户端的摄像机信息须保持统一,即摄像机的角度信息,摄像机坐标系等,才能保证服务端生成的第二图层和客户端生成的第一图层在叠加时,生成的帧时刻图像不会有问题。因此,根据客户端在n帧的摄像机信息,确定服务端在n帧的摄像机信息。Specifically, the camera information of the server and the client must be consistent, that is, the angle information of the camera, the camera coordinate system, etc., in order to ensure that when the second layer generated by the server and the first layer generated by the client are superimposed, the generated There will be no problem with frame moment images. Therefore, according to the camera information of the client in frame n, the camera information of the server in frame n is determined.
帧时刻信息随着用户不同的操作而变化,也影响着第一标记对象与第二标记对象之间的位置关系,因此不同的帧时刻信息对应的第一标记对象和第二标记对象的位置关系也不同,如图3A、3B所示,根据服务端在帧时刻下的摄像机信息,分别使用简单模型对第一标记对象和第二标记对象进行顶点处理。The frame time information changes with different operations of the user, and also affects the positional relationship between the first marked object and the second marked object, so the positional relationship between the first marked object and the second marked object corresponding to different frame time information It is also different. As shown in FIGS. 3A and 3B , according to the camera information of the server at the frame time, a simple model is used to perform vertex processing on the first marker object and the second marker object.
步骤S403,根据位置关系,对第二标记对象进行渲染管线处理,得到回传画面,并发送给客户端;回传画面用于客户端生成帧时刻图像。Step S403, according to the positional relationship, perform rendering pipeline processing on the second marker object to obtain a returned image and send it to the client; the returned image is used by the client to generate a frame time image.
具体地,服务端根据步骤S402顶点处理得到的第一标记对象和第二标记对象的位置关系,对第二标记对象进行完整的渲染管线处理,得到回传画面,服务端将该回传画面进行压缩编码,发送至客户端。Specifically, according to the positional relationship between the first marker object and the second marker object obtained by the vertex processing in step S402, the server performs a complete rendering pipeline processing on the second marker object to obtain a returned image, and the server performs the returned image Compress the code and send it to the client.
通过将游戏画面的内容按照用户需求分为两类,让客户端承担云游戏画面中一部分内容的渲染工作,有效利用客户端的性能冗余,减小了服务端的渲染压力,均衡了服务端的负载,使得服务器上的消耗变小,可以同时支持更多的客户端。By dividing the content of the game screen into two categories according to user needs, let the client undertake the rendering of part of the content in the cloud game screen, effectively utilize the performance redundancy of the client, reduce the rendering pressure on the server, and balance the load on the server. This reduces the consumption on the server and supports more clients at the same time.
多种云游戏可通过本申请实施例中的技术方案实现游戏画面的呈现,下面以云游戏C为例举例说明,该云游戏C的客户端为手机,服务端为服务器。A variety of cloud games can realize the presentation of the game screen through the technical solutions in the embodiments of this application. The following uses cloud game C as an example to illustrate. The client of this cloud game C is a mobile phone, and the server is a server.
云游戏C为一款冒险闯关类的手机游戏,玩家需要操作人物角色进行移动,并通过打怪、做任务进行闯关升级。Cloud Game C is an adventurous level-breaking mobile game. Players need to operate characters to move, and to level up by fighting monsters and doing tasks.
在云游戏C的开发阶段,开发者使用软件开发工具包(Software DevelopmentKit,简称为SDK)对客户端操控的人物角色、敌人角色以及用户界面(User Interface,简称UI)等进行第一标记,得到数个第一标记对象;对游戏场景中的房屋、地面、树木、非玩家角色(Non Player Character,简称NPC)等进行第二标记,得到数个第二标记对象。In the development stage of cloud game C, the developer uses the software development kit (Software Development Kit, referred to as SDK) to first mark the characters, enemy characters and user interface (User Interface, referred to as UI) controlled by the client, and obtain Several first marking objects; performing second marking on houses, grounds, trees, non-player characters (Non Player Character, NPC for short) etc. in the game scene to obtain several second marking objects.
以云游戏C中某一帧为例,手机端对数个第一标记对象和数个第二标记对象分别进行简单的建模和顶点处理,以正确处理第二标记对象遮挡第一标记对象的问题。手机端根据每个第一标记对象和每个第二标记对象的位置关系,对每个第一标记对象进行渲染管线处理,在手机端生成图层1,同时将该帧时刻手机端的摄像机信息、操作事件信息和游戏事件信息发送给服务器。Taking a certain frame in cloud game C as an example, the mobile phone performs simple modeling and vertex processing on several first marked objects and several second marked objects, so as to correctly handle the second marked object blocking the first marked object. question. The mobile phone performs rendering pipeline processing on each first marked object according to the positional relationship between each first marked object and each second marked object, and generates layer 1 on the mobile phone, and at the same time, the camera information, Operation event information and game event information are sent to the server.
例如,如图5A所示,其中一个第一标记对象为玩家操控的人物角色501,一个第二标记对象为墙面502。此时人物角色501站到墙面502的前面,人物角色501遮挡部分墙面502,手机端会对完整的人物角色501进行渲染管线处理。For example, as shown in FIG. 5A , one of the first marking objects is a
若在某一帧时刻,人物角色501站到墙面502的后面,墙面502遮挡住人物角色501部分面积,如图5B所示,手机端不对墙面502遮挡住人物角色501的部分进行渲染管线处理,对墙面502未遮挡住人物角色501的部分进行渲染管线处理。If at a certain frame time, the
服务器接收手机端发送的摄像机信息、操作事件信息和游戏事件信息,并分别对数个第一标记对象和数个第二标记对象分别进行简单的建模和顶点处理,以正确处理第一标记对象遮挡第二标记对象的问题;服务器根据每个第一标记对象和每个第二标记对象的位置关系,对每个第二标记对象进行渲染管线处理,将渲染之后的画面进行编码,得到回传画面,将该回传画面发送给手机端。The server receives the camera information, operation event information and game event information sent by the mobile phone, and performs simple modeling and vertex processing on several first marked objects and several second marked objects respectively, so as to correctly process the first marked objects The problem of occluding the second marker object; the server performs rendering pipeline processing on each second marker object according to the positional relationship between each first marker object and each second marker object, encodes the rendered picture, and obtains the return screen, and send the returned screen to the mobile phone.
例如,如图5A所示,第一标记对象为玩家操控的人物角色501,第二标记对象为墙面502。此时人物角色501站到墙面502的前面,人物角色501遮挡部分墙面502,服务器会对未被人物角色501遮挡住的墙面502进行完整的渲染管线处理,不对被人物角色501遮挡住的墙面进行完整的渲染管线处理。For example, as shown in FIG. 5A , the first marking object is a
若在某一帧时刻,人物角色501站到墙面502的后面,墙面502遮挡住人物角色502的部分面积,如图5B所示,服务器会对整个墙面502进行完整的渲染管线处理。If at a certain frame time, the
手机端接收服务器发送的回传画面进行解码,得到图层2,手机端将图层1和图层2进行叠加,按照对每个第一标记对象标记的叠加模式和每个第二标记对象标记的叠加模式进行叠加,最终得到该帧的实际游戏画面。The mobile terminal receives and decodes the returned screen sent by the server to obtain layer 2, and the mobile terminal superimposes layer 1 and layer 2, according to the overlay mode of each first marked object and each second marked object Superimpose in the superimposition mode, and finally get the actual game screen of the frame.
通过将游戏画面的内容按照用户需求分为两类,让手机端承担云游戏画面中一部分内容的渲染工作,减小了服务端的渲染压力;将游戏中用户较为关注的互动内容、强实时性的内容在手机端进行渲染,避免服务器传输速度慢、网络延迟而造成的画面延迟问题,也避免了视频编码造成用户关注的内容画面模糊的问题,改善了云游戏的画质,提高了用户的游戏体验感。By dividing the content of the game screen into two categories according to user needs, the mobile phone end can undertake the rendering work of part of the content in the cloud game screen, reducing the rendering pressure on the server end; The content is rendered on the mobile phone, which avoids the problem of image delay caused by slow server transmission speed and network delay, and also avoids the problem of blurred content caused by video encoding, which improves the image quality of cloud games and improves the game experience of users. sense of experience.
基于相同的技术构思,本申请实施例提供了一种云游戏装置结构示意图,如图6所示,该云游戏装置600包括:Based on the same technical concept, the embodiment of the present application provides a schematic structural diagram of a cloud game device, as shown in Figure 6, the
处理模块601,对帧时刻下的第一标记对象和第二标记对象分别进行顶点处理,得到所述第一标记对象和所述第二标记对象的位置关系;所述第一标记对象和所述第二标记对象为所述帧时刻对应的帧时刻图像中的待显示对象;The
所述处理模块601,还用于根据所述位置关系,对所述第一标记对象进行渲染管线处理,得到第一图层,并将帧时刻信息发送至服务端;The
获取模块602,用于接收所述服务端发送的回传画面,并解码所述回传画面得到第二图层;所述回传画面是服务端根据所述帧时刻信息得到的所述位置关系,对所述第二标记对象进行渲染管线处理得到的;The obtaining
所述处理模块601,用于根据所述第一图层和所述第二图层,得到所述帧时刻图像。The
可选地,所述处理模块601还用于:Optionally, the
根据所述位置关系,确定所述第一标记对象未被遮挡的部分;determining the unoccluded portion of the first marked object according to the positional relationship;
对所述第一标记对象未被遮挡的部分进行渲染管线处理,得到第一图层。Perform rendering pipeline processing on the unoccluded part of the first marked object to obtain the first layer.
可选地,所述处理模块601还用于:Optionally, the
根据预设的各第一标记对象与各第二标记对象之间的叠加模式,确定所述第一图层与所述第二图层之间的叠加模式;determining a superimposition mode between the first layer and the second layer according to a preset superposition mode between each first marked object and each second marked object;
根据所述第一图层与所述第二图层之间的叠加模式,进行叠加处理后得到所述帧时刻图像。According to the superimposition mode between the first layer and the second layer, the image at the frame time is obtained after superimposition processing.
可选地,所述获取模块602还用于:Optionally, the obtaining
接收客户端发送的帧时刻下的帧时刻信息;Receive the frame time information under the frame time sent by the client;
根据所述帧时刻信息,对所述帧时刻下的第一标记对象和第二标记对象分别进行顶点处理,得到所述第一标记对象和所述第二标记对象的位置关系;所述第一标记对象和所述第二标记对象为所述帧时刻对应的帧时刻图像中的待显示对象;According to the frame time information, perform vertex processing on the first marked object and the second marked object at the frame time respectively, to obtain the positional relationship between the first marked object and the second marked object; the first marked object The marked object and the second marked object are objects to be displayed in the image at the frame time corresponding to the frame time;
根据所述位置关系,对所述第二标记对象进行渲染管线处理,得到回传画面,并发送给所述客户端;所述回传画面用于所述客户端生成所述帧时刻图像。Perform rendering pipeline processing on the second marker object according to the positional relationship to obtain a returned image and send it to the client; the returned image is used by the client to generate the frame time image.
可选地,所述处理模块601还用于:Optionally, the
根据所述客户端在所述帧时刻下的摄像机信息,确定所述服务端在所述帧时刻下的摄像机信息;determining the camera information of the server at the frame time according to the camera information of the client at the frame time;
根据所述操作事件信息和/或所述游戏事件信息,确定所述帧时刻下的第一标记对象和第二标记对象;According to the operation event information and/or the game event information, determine the first marker object and the second marker object at the frame moment;
根据所述服务端在所述帧时刻下的摄像机信息,对所述第一标记对象和所述第二标记对象分别进行顶点处理。Perform vertex processing on the first marked object and the second marked object respectively according to the camera information of the server at the frame moment.
通过将游戏画面的内容按照用户需求分为两类,让客户端承担云游戏画面中一部分内容的渲染工作,大大减小了服务端的渲染压力;将用户较为关注的互动内容、强实时性的内容在客户端进行渲染,避免服务端传输速度慢、网络延迟而造成的画面延迟问题,提高了用户的游戏体验感。By dividing the content of the game screen into two categories according to user needs, the client is allowed to undertake the rendering work of part of the content in the cloud game screen, which greatly reduces the rendering pressure on the server; Rendering on the client side avoids the problem of screen delay caused by slow transmission speed on the server side and network delay, and improves the user's game experience.
基于相同的技术构思,本申请实施例提供了一种计算机设备,该计算机设备可以是图1所示的客户端101和/或服务端102,如图7所示,包括至少一个处理器701,以及与至少一个处理器连接的存储器702,本申请实施例中不限定处理器701与存储器702之间的具体连接介质,图7中处理器701和存储器702之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。Based on the same technical concept, an embodiment of the present application provides a computer device, which may be the
在本申请实施例中,存储器702存储有可被至少一个处理器701执行的指令,至少一个处理器701通过执行存储器702存储的指令,可以执行上述云游戏的显示处理方法的步骤。In the embodiment of the present application, the
其中,处理器701是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器702内的指令以及调用存储在存储器702内的数据,从而实现帧时刻图像的显示。可选的,处理器701可包括一个或多个处理单元,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。在一些实施例中,处理器701和存储器702可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。Among them, the
处理器701可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。The
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器702可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器702是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机设备存取的任何其他介质,但不限于此。本申请实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。The
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述云游戏的显示处理方法的步骤。Based on the same inventive concept, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program executable by a computer device, and when the program is run on the computer device, the computer device executes the above cloud game display processing method A step of.
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that the embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to the present application. It should be understood that each procedure and/or block in the flowchart and/or block diagram, and a combination of procedures and/or blocks in the flowchart and/or block diagram can be realized by computer program instructions. These computer program instructions may be provided to a general purpose computer, special purpose computer, embedded processor, or processor of other programmable data processing equipment to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing equipment produce a An apparatus for realizing the functions specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means, the instructions The device realizes the function specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device, causing a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby The instructions provide steps for implementing the functions specified in the flow diagram procedure or procedures and/or block diagram procedures or blocks.
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。Obviously, those skilled in the art can make various changes and modifications to the application without departing from the spirit and scope of the application. In this way, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalent technologies, the present application is also intended to include these modifications and variations.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210970378.9A CN115463412A (en) | 2022-08-12 | 2022-08-12 | A display processing method and device for cloud games |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210970378.9A CN115463412A (en) | 2022-08-12 | 2022-08-12 | A display processing method and device for cloud games |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115463412A true CN115463412A (en) | 2022-12-13 |
Family
ID=84367813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210970378.9A Pending CN115463412A (en) | 2022-08-12 | 2022-08-12 | A display processing method and device for cloud games |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115463412A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024255263A1 (en) * | 2023-06-12 | 2024-12-19 | 华为云计算技术有限公司 | Cloud game processing method, server, and system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103918012A (en) * | 2011-11-07 | 2014-07-09 | 史克威尔·艾尼克斯控股公司 | Rendering system, rendering server, control method thereof, program, and recording medium |
CN105050671A (en) * | 2012-12-21 | 2015-11-11 | 微软技术许可有限责任公司 | Client-side rendering of latency-sensitive game features |
US20160001177A1 (en) * | 2013-07-22 | 2016-01-07 | Fuzz, Inc. | Image generation system and image generation-purpose program |
CN108479067A (en) * | 2018-04-12 | 2018-09-04 | 网易(杭州)网络有限公司 | The rendering intent and device of game picture |
CN109173244A (en) * | 2018-08-20 | 2019-01-11 | 贵阳动视云科技有限公司 | Game running method and device |
CN110393921A (en) * | 2019-08-08 | 2019-11-01 | 腾讯科技(深圳)有限公司 | Processing method, device, terminal, server and the storage medium of cloud game |
CN113244614A (en) * | 2021-06-07 | 2021-08-13 | 腾讯科技(深圳)有限公司 | Image picture display method, device, equipment and storage medium |
-
2022
- 2022-08-12 CN CN202210970378.9A patent/CN115463412A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103918012A (en) * | 2011-11-07 | 2014-07-09 | 史克威尔·艾尼克斯控股公司 | Rendering system, rendering server, control method thereof, program, and recording medium |
CN105050671A (en) * | 2012-12-21 | 2015-11-11 | 微软技术许可有限责任公司 | Client-side rendering of latency-sensitive game features |
US20160001177A1 (en) * | 2013-07-22 | 2016-01-07 | Fuzz, Inc. | Image generation system and image generation-purpose program |
CN108479067A (en) * | 2018-04-12 | 2018-09-04 | 网易(杭州)网络有限公司 | The rendering intent and device of game picture |
CN109173244A (en) * | 2018-08-20 | 2019-01-11 | 贵阳动视云科技有限公司 | Game running method and device |
CN110393921A (en) * | 2019-08-08 | 2019-11-01 | 腾讯科技(深圳)有限公司 | Processing method, device, terminal, server and the storage medium of cloud game |
CN113244614A (en) * | 2021-06-07 | 2021-08-13 | 腾讯科技(深圳)有限公司 | Image picture display method, device, equipment and storage medium |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024255263A1 (en) * | 2023-06-12 | 2024-12-19 | 华为云计算技术有限公司 | Cloud game processing method, server, and system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101623288B1 (en) | Rendering system, rendering server, control method thereof, program, and recording medium | |
US9665334B2 (en) | Rendering system, rendering server, control method thereof, program, and recording medium | |
EP2029248B1 (en) | Control of data processing using cumulative inter-frame motion | |
US20110306417A1 (en) | 2d imposters for simplifying processing of plural animation objects in computer graphics generation | |
JP2002236934A (en) | Method and device for providing improved fog effect in graphic system | |
US12157060B2 (en) | System and method for providing a computer- generated environment | |
CN110832442A (en) | Optimized shading and adaptive mesh skin in point-of-gaze rendering systems | |
CN114419099B (en) | Method for capturing motion trail of virtual object to be rendered | |
CN111729307A (en) | Virtual scene display method, device, equipment and storage medium | |
CN114225386A (en) | Coding method, device, electronic device and storage medium of scene picture | |
WO2008035550A1 (en) | Image processing device, control method for image processing device and information recording medium | |
CN115463412A (en) | A display processing method and device for cloud games | |
JP4749198B2 (en) | Program, information storage medium, and image generation system | |
JP5514147B2 (en) | Program, information storage medium, server, terminal, and network system | |
JP2005032140A (en) | Image generation system, program, and information storage medium | |
CN116567274A (en) | Live interactive method, device and system | |
CN106530384B (en) | A kind of the appearance texture synthesis method and device of threedimensional model | |
JP2009129167A (en) | Program, information storage medium, and image generation system | |
JP2010231364A (en) | Image generation system, program and information recording medium | |
JP2009075739A (en) | Program, information storage medium and image generation system | |
CN113476835B (en) | Picture display method and device | |
JP4624527B2 (en) | GAME SYSTEM AND INFORMATION STORAGE MEDIUM | |
JP5800941B2 (en) | Program, server and network system | |
JP2003006671A (en) | Image generating system, program and information storage medium | |
CN118941690A (en) | Image display method, device, electronic device and storage medium |
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 |