CN108434739B - 游戏场景中虚拟资源的处理方法及装置 - Google Patents
游戏场景中虚拟资源的处理方法及装置 Download PDFInfo
- Publication number
- CN108434739B CN108434739B CN201810092813.6A CN201810092813A CN108434739B CN 108434739 B CN108434739 B CN 108434739B CN 201810092813 A CN201810092813 A CN 201810092813A CN 108434739 B CN108434739 B CN 108434739B
- Authority
- CN
- China
- Prior art keywords
- virtual resource
- virtual
- area
- game scene
- resources
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 60
- 238000003672 processing method Methods 0.000 title abstract description 21
- 238000000034 method Methods 0.000 claims description 85
- 238000009877 rendering Methods 0.000 claims description 56
- 239000002131 composite material Substances 0.000 claims description 49
- 238000013507 mapping Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 6
- 239000008280 blood Substances 0.000 description 79
- 210000004369 blood Anatomy 0.000 description 79
- 238000010586 diagram Methods 0.000 description 19
- 239000000463 material Substances 0.000 description 15
- 238000004891 communication Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 7
- 238000010276 construction Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 230000001788 irregular Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 230000010365 information processing Effects 0.000 description 5
- 239000002023 wood Substances 0.000 description 5
- 239000011449 brick Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 244000025254 Cannabis sativa Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000004567 concrete Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 239000004575 stone Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000779 smoke Substances 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/55—Controlling game characters or game objects based on the game progress
- A63F13/58—Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
-
- 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/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
- A63F13/537—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
- A63F13/5372—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for tagging characters, objects or locations in the game scene, e.g. displaying a circle under the character controlled by the player
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/69—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
-
- 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
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/426—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
-
- 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/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
- A63F13/537—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
-
- 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/55—Controlling game characters or game objects based on the game progress
-
- 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/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/55—Details of game data or player data management
- A63F2300/5526—Game data structure
- A63F2300/5533—Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Optics & Photonics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了一种游戏场景中虚拟资源的处理方法及装置,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
Description
技术领域
本发明公开涉及游戏技术领域,尤其涉及一种游戏场景中虚拟资源的处理方法及装置。
背景技术
在互联网的浪潮下,硬件和软件技术的不断发展和演进,促进了智能设备和软件的出现。与此同时,涌现出大量的、不同题材的游戏,以满足用户的需求。
在终端运行的游戏应用目前存在多种不同的题材与玩法类型,将多种不同的玩法相结合从而提高游戏的可玩性是目前本领域的发展方向。例如:将射击类型游戏与建造类型游戏相结合、将策略类型游戏与跑酷类型游戏相结合等等。
对于将射击类型游戏与建造类型游戏相结合的游戏类型来说,复杂的游戏玩法对运算能力有限的终端来说往往不能实现或受到极大的局限,如游戏中的建造玩法,由于游戏场景中存在海量的可拆卸可建造的模型,所有的模型所占内存会非常大,内存比较小的终端可能承受不了。即便内存够用,如此多琐碎的细分模型,在数据处理与图形渲染方面也会给终端造成很大压力。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明公开的目的在于提供一种游戏场景中虚拟资源的方法及装置,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本公开的一个方面,提供一种游戏场景中虚拟资源的处理方法,所述方法包括:
根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域;
接收待拆除虚拟资源的标识,根据所述待拆除虚拟资源的标识确定所述待拆除虚拟资源;
将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息;
将所述区域虚拟资源状态信息发送至虚拟对象对应的客户端,以使所述客户端根据所述区域虚拟资源状态信息控制对应的虚拟资源的渲染显示。
根据本公开的另一个方面,提供一种游戏场景中虚拟资源的处理方法,所述方法包括:
响应于对所述游戏场景中的所述虚拟资源的拆除事件,根据所述拆除事件从所述游戏场景中的多个虚拟资源中确定一虚拟资源为待拆除虚拟资源;
将所述待拆除虚拟资源的标识发送至服务端;
接收所述服务端反馈的区域虚拟资源状态信息,所述区域虚拟资源状态信息为服务端根据虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域内的虚拟资源状态信息;
根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源。
根据本公开的另一个方面,提供一种游戏场景中虚拟资源的处理装置,所述装置包括:
第一确定模块,用于根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域;
第二确定模块,用于接收待拆除虚拟资源的标识,根据所述待拆除虚拟资源的标识确定所述待拆除虚拟资源;
第一更新模块,用于将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息;
第一发送模块,用于将所述区域虚拟资源状态信息发送至虚拟对象对应的客户端,以使所述客户端根据所述区域虚拟资源状态信息控制对应的虚拟资源的渲染显示。
根据本公开的另一个方面,提供一种游戏场景中虚拟资源的处理装置,所述装置包括:
第三确定模块,用于响应于对所述游戏场景中的所述虚拟资源的拆除事件,根据所述拆除事件从所述游戏场景中的多个虚拟资源中确定一虚拟资源为待拆除虚拟资源;
第二发送模块,用于将所述待拆除虚拟资源的标识发送至服务端;
第一接收模块,用于接收所述服务端反馈的区域虚拟资源状态信息,所述区域虚拟资源状态信息为服务端根据虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域内的虚拟资源状态信息;
第二更新模块,用于根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源。
根据本公开的另一个方面,提供一种游戏系统,所述系统包括:服务端、客户端;其中,
服务端包括:第一处理器;
第一存储器,用于存储所述第一处理器的第一可执行指令;
其中,所述第一处理器配置为经由执行所述第一可执行指令来执行上述的游戏场景中虚拟资源的处理方法;
客户端包括:第二处理器;
第二存储器,用于存储所述第二处理器的第二可执行指令;
其中,所述第二处理器配置为经由执行所述第二可执行指令来执行上述的游戏场景中虚拟资源的处理方法。
根据本公开的另一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述的游戏场景中虚拟资源的处理方法。
根据本公开的另一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述的游戏场景中虚拟资源的处理方法。
根据本公开的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的游戏场景中虚拟资源的处理方法。
根据本公开的另一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述的游戏场景中虚拟资源的处理方法。
根据本公开的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的游戏场景中虚拟资源的处理方法。
根据本公开的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的游戏场景中虚拟资源的处理方法。
通过本公开其中之一实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
附图说明
通过参照附图来详细描述其示例性实施例,本公开的上述和其它特征及优点将变得更加明显。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本公开实施例的其中一种游戏场景中虚拟资源的处理方法的流程图;
图2是本公开其中之一示例性实施例中的虚拟资源三维重建映射关系的示意图;
图3是本公开其中之一示例性实施例中的虚拟资源状态索引表的示意图;
图4为本公开实施例的其中一种游戏场景中虚拟资源的处理方法的流程图;
图5为本公开实施例的其中一种游戏场景中虚拟资源的处理方法的流程图;
图6为本公开实施例的其中一种游戏场景中虚拟资源的处理装置的组成图;
图7为本公开实施例的其中一种游戏场景中虚拟资源的处理装置的组成图;
图8为本公开实施例的其中一种游戏系统的组成图;
图9为本公开实施例的其中一种电子设备的结构示意图;
图10为本公开实施例的其中一种电子设备的结构示意图;
图11为本公开实施例的其中一种存储介质的结构示意图;
图12为本公开实施例的其中一种存储介质的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
还需要说明的是,本说明书中所公开的各种触发事件可以预先设置,不同的触发事件可以触发执行不同的功能。
本公开实施例提供了一种游戏场景中虚拟资源的处理方法,该方法的执行主体为服务端,该服务端可以是一台或多台的计算机、服务器、集群等任意服务端设备。图1是根据本发明实施例的一种游戏场景中虚拟资源的处理方法的流程图。如图1所示,在本实施例中该方法包括步骤如下:
步骤S110,根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域;
步骤S120,接收待拆除虚拟资源的标识,根据所述待拆除虚拟资源的标识确定所述待拆除虚拟资源;
步骤S130,将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息;
步骤S140,将所述区域虚拟资源状态信息发送至虚拟对象对应的客户端,以使所述客户端根据所述区域虚拟资源状态信息控制对应的虚拟资源的渲染显示。
通过上述实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
下面,将对本示例性实施例中游戏场景中虚拟资源的处理方法的各步骤作进一步地说明。
在本示例性实施例中,游戏场景可以是方形,也可以是其它形状(比如,圆形等)。游戏场景中可以包含地面、山、石、花、草、树、建筑等。
游戏场景中包括至少一个虚拟资源,虚拟资源可以是建造于游戏场景中的建造物,如房屋、水平面、垂直面、斜面、桌子、椅子、路灯等虚拟物体。虚拟资源可以通过客户端的图形用户界面所呈现,所呈现的内容可以包含虚拟资源的全部,也可以是虚拟资源的局部。
游戏场景中包括至少一虚拟对象,可以通过客户端的图形用户界面所呈现,所呈现的内容可以包含虚拟对象的全部,也可以是虚拟对象的局部。比如,在第三人称视角游戏中,图形用户界面所呈现的内容可以包含虚拟对象的全部;又比如,在第一人称视角游戏中,图形用户界面所呈现的内容可以包含虚拟对象的部分/局部。
虚拟对象可以是敌方阵营的虚拟对象,也可以是己方阵营的虚拟对象,虚拟对象可以响应用户的操作在游戏场景实施相应的行为,例如,用户可以控制虚拟对象在游戏场景中进行走、跑、蹲、趴、攻击、射击等动作,本发明在此不作限制。
在可选的实施方式中,步骤S110,根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域。
其中,服务端实时监测虚拟对象在游戏场景中的当前位置,该虚拟对象在游戏场景中可以根据用户在客户端上的触控操作改变虚拟对象的移动方向,从而进行自由的移动,故引起虚拟对象在游戏场景中位置发生改变。
根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域。其中,该区域可以是游戏场景中以虚拟对象所处的位置为中心,以预设距离为半径的圆形范围区域,也可以是包含虚拟对象所处的当前位置的任意形状的区域,还可以是预先将游戏场景划分为多个区域,根据虚拟对象在游戏场景中的当前位置确定该当前位置所属于的预设区域。
在可选的实施方式中,所述游戏场景被划分为多个区域,各个所述区域分别设置有一区域版本号,所述区域版本号用于标识所述区域内的虚拟资源的当前状态信息。
需要说明的是,游戏场景被划分为多个区域,该区域为逻辑上的游戏场景区域,该区域的划分可以对玩家不可见、也可以对玩家可见,该区域用于将游戏场景及游戏场景中的模型进行区域化管理。从而有效减少了资源消耗,并可以大大降低数据处理压力。
为了表征每个区域内的虚拟资源状态信息的新旧,服务端为每个区域维护一区域版本号。该区域版本号可以为正自然整数,当每个区域内的虚拟资源状态发生变化时,该区域版本号可以按照预设规则进行迭代变化,,其中,对区域版本号进行迭代的方式可以是:对区域版本号加1、对区域版本号减1、或对区域版本号添加唯一标识等等。从而通过该区域版本号识别出该区域内的虚拟资源状态信息的新旧。例如:区域Z的区域版本号为2,当该区域Z内的虚拟资源状态发生变更时,该区域Z的区域版本号迭代为3,该区域Z的区域版本号为3对应的区域虚拟资源状态信息为该区域Z内的虚拟资源的当前状态信息。
在可选的实施方式中,步骤S110之后还包括以下步骤:
步骤S1101,判断所述虚拟对象是否为首次进入所述区域;
步骤S1102,如果是首次进入所述区域,则将所述区域的当前区域版本号保存为虚拟对象区域版本信息,并将所述区域的当前区域版本号对应的区域虚拟资源状态信息发送至所述虚拟对象对应的客户端;
步骤S1103,如果不是首次进入所述区域,则获取所述虚拟对象对应的虚拟对象区域版本信息;
步骤S1104,将所述虚拟对象区域版本信息与所述区域的当前区域版本号进行匹配;
步骤S1105,如果所述虚拟对象区域版本信息与所述区域的当前区域版本号不同,则将所述区域的当前区域版本号对应的区域虚拟资源状态信息发送至所述虚拟对象对应的客户端。
服务端为每个区域维护一区域版本号,同时,也会为每个虚拟对象维护其所经过的区域的区域版本信息,当虚拟对象首次进入某一区域时,服务端将该区域的当前区域版本号保存为虚拟对象区域版本信息,并将所述区域的当前区域版本号对应的区域虚拟资源状态信息发送至所述虚拟对象对应的客户端,以使客户端根据该区域虚拟资源状态信息加载该区域内的虚拟资源。当该虚拟对象再次进入所述区域时,则获取该虚拟对象对应的该区域的虚拟对象区域版本信息,将该虚拟对象区域版本信息与该区域的当前区域版本号进行匹配,如果不一致,服务端会将该区域的当前区域版本号对应的区域虚拟资源状态信息发送至所述虚拟对象对应的客户端,以使客户端根据该区域虚拟资源状态信息更新本地缓存的相关信息和/或加载该区域内的虚拟资源。
例如:服务端为区域Z维护一区域版本号2,当角色a(由客户端a进行操控)首次进入区域Z时,服务端将区域Z的当前区域版本号2保存为角色a对应的区域Z的区域版本信息,并将该区域Z的区域版本号2对应的区域虚拟资源状态信息发送至角色a对应的客户端a。当区域Z中的虚拟资源状态发生变化时,该区域Z的当前区域版本号变为3,当角色a再次进入区域Z时,获取该角色a对应的该区域Z的虚拟对象区域版本信息为2,由于该虚拟对象区域版本信息与该区域Z的当前区域版本号不相同,服务端会将该区域Z的当前区域版本号3对应的区域虚拟资源状态信息发送至角色a对应的客户端a。
在可选的实施方式中,服务端为每个区域维护一区域版本号,同时,也会为每个虚拟对象维护其所经过的区域的区域版本信息,当虚拟对象首次进入某一区域时,服务端将该区域的当前区域版本号保存为虚拟对象区域版本信息,并判断该区域的当前区域版本号是否与初始区域版本号相一致,如果不一致,将所述区域的当前区域版本号对应的区域虚拟资源状态信息发送至所述虚拟对象对应的客户端,以使客户端根据该区域虚拟资源状态信息加载该区域内的虚拟资源。当该虚拟对象再次进入所述区域时,则获取该虚拟对象对应的该区域的虚拟对象区域版本信息,将该虚拟对象区域版本信息与该区域的当前区域版本号进行匹配,如果不一致,服务端会将该区域的当前区域版本号对应的区域虚拟资源状态信息发送至所述虚拟对象对应的客户端,以使客户端根据该区域虚拟资源状态信息更新本地缓存的相关信息和/或加载该区域内的虚拟资源。
例如:服务端为区域Z分配的初始区域版本号为1,该区域Z的当前区域版本号2,当角色a(由客户端a进行操控)首次进入区域Z时,服务端将区域Z的当前区域版本号2保存为角色a对应的区域Z的区域版本信息,由于该区域Z的当前区域版本号与初始区域版本号不一致,则将该区域Z的区域版本号2对应的区域虚拟资源状态信息发送至角色a对应的客户端a。当区域Z中的虚拟资源状态发生变化时,该区域Z的当前区域版本号变为3,当角色a再次进入区域Z时,获取该角色a对应的该区域Z的虚拟对象区域版本信息为2,由于该虚拟对象区域版本信息与该区域Z的当前区域版本号不相同,服务端会将该区域Z的当前区域版本号3对应的区域虚拟资源状态信息发送至角色a对应的客户端a。
通过上述实施方式,设置区域版本号实现区域内虚拟资源状态信息的同步以及对游戏场景中的模型进行区域化管理,避免虚拟对象重复进入某一区域,使得对应的客户端不断刷新状态,有效减少了资源消耗,并可以大大降低数据处理压力,提升数据同步效率。
在可选的实施方式中,步骤S120,接收待拆除虚拟资源的标识,根据所述待拆除虚拟资源的标识确定所述待拆除虚拟资源。
游戏场景中的虚拟资源都被分配一个唯一性标识,如:全局ID、序列号等,当服务端接收到客户端发送的待拆除虚拟资源的标识后,根据该标识在本地查询并获取到该标识对应的虚拟资源。
在可选的实施方式中,在客户端侧维护一名字到ID映射表,该表存储了游戏场景中所有虚拟资源的名字以及为该虚拟资源分配的ID,并且该表中给出名字与ID的映射关系,当在客户端检测到拆除事件时,根据该拆除事件获取到待拆除虚拟资源的名字,并根据该虚拟资源的名字从名字到ID映射表中获取到该虚拟资源对应的ID,客户端将该虚拟资源的ID发送至服务端。服务端接收到客户端发送的虚拟资源ID后,根据该虚拟资源ID在本地查询并获取到该ID对应的虚拟资源。
全局ID主要用于客户端和服务端通信,这样做是因为使用虚拟资源在场景中的唯一名字通信时,名字通常非常长,会浪费玩家流量,因此使用一个4字节的整数唯一标识虚拟资源进行通信。
在可选的实施方式中,当游戏运行时,服务端会向客户端下发一条初始化信息,为游戏场景中的所有虚拟资源分配一个唯一的全局ID,客户端收到这条初始化信息时,会为所有的虚拟资源创建一个实体对象,用于管理每一个虚拟资源。同时客户端还会获取所有已经加载的虚拟资源,将这些虚拟资源绑定到对应的实体上。这样就实现实体对虚拟资源的控制。
通过上述实施方式,以ID代替具体的虚拟资源信息,可以有效提升数据传输的效率。
在可选的实施方式中,步骤S130,将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息。
服务端维护有游戏场景中所存在的全部虚拟资源的状态信息,确定待拆除虚拟资源后,可以直接将该待拆除虚拟资源从游戏场景中根据虚拟对象的当前位置所确定的区域中删除,也可以当检测到所述待拆除虚拟资源满足预设条件时,再将该待拆除虚拟资源从游戏场景中根据虚拟对象的当前位置所确定的区域中删除,并生成该区域对应的区域虚拟资源状态信息,其中,区域虚拟资源状态信息可以是包含对应区域内所有虚拟资源的当前状态信息,包括:是否被拆除、虚拟资源的材质、剩余血量等等;或者,区域虚拟资源状态信息可以是包含对应区域内所有虚拟资源的当前状态信息,包括:虚拟资源的材质、剩余血量等等;或者,区域虚拟资源状态信息可以是包含对应区域内发生状态变化的虚拟资源的当前状态信息。
例如:根据虚拟对象的当前位置所确定的区域(设为区域Z)中原先存在虚拟资源A、B、C、D,当接收到待拆除虚拟资源的标识并确定待拆除虚拟资源为虚拟资源A时,将虚拟资源从游戏场景的区域Z中删除,即删除后区域Z当前存在虚拟资源B、C、D。同时,生成区域Z对应的区域虚拟资源状态信息,该信息可以包括下列内容:虚拟资源A:已拆除;虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者,该信息可以包括下列内容:虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者,该信息可以包括下列内容:虚拟资源A:已拆除。
在可选的实施方式中,步骤S130,将所述待拆除虚拟资源从所述游戏场景的所述区域中删除之前,还包括:检测到所述待拆除虚拟资源满足预设条件。
其中,预设条件可以由开发者根据实际情况预先设置,当检测到所述待拆除虚拟资源满足预设条件时,将所述待拆除虚拟资源从所述游戏场景的所述区域中删除。例如:检测到待拆除虚拟资源的当前剩余血量为0时,将所述待拆除虚拟资源从所述游戏场景的所述区域中删除;又例如:当检测到待拆除虚拟资源被特定攻击模式(如虚拟对象处于直接拆除模式下或待拆除虚拟资源被拆除武器攻击时)攻击时,将所述待拆除虚拟资源从所述游戏场景的所述区域中删除等。
例如:根据虚拟对象的当前位置所确定的区域(设为区域Z)中原先存在虚拟资源A、B、C、D,如:虚拟资源A:正常,剩余血量60%;虚拟资源B:正常,剩余血量100%;虚拟资源C,剩余血量100%:正常;虚拟资源D,剩余血量100%。当接收到待拆除虚拟资源的标识并确定待拆除虚拟资源为虚拟资源A时,检测虚拟资源A的剩余血量是否为0,当虚拟资源A的剩余血量为0时,将虚拟资源从游戏场景的区域Z中删除,即删除后区域Z当前存在虚拟资源B、C、D。同时,生成区域Z对应的区域虚拟资源状态信息,该信息可以包括下列内容:虚拟资源A:已拆除;虚拟资源B:正常,剩余血量100%;虚拟资源C,剩余血量100%:正常;虚拟资源D,剩余血量100%;或者,该信息可以包括下列内容:虚拟资源B:正常,剩余血量100%;虚拟资源C,剩余血量100%:正常;虚拟资源D,剩余血量100%;或者,该信息可以包括下列内容:虚拟资源A:已拆除。
又例如:根据虚拟对象的当前位置所确定的区域(设为区域Z)中原先存在虚拟资源A、B、C、D,当接收到待拆除虚拟资源的标识并确定待拆除虚拟资源为虚拟资源A时,检测到虚拟资源A被拆除武器(锄头、锤子等)攻击时,或者,检测到虚拟对象正处于直接拆除模式下,将虚拟资源从游戏场景的区域Z中删除,即删除后区域Z当前存在虚拟资源B、C、D。同时,生成区域Z对应的区域虚拟资源状态信息,该信息可以包括下列内容:虚拟资源A:已拆除;虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者,该信息可以包括下列内容:虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者,该信息可以包括下列内容:虚拟资源A:已拆除。
在可选的实施方式中,步骤S130,生成所述区域对应的区域虚拟资源状态信息之前,还包括以下步骤:
步骤S1301,确定与所述待拆除虚拟资源具有相邻关系的相邻虚拟资源;
步骤S1302,获取所述相邻虚拟资源的邻接关系列表,并将所述待拆除虚拟资源从所述邻接关系列表中删除;
步骤S1303,根据所述邻接关系列表判断所述相邻虚拟资源与地面是否相连通,如果所述相邻虚拟资源与地面不能相连通,则将所述相邻虚拟资源从所述游戏场景的所述区域中删除。
确定与所述待拆除虚拟资源具有相邻关系的相邻虚拟资源,相邻虚拟资源可以与该待拆除虚拟资源直接相邻,也可以与该待拆除虚拟资源间接相邻。即相邻关系包括直接相邻关系和间接相邻关系。直接相邻关系是指两个虚拟资源存在共用边,或者一个虚拟资源的一个面与另一个虚拟资源的表面连接,或者一个虚拟资源的一个点与另一个虚拟资源的表面连接。举例而言,虚拟资源A为水平面,虚拟资源B也为水平面,当虚拟资源A与虚拟资源B并列排放在一起且两个水平面的侧面贴在一起,则认为两个水平面直接相邻;再次举例而言,虚拟资源C为垂直面,当虚拟资源A的侧面与虚拟资源C的正面相贴合共同构成房屋的垂直墙面与地面或垂直墙面与顶面时,则认为虚拟资源A与虚拟资源C直接相邻。间接相邻关系是指两个虚拟资源具有相同的具有直接关系的虚拟资源,举例而言,虚拟资源A为水平面,虚拟资源B也为水平面,虚拟资源A与虚拟资源B中间存在虚拟资源D(水平面),且虚拟资源D的两个侧面分别与虚拟资源A和虚拟资源B直接相邻,则认为虚拟资源A与虚拟资源B之间存在间接相邻关系。
服务端为游戏场景中的每个虚拟资源维护一邻接关系列表,该邻接关系列表中实时记录了每个虚拟资源对应的当前与该虚拟资源具有相邻关系的相邻虚拟资源标识,当游戏场景中的某一虚拟资源被确定为待拆除虚拟资源时,确定该虚拟资源的相邻虚拟资源,并获取相邻虚拟资源的邻接关系列表,并将该待拆除虚拟资源从邻接关系列表中删除。
例如:虚拟资源A与虚拟资源B相邻,虚拟资源B又与虚拟资源C、虚拟资源D相邻,当待拆除虚拟资源确定为虚拟资源A时,确定虚拟资源A的相邻虚拟资源为虚拟资源B,获取虚拟资源B的邻接关系列表,该列表信息中包含:虚拟资源A,虚拟资源C,虚拟资源D。将虚拟资源A从邻接关系列表中删除,此时,虚拟资源B的邻接关系列表中包含:虚拟资源C,虚拟资源D。
通过对邻接关系列表的查询可以快速获取每个虚拟资源的相邻虚拟资源,而无需每次都进行检测,提升了数据处理的效率。
在可选的实施方式中,服务端在游戏初始化的过程中,会启动一个只用来进行数据导出的初始化终端,这个初始化终端会加载最新的场景资源,并创建相机,使用相机遍历游戏场景中的每个虚拟资源,获取每个虚拟资源的碰撞体,一种实施方式为:使用该碰撞体进行碰撞检测,从而获得每个虚拟资源的相邻虚拟资源,并建立每个虚拟资源的邻接关系列表。另一种实施方式为:如果虚拟资源彼此相互拼接或留有细小的缝隙时,则在进行碰撞检测时会失败,而且由于搭建模型存在误差,导致模型与模型之间并未直接接触,这时检测不到这些相邻的碰撞体。因此在进行碰撞检测之前,首先获取碰撞体的位置、碰撞体的大小,以及世界旋转矩阵,根据这些信息在原来碰撞体的位置新创建了一个盒式碰撞体,同时将将该碰撞体放大预设数值,例如原碰撞体的1.1倍或是将原碰撞体扩大5.5cm等,使用这个新创建的碰撞体进行碰撞检测,获得了所有与该碰撞体发生碰撞的其他碰撞体,根据这些发生碰撞的其他碰撞体确定对应的虚拟资源标识,从而得到每个虚拟资源的相邻虚拟资源,并建立每个虚拟资源的邻接关系列表。
在可选的实施方式中,每个虚拟资源对应的邻接关系列表中包含一个接地信息标识(例如:该标识为1,说明该虚拟资源与地面相连通,该标识为0,说明该虚拟资源不能相连通),通过读取该接地信息标识的值,可以判断待拆除虚拟资源的每个相邻虚拟资源与地面是否相连通,如果该相邻虚拟资源与地面不能相连通,则将该相邻虚拟资源从所述游戏场景的所述区域中删除并将该相邻虚拟资源确定为待拆除虚拟资源,重复执行步骤S1301。
例如:虚拟资源A与虚拟资源B相邻,虚拟资源B又与虚拟资源C、虚拟资源D相邻,虚拟资源D又与虚拟资源E相邻,其中,只有虚拟资源E与地面相连通。当待拆除虚拟资源确定为虚拟资源A时,确定虚拟资源A的相邻虚拟资源为虚拟资源B,获取虚拟资源B的邻接关系列表,该列表信息中包含:虚拟资源A,虚拟资源C,虚拟资源D,接地信息标识为1(由于虚拟资源D可以经过虚拟资源E与地面相连通)。将虚拟资源A从邻接关系列表中删除,此时,虚拟资源B的邻接关系列表中包含:虚拟资源C,虚拟资源D,接地信息标识为1。通过对虚拟资源B的邻接关系列表中接地信息标识的判断,该接地信息标识为1,即该虚拟资源B可以经过虚拟资源D与地面相连通,因此,不对虚拟资源B进行拆除处理。
又例如:虚拟资源A与虚拟资源B相邻,虚拟资源B又与虚拟资源C、虚拟资源D相邻,虚拟资源D又与虚拟资源E相邻,其中,没有虚拟资源与地面相连通。当待拆除虚拟资源确定为虚拟资源A时,确定虚拟资源A的相邻虚拟资源为虚拟资源B,获取虚拟资源B的邻接关系列表,该列表信息中包含:虚拟资源A,虚拟资源C,虚拟资源D,接地信息标识为0。将虚拟资源A从邻接关系列表中删除,此时,虚拟资源B的邻接关系列表中包含:虚拟资源C,虚拟资源D,接地信息标识为0。通过对虚拟资源B的邻接关系列表中接地信息标识的判断,该接地信息标识为0,即该虚拟资源B与地面不能相连通,因此,将相邻虚拟资源B从所述游戏场景的所述区域中删除,并将该相邻虚拟资源B确定为待拆除虚拟资源,确定虚拟资源B的相邻虚拟资源为虚拟资源E,获取虚拟资源E的邻接关系列表,重复执行上述步骤,直至遍历完所有的相邻虚拟资源为止。
通过上述实施方式,在确定待拆除虚拟资源之后,自动根据预设的相邻关系确定出符合条件的其他待拆除虚拟资源,降低了系统数据处理资源的占用,基于此种方式,使得用户在拆除了待拆除虚拟资源后,联动拆除其他符合条件的待拆除相邻虚拟资源,以实现更符合现实世界建筑物崩塌的效果,以提到用户的游戏体验。
在可选的实施方式中,步骤S130将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息,还包括以下步骤:
步骤S1304,将所述待拆除虚拟资源从所述游戏场景的所述区域中删除;
步骤S1305,将所述区域对应的区域版本号进行迭代后确定为所述区域的当前区域版本号;
步骤S1306,更新区域虚拟资源状态信息。
服务端将待拆除虚拟资源从游戏场景的所述区域中删除后,由于该区域内的虚拟资源状态发生了变化,故服务端将该区域对应的区域版本号进行迭代后确定为该区域的当前区域版本号,并更新该区域对应的区域虚拟资源状态信息,其中,对区域版本号进行迭代的方式可以是:对区域版本号加1、对区域版本号减1、或对区域版本号添加唯一标识等等。
在可选的实施方式中,服务端将该区域虚拟资源状态信息发送至处于该区域内的所有虚拟对象对应的客户端,以使处于该区域内的所有虚拟对象对应的客户端更新并显示该区域内的虚拟资源的状态,而处于该区域外的所有虚拟对象对应的客户端并不对该区域内的虚拟资源的状态进行更新,而是当区域外的虚拟对象进入该区域时,通过该虚拟对象的虚拟对象区域版本信息与该区域的当前区域版本号的匹配进行异步更新。
例如:服务端为区域Z分配的初始区域版本号为1,该区域Z的当前区域版本号2,该区域Z内当前存在3个虚拟资源,分别为虚拟资源A、B、C,该区域Z内当前还存在3个角色,分别为角色a、b、c,该区域Z外当前还存在1个角色d,该区域版本号2对应的区域虚拟资源状态信息为:虚拟资源A:正常;虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常。当检测到角色a将区域Z内的虚拟资源A拆除时,该区域Z的当前区域版本号变为3,并更新区域虚拟资源状态信息为:虚拟资源A:已拆除;虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者更新区域虚拟资源状态信息为:虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者更新区域虚拟资源状态信息为:虚拟资源A:已拆除。服务端将该区域虚拟资源状态信息发送至处于该区域Z内的所有角色a、b、c对应的客户端a、b、c,以使处于该区域Z内的所有角色对应的客户端更新并显示该区域Z内的虚拟资源的状态,而角色d由于处于该区域Z外,故角色d对应的客户端d不会接收到该区域虚拟资源状态信息或者忽略接收到该区域虚拟资源状态信息,因此不会更新也不会显示该区域Z内的虚拟资源的状态,当角色d首次进入区域Z时,服务端将区域Z的当前区域版本号3保存为角色d对应的区域Z的区域版本信息,由于该区域Z的当前区域版本号与初始区域版本号不一致,则将该区域Z的区域版本号3对应的区域虚拟资源状态信息发送至角色d对应的客户端d,以使客户端d更新并显示该区域Z内的虚拟资源的状态;当角色d非首次进入区域Z时获取该角色d对应的该区域Z的虚拟对象区域版本信息为2,由于该虚拟对象区域版本信息与该区域Z的当前区域版本号不相同,服务端会将该区域Z的当前区域版本号3对应的区域虚拟资源状态信息发送至角色d对应的客户端d,以使客户端d更新并显示该区域Z内的虚拟资源的状态。
通过上述实施方式,设置区域版本号实现区域内虚拟资源状态信息的同步以及对游戏场景中的模型进行区域化管理,当虚拟资源的状态发生变化时,对区域内的客户端进行实时同步,对区域外的客户端进行异步同步,从而有效减少了资源消耗,并可以大大降低数据处理压力,提升数据同步效率。
在可选的实施方式中,步骤S140,将所述区域虚拟资源状态信息发送至虚拟对象对应的客户端,以使所述客户端根据所述区域虚拟资源状态信息控制对应的虚拟资源的渲染显示。
服务端将区域虚拟资源状态信息发送至虚拟对象对应的客户端,以使所述客户端根据所述区域虚拟资源状态信息更新该区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源。
例如:客户端a本地保存的区域Z内的虚拟资源的状态为:虚拟资源A:正常;虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;服务端将区域虚拟资源状态信息发送至客户端a,该区域虚拟资源状态信息为:虚拟资源A:已拆除;虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者该区域虚拟资源状态信息为:虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者该区域虚拟资源状态信息为:虚拟资源A:已拆除。客户端a根据该区域虚拟资源状态信息更新该区域内的虚拟资源的状态,即将虚拟资源A的状态由正常改为已拆除,并在客户端A的图形用户界面中渲染显示虚拟资源A的拆除动画。
在可选的实施方式中,服务端将区域虚拟资源状态信息发送至虚拟对象对应的客户端,以及处于该区域内的所有虚拟对象对应的客户端,以使所述客户端根据所述区域虚拟资源状态信息更新该区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源。
在可选的实施方式中,根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源,其中,虚拟资源的状态由虚拟资源状态信息决定,虚拟资源状态信息包括虚拟资源的当前状态,如:是否被拆除、虚拟资源的材质、剩余血量等等。
例如:虚拟资源A的虚拟资源状态信息为:虚拟资源A:正常,则在客户端的图形用户界面中渲染显示所述虚拟资源的正常形态;如虚拟资源A的虚拟资源状态信息为:虚拟资源A:已拆除,或者当前的虚拟资源状态信息中不存在虚拟资源A,则在客户端的图形用户界面中渲染显示所述虚拟资源的拆除动画后,将该虚拟资源隐藏或删除;如虚拟资源A的虚拟资源状态信息为:虚拟资源A:剩余血量20%,则在客户端的图形用户界面中渲染显示所述虚拟资源,并在该虚拟资源上添加裂纹、缺口等显示效果。
通过上述实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
在可选的实施方式中,所述方法还包括以下步骤:
步骤S150,对所述游戏场景中的所述多个虚拟资源建立虚拟资源状态索引表,所述虚拟资源状态索引表至少包括:各个虚拟资源对应的虚拟资源标识和各个虚拟资源的虚拟资源状态信息;
步骤S160,将所述虚拟资源状态索引表同步至客户端。
需要说明的是,步骤S150、步骤S160可以作为初始化步骤在步骤S110之前执行,也可以作为重置步骤根据需要设置在任意步骤之前、之后或之中执行。
考虑到客户端对于拆卸数据存储的结构访问的便利性,在同步某个区域的虚拟资源状态信息时,能够快速定位到该区域内有哪些虚拟资源,由服务端对游戏场景中存在的多个虚拟资源建立虚拟资源状态索引表,虚拟资源状态索引表是一种多层级索引式存储数据结构,用于存储游戏场景中的所有虚拟资源的状态信息,其中,虚拟资源状态索引表至少包括:各个虚拟资源对应的虚拟资源标识和各个虚拟资源的虚拟资源状态信息。将该虚拟资源状态索引表同步至客户端,以供客户端快速定位虚拟资源,服务端也可以使用自己建立的虚拟资源状态索引表或者另行维护对游戏场景中存在的多个虚拟资源的状态信息。
在可选的实施方式中,所述游戏场景中包含由至少两个虚拟资源组成的合成模型,所述虚拟资源标识中的高位信息用于标识合成模型,所述标识中的低位信息用于标识组成所述合成模型的虚拟资源。
其中,游戏场景中的多个虚拟资源可以相互拼接组成一合成模型,例如:由2个水平面虚拟资源与4个垂直面虚拟资源可以相互拼接组成一个房屋(合成模型)。
在可选的实施方式中,为了识别游戏场景中的虚拟资源是合成模型中的子模型,或者是独立模型,以及获取各个虚拟资源的索引,在为虚拟资源分配全局唯一的ID时,使用了一个32位的整数作为ID,且使用整数的低12bit作为合成模型的子模型的索引,剩余的24bit高位作为独立模型/合成模型的索引。
之所以使用12bit作为子模型的索引,是因为在游戏场景中最大的合成模型已经有几百个子模型,而12bit能够表示4096个数,已经足够当前使用,并为未来更大的合成模型预留了足够的空间。而高位可以表示高达2的19次方个数,而游戏场景中的独立模型/合成模型也才几万个而已。此外,由于子模型在合成模型中的索引从0开始,为此加了1的偏移,这样当子模型的索引为0时,表示该虚拟资源是一个独立模型。
例如:由2个水平面虚拟资源与4个垂直面虚拟资源可以相互拼接组成一个房屋(合成模型),则2个水平面虚拟资源的ID分别为:
0000 0000 0000 0000 0000 0001:0000 0000 0001;
0000 0000 0000 0000 0000 0001:0000 0000 0002;
4个垂直面虚拟资源的ID分别为:
0000 0000 0000 0000 0001:0000 0000 0003;
0000 0000 0000 0000 0001:0000 0000 0004;
0000 0000 0000 0000 0001:0000 0000 0005;
0000 0000 0000 0000 0001:0000 0000 0006;
一个独立水平面虚拟资源的ID为:
0000 0000 0000 0000 0002:0000 0000 0000。
根据虚拟资源ID的低位信息可以快速识别出该虚拟资源是独立的模型还是合成模型的子模型,例如:当低位信息为0000 0000 0000时,标识该虚拟资源为独立模型,当低位信息为0000 0000 0001等存在数值偏移时,标识该虚拟资源为合成模型。同时,根据虚拟资源ID的高位信息,可以快速识别出合成模型的所有的子模型,例如:当高位信息为00000000 0000 0000 0001的虚拟资源ID同属于一个合成模型的子模型。
通过上述实施方式,有利于提升客户端对于拆卸数据存储的结构访问的便利性,使得客户端在同步某个区域的虚拟资源状态信息时,能够快速定位到该区域内有哪些虚拟资源。
在可选的实施方式中,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源形状信息,所述虚拟资源形状信息为以下其中之一:水平面、垂直面、向上斜面、向下斜面。
在可选的实施方式中,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源分类信息,所述虚拟资源分类信息为以下其中之一:已有虚拟资源、新建虚拟资源。
所述新建虚拟资源(即在游戏画面中渲染生成)由玩家的建造指令所触发建造,建造指令中至少包含玩家拟建造的虚拟资源(即新建资源)的空间类型,还可以包含新建资源的材料属性(如木材、混凝土、砖块等)和数量。已有虚拟资源为游戏开发者为游戏场景中初始设置的虚拟资源,已有虚拟资源的形状与新建虚拟资源的形状可以相同也可以不同,例如:新建虚拟资源的形状信息包括:水平面、垂直面、向上斜面、向下斜面;已有虚拟资源的形状信息包括:水平面、垂直面、柱子、不规则类型。
在可选的实施方式中,所述游戏场景的空间被划分为多个相互拼接的几何体,所述虚拟资源建造于一个所述几何体的表面或所述几何体内截面之上,所述游戏场景中的所述区域由至少一个所述几何体组成。
游戏场景的空间被划分为多个相互拼接的几何体。其中,几何体可以是长方体、立方体、平行六面体、蜂巢体等,可以理解,几何体之间可以相互拼接,从而形成整个游戏场景的空间。需要说明的是,游戏场景的空间被划分成的几何体是逻辑上的空间,例如:x,y,z坐标均在0~50范围内的一片空间范围。
游戏场景中所划分的区域为在x,z轴上(水平方向)所划分的二维区域,每个所划分的区域由至少一个所述几何体组成,所划分的区域通常是几何体的整数倍。需要说明的是,几何体本身是一个三维区域,此处所述的每个所划分的区域由至少一个所述几何体组成,即不考虑y轴(垂直方向),而在x,z轴所确定的平面内(水平方向)的前提下,每个所划分的区域由至少一个所述几何体组成。
在可选的实施方式中,所述几何体为长宽相同的长方体。在游戏场景的空间建立坐标系XYZ,分别为水平方向XZ坐标,垂直向上坐标Y。空间划分的方式就将空间划分为无限个水平X=5米,Z=5米,垂直向上方向Y=3.5米间距的长方体,需要说明的是,长方体的长宽高分度值可以由开发者根据实际情况任意设置。
在划分为多个相互拼接的几何体的游戏场景空间中,每个几何体的表面以及几何体内部的截面都可以建造新建虚拟资源,同时,游戏场景中的原有建筑的部件(已有虚拟资源)也根据几何体的表面以及内部的截面进行预先放置。
由于新建虚拟资源与已有虚拟资源具有相同的放置规则,在生成新建虚拟资源时更容易与已有虚拟资源进行契合,同样也大大降低了计算量,提高了游戏的运行效率。
以下以将空间划分为多个长宽相同的相互拼接的长方体为例进行描述,需要说明的是,将空间划分为任何形状的可相互拼接的多个几何体都包含在本公开的保护范围之内。
虚拟资源的形状信息可以为:水平面、垂直面、向上斜面、向下斜面,即相对于所述长方体的几何位置,可以是沿长方体的垂直面建造,沿长方体的水平面建造,沿长方体的内坡面建造。所述垂直面即长方体中垂直于游戏场景地平面的四个面,所述水平面即长方体中平行于游戏场景地平面的两个面,所述内坡面即长方体内的对角截面(所述对角截面所在平面经过长方体水平面的两个边,并与长方体的两个垂直面相交)。以虚拟资源的材料属性为砖块为例,沿长方体垂直面建造的虚拟资源为垂直墙,沿长方体水平建造的虚拟资源为水平墙,沿建造位置为长方体的内坡面建造的虚拟资源为向上或向下的斜坡。
通过上述实施方式,将游戏场景归一几何化,使得新建虚拟资源和游戏场景中已有虚拟资源能够对齐拼接,增强画面美感;同时,避免了在游戏场景中进行建造时对虚拟资源之间进行物理碰撞检测,从而可以有效降低系统开销,提升游戏运行的流畅性。
在可选的实施方式中,所述虚拟资源状态索引表还包括:各个虚拟资源对应的几何体索引信息,所述几何体索引信息用于标识几何体与所述虚拟资源的映射关系。
在游戏的初始化过程中,服务端从游戏场景文件中获取所有虚拟资源的ID、虚拟资源的模型信息(虚拟资源可以是合成模型中的子模型,或者是独立模型)、世界坐标信息、旋转信息等信息;同时,解析游戏场景中的合成模型的gim文件,获取合成模型中的每一个子模型在合成模型的局部坐标系中旋转、缩放、位置信息,获取每一个子模型的gim文件路径,解析子模型的gim文件,获取各个子模型的包围盒信息。
接着对游戏场景中的虚拟资源进行三维重建,确定各个虚拟资源所处的几何体,建立虚拟资源与几何体的映射关系。三维重建的目的是为虚拟资源的网格化建造提供信息,确定出游戏场景中的哪些地方能够建造虚拟资源,哪些地方不能建造虚拟资源等。
图2是本公开其中之一示例性实施例中的虚拟资源三维重建映射关系的示意图,游戏场景中的虚拟资源进行三维重建时,合成模型的子模型可以映射成以下几种类型:
1.垂直面(包括朝西、朝南两种类型)
2.水平面
3.不规则类型(主要是屋顶,楼梯这种子模型)
4.柱子
如图2所示,对图2中左边的建筑物抽象并进行三维重建之后,得到图2右边的合成模型,设图2中的合成模型在几何体中的坐标为(x,y,z),则使用抽象后的合成模型描述原建筑物如下表所示:
经过上述三维重建之后,建立虚拟资源与几何体的映射关系,从而当虚拟对象在游戏场景中进行建造或拆卸时,可以根据虚拟资源状态索引表判断每个几何体中所存在的虚拟资源类型,确定可以进行建造的位置,也可以根据虚拟资源快速索引值该虚拟资源所处的几何体。
在可选的实施方式中,所述虚拟资源状态索引表还包括:各个虚拟资源对应的区域索引信息,所述区域索引信息用于标识区域与所述虚拟资源的映射关系。
各个虚拟资源对应的区域索引信息,用于标识每个虚拟资源与所处区域的映射关系。有利于提升客户端对于拆卸数据存储的结构访问的便利性,使得客户端够快速确定待拆除虚拟资源所处的区域,也可以在同步某个区域的虚拟资源状态信息时,能够快速定位到该区域内有哪些虚拟资源。
通过上述实施方式,有利于提升客户端对于拆卸数据存储的结构访问的便利性,使得客户端在同步某个区域的虚拟资源状态信息时,能够快速定位到该区域内有哪些虚拟资源,并进一步快速确定该虚拟资源所处的几何体、分类信息、形状信息等信息;同时,通过虚拟资源状态索引表,不需要将整个游戏场景加载进内存,只需对所处区域内的存在虚拟资源的几何体加载进内存。从而大大节省内存的消耗。
在可选的实施方式中,虚拟资源状态索引表采用了索引存储的方式,图3是本公开其中之一示例性实施例中的虚拟资源状态索引表的示意图,如图3所示,一级索引是区域索引,二级索引是几何体索引,三级索引是虚拟资源分类信息索引,四级索引是虚拟资源形状信息索引。当游戏场景中的某个虚拟资源被拆除之后,该虚拟资源在虚拟资源状态索引表中被移除,或将该虚拟资源的状态信息变更为已拆除状态,通过上述方式,当客户端尝试在该被拆除的虚拟资源的原位置或相邻位置建造新建虚拟资源的时候,就能够及时且快速地从虚拟资源状态索引表中查询到相应的信息。
在可选的实施方式中,步骤S130将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息,还包括以下步骤:
步骤S1307,根据所述区域从虚拟资源状态索引表获取所述区域内的虚拟资源状态信息;
步骤S1308,将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并更新所述区域内的虚拟资源状态信息,生成所述区域对应的区域虚拟资源状态信息。
服务端可以使用自己建立的虚拟资源状态索引表维护游戏场景中存在的虚拟资源的状态信息。根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域之后,读取本地维护的该区域从虚拟资源状态索引表,并根据该区域从虚拟资源状态索引表中索引该区域内的虚拟资源状态信息。将待拆除的虚拟资源删除后,实时对虚拟资源状态索引表进行更新,可以只对发生状态变化的虚拟资源状态信息进行更新,也可以对该区域内所有虚拟资源状态信息一起进行更新,以保证虚拟资源状态索引表可以正确反映出游戏场景中各个虚拟资源的最新状态,同时,根据最新的虚拟资源状态索引表生成该区域对应的区域虚拟资源状态信息。
通过上述实施方式,服务端使用区域索引可以快速更新并生成对应区域的虚拟资源状态信息,提升信息处理效率,并有效减少资源消耗。
本公开实施例还提供了一种游戏场景中虚拟资源的处理方法,该方法的执行主体为客户端,客户端可以是计算机、手机、平板电脑、移动终端、电子设备等任意客户端设备。图4为本公开实施例的其中一种游戏场景中虚拟资源的处理方法的流程图。如图4所示,在本实施例中该方法包括步骤如下:
步骤S210,响应于对所述游戏场景中的所述虚拟资源的拆除事件,根据所述拆除事件从所述游戏场景中的多个虚拟资源中确定一虚拟资源为待拆除虚拟资源;
步骤S220,将所述待拆除虚拟资源的标识发送至服务端;
步骤S230,接收所述服务端反馈的区域虚拟资源状态信息,所述区域虚拟资源状态信息为服务端根据虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域内的虚拟资源状态信息;
步骤S240,根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源。
通过上述实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
下面,将对本示例性实施例中游戏场景中虚拟资源的处理方法的各步骤作进一步地说明。
在本示例性实施例中,通过在客户端设备的处理器上执行软件应用并在所述客户端设备的显示器上渲染得到图形用户界面,所述图形用户界面所显示的内容至少部分地包含一局部或全部的游戏场景,所述游戏场景中包括至少一虚拟对象。
图形用户界面所呈现的内容可以包含游戏场景的全部,也可以是游戏场景的局部。例如,当游戏场景比较大,在游戏的过程中移动终端的图形用户界面上显示游戏场景的局部内容。游戏场景可以是方形,也可以是其它形状(比如,圆形等)。游戏场景中可以包含地面、山、石、花、草、树、建筑等。
游戏场景中包括至少一个虚拟资源,虚拟资源可以是建造于游戏场景中的建造物,如房屋、水平面、垂直面、斜面、桌子、椅子、路灯等虚拟物体。虚拟资源可以通过图形用户界面所呈现,所呈现的内容可以包含虚拟资源的全部,也可以是虚拟资源的局部。
游戏场景中包括至少一虚拟对象,可以通过图形用户界面所呈现,所呈现的内容可以包含虚拟对象的全部,也可以是虚拟对象的局部。比如,在第三人称视角游戏中,图形用户界面所呈现的内容可以包含虚拟对象的全部;又比如,在第一人称视角游戏中,图形用户界面所呈现的内容可以包含虚拟对象的部分/局部。
虚拟对象可以是敌方阵营的虚拟对象,也可以是己方阵营的虚拟对象,虚拟对象可以响应用户的操作在游戏场景实施相应的行为,例如,用户可以控制虚拟对象在游戏场景中进行走、跑、蹲、趴、攻击、射击等动作,本发明在此不作限制。
在可选的实施方式中,步骤S210,响应于对所述游戏场景中的所述虚拟资源的拆除事件,根据所述拆除事件从所述游戏场景中的多个虚拟资源中确定一虚拟资源为待拆除虚拟资源。
对所述游戏场景中的所述虚拟资源的拆除事件可以通过检测用户图形界面中所提供的特定触发控件的触控操作进行触发;也可以根据预先设置的交互条件进行触发,例如:用户的按压、摇晃、声音输入、特殊手势操作等方式;还可以通过检测游戏场景中的虚拟资源是否受到攻击进行触发,例如:当检测到虚拟资源A受到子弹或道具的碰撞时触发拆除事件,还可以通过检测游戏场景中的虚拟资源的剩余血量为0进行触发。
需要说明的是,通过检测游戏场景中的虚拟资源是否受到攻击进行触发,其中攻击可以是来自同一个虚拟对象或不同虚拟对象的多次攻击,故可以设置为虚拟资源每次受到攻击都可以触发拆除事件,也可以设置为虚拟资源受到每个不同虚拟对象的首次、预设次、某一特定次攻击时触发拆除事件。
需要说明的是,通过检测游戏场景中的虚拟资源的剩余血量为0进行触发,其中,虚拟资源具备预设值的初始血量,受到攻击时,根据攻击类型会损失一定数值的血量,当检测游戏场景中的虚拟资源的剩余血量为0进行触发拆除事件。
根据所述拆除事件从所述游戏场景中的多个虚拟资源中确定一虚拟资源为待拆除虚拟资源。例如:当检测到虚拟资源A受到子弹或道具的碰撞时触发拆除事件,将该虚拟资源A确定为待拆除虚拟资源,并获取虚拟资源A的标识。
在可选的实施方式中,在客户端侧维护一名字到ID映射表,该表存储了游戏场景中所有虚拟资源的名字以及为该虚拟资源分配的ID,并且该表中给出名字与ID的映射关系,当在客户端检测到拆除事件时,根据该拆除事件获取到待拆除虚拟资源的名字,并根据该虚拟资源的名字从名字到ID映射表中获取到该虚拟资源对应的ID,虚拟资源的ID主要用于客户端和服务端通信,这样做是因为使用虚拟资源在场景中的唯一名字通信时,名字通常非常长,会浪费玩家流量,因此使用一个4字节的整数唯一标识虚拟资源进行通信。
在可选的实施方式中,响应于对所述游戏场景中的所述虚拟资源的拆除事件的步骤,包括:将客户端的实体按键与拆除指令相关联,当移动终端检测到该实体键被按压时,控制虚拟对象对游戏场景中的虚拟资源进行拆除。在其他实施方式中,通过预设音频指令控制虚拟对象对虚拟资源进行拆除。
在可选的实施方式中,步骤S220,将所述待拆除虚拟资源的标识发送至服务端。
客户端将该虚拟资源的标识发送至服务端。服务端接收到客户端发送的虚拟资源标识后,根据该虚拟资源标识在本地查询并获取到该标识对应的虚拟资源。
其中,将所述待拆除虚拟资源的标识发送至服务端可以通过有线或无线的方式进行发送,所使用的通信协议属于现有技术,此处不再赘述。
在可选的实施方式中,步骤S230,接收所述服务端反馈的区域虚拟资源状态信息,所述区域虚拟资源状态信息为服务端根据虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域内的虚拟资源状态信息;
服务端根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域。其中,该区域可以是游戏场景中以虚拟对象所处的位置为中心,以预设距离为半径的圆形范围区域,也可以是包含虚拟对象所处的当前位置的任意形状的区域,还可以是预先将游戏场景划分为多个区域,根据虚拟对象在游戏场景中的当前位置确定该当前位置所属于的预设区域。
服务端维护有游戏场景中所存在的全部虚拟资源的状态信息,待拆除虚拟资源的标识确定待拆除虚拟资源后,可以直接将该待拆除虚拟资源从游戏场景中根据虚拟对象的当前位置所确定的区域中删除,也可以当检测到所述待拆除虚拟资源满足预设条件时,再将该待拆除虚拟资源从游戏场景中根据虚拟对象的当前位置所确定的区域中删除,并生成该区域对应的区域虚拟资源状态信息,其中,区域虚拟资源状态信息可以是包含对应区域内所有虚拟资源的当前状态信息,包括:是否被拆除、虚拟资源的材质、剩余血量等等;或者,区域虚拟资源状态信息可以是包含对应区域内所有虚拟资源的当前状态信息,包括:虚拟资源的材质、剩余血量等等;或者,区域虚拟资源状态信息可以是包含对应区域内发生状态变化的虚拟资源的当前状态信息。客户端接收服务端反馈的上述区域虚拟资源状态信息。
例如:根据虚拟对象的当前位置所确定的区域(设为区域Z)中原先存在虚拟资源A、B、C、D,当确定待拆除虚拟资源为虚拟资源A时,将虚拟资源从游戏场景的区域Z中删除,即删除后区域Z当前存在虚拟资源B、C、D。同时,生成区域Z对应的区域虚拟资源状态信息,该信息可以包括下列内容:虚拟资源A:已拆除;虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者,该信息可以包括下列内容:虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者,该信息可以包括下列内容:虚拟资源A:已拆除;客户端接收服务端反馈的上述区域虚拟资源状态信息。
在可选的实施方式中,服务端检测待拆除虚拟资源资源满足预设条件时,将所述待拆除虚拟资源从所述游戏场景的所述区域中删除。其中,预设条件可以由开发者根据实际情况预先设置,当服务端检测到所述待拆除虚拟资源满足预设条件时,将所述待拆除虚拟资源从所述游戏场景的所述区域中删除。例如:服务端检测到待拆除虚拟资源的当前剩余血量为0时,将所述待拆除虚拟资源从所述游戏场景的所述区域中删除;又例如:当服务端检测到待拆除虚拟资源被特定攻击模式(如虚拟对象处于直接拆除模式下或待拆除虚拟资源被拆除武器攻击时)攻击时,将所述待拆除虚拟资源从所述游戏场景的所述区域中删除等。
例如:根据虚拟对象的当前位置所确定的区域(设为区域Z)中原先存在虚拟资源A、B、C、D,如:虚拟资源A:正常,剩余血量60%;虚拟资源B:正常,剩余血量100%;虚拟资源C,剩余血量100%:正常;虚拟资源D,剩余血量100%。当确定待拆除虚拟资源为虚拟资源A时,检测虚拟资源A的剩余血量是否为0,当虚拟资源A的剩余血量为0时,将虚拟资源从游戏场景的区域Z中删除,即删除后区域Z当前存在虚拟资源B、C、D。同时,生成区域Z对应的区域虚拟资源状态信息,该信息可以包括下列内容:虚拟资源A:已拆除;虚拟资源B:正常,剩余血量100%;虚拟资源C,剩余血量100%:正常;虚拟资源D,剩余血量100%;或者,该信息可以包括下列内容:虚拟资源B:正常,剩余血量100%;虚拟资源C,剩余血量100%:正常;虚拟资源D,剩余血量100%;或者,该信息可以包括下列内容:虚拟资源A:已拆除;客户端接收服务端反馈的上述区域虚拟资源状态信息。
又例如:根据虚拟对象的当前位置所确定的区域(设为区域Z)中原先存在虚拟资源A、B、C、D,当接收到待拆除虚拟资源的标识并确定待拆除虚拟资源为虚拟资源A时,检测到虚拟资源A被拆除武器(锄头、锤子等)攻击时,或者,检测到虚拟对象正处于直接拆除模式下,将虚拟资源从游戏场景的区域Z中删除,即删除后区域Z当前存在虚拟资源B、C、D。同时,生成区域Z对应的区域虚拟资源状态信息,该信息可以包括下列内容:虚拟资源A:已拆除;虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常,或者,该信息可以包括下列内容:虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者,该信息可以包括下列内容:虚拟资源A:已拆除;客户端接收服务端反馈的上述区域虚拟资源状态信息。
在可选的实施方式中,步骤S240,根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源。
客户端根据所述区域虚拟资源状态信息更新该区域内的虚拟资源的状态,并在客户端的图形用户界面上根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源,其中,客户端保存有该区域内的虚拟资源的状态信息,或者保存有游戏场景中全部的虚拟资源的状态信息,存储信息的格式与数据结构可以根据需要任意设置。客户端根据接收到的所述区域虚拟资源状态信息对本地所保存的虚拟资源的状态信息进行更新,从而完成对该区域内的虚拟资源的状态的更新。
例如:客户端a本地保存的区域Z内的虚拟资源的状态为:虚拟资源A:正常;虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;服务端将区域虚拟资源状态信息发送至客户端a,该区域虚拟资源状态信息为:虚拟资源A:已拆除;虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者,该区域虚拟资源状态信息为:虚拟资源B:正常;虚拟资源C:正常;虚拟资源D:正常;或者,该区域虚拟资源状态信息为:虚拟资源A:已拆除;客户端a根据该区域虚拟资源状态信息更新该区域内的虚拟资源的状态,即将虚拟资源A的状态由正常改为已拆除,并在客户端A的图形用户界面中渲染显示虚拟资源A的拆除动画。
在可选的实施方式中,根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源,其中,虚拟资源的状态由虚拟资源状态信息决定,虚拟资源状态信息包括虚拟资源的当前状态,如:是否被拆除、虚拟资源的材质、剩余血量等等。
例如:虚拟资源A的虚拟资源状态信息为:虚拟资源A:正常,则在客户端的图形用户界面中渲染显示所述虚拟资源的正常形态;如虚拟资源A的虚拟资源状态信息为:虚拟资源A:已拆除,则在客户端的图形用户界面中渲染显示所述虚拟资源的拆除动画后,将该虚拟资源隐藏或删除;如虚拟资源A的虚拟资源状态信息为:虚拟资源A:剩余血量20%,则在客户端的图形用户界面中渲染显示所述虚拟资源,并在该虚拟资源上添加裂纹、缺口等显示效果。
通过上述实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
在可选的实施方式中,步骤S240还包括以下步骤:
步骤S2401,根据所述区域虚拟资源状态信息更新所述区域内的待拆除虚拟资源和所述待拆除虚拟资源的相邻虚拟资源的状态,并根据更新后的所述区域内的虚拟资源的状态渲染显示所述区域内的虚拟资源。
接收服务端反馈的区域虚拟资源状态信息中包含待拆除虚拟资源的状态信息,还包括与所述待拆除虚拟资源相邻的待拆除相邻虚拟资源的状态信息。其中,服务端确定与所述待拆除虚拟资源具有相邻关系的相邻虚拟资源;获取所述相邻虚拟资源的邻接关系列表,并将所述待拆除虚拟资源从所述邻接关系列表中删除;根据所述邻接关系列表判断所述相邻虚拟资源与地面是否相连通,如果所述相邻虚拟资源与地面不能相连通,则将所述相邻虚拟资源从所述游戏场景的所述区域中删除,根据所述区域内的虚拟资源的当前状态生成区域虚拟资源状态信息。
确定与所述待拆除虚拟资源具有相邻关系的相邻虚拟资源,相邻虚拟资源可以与该待拆除虚拟资源直接相邻,也可以与该待拆除虚拟资源间接相邻。即相邻关系包括直接相邻关系和间接相邻关系。直接相邻关系是指两个虚拟资源存在共用边,或者一个虚拟资源的一个面与另一个虚拟资源的表面连接,或者一个虚拟资源的一个点与另一个虚拟资源的表面连接。举例而言,虚拟资源A为水平面,虚拟资源B也为水平面,当虚拟资源A与虚拟资源B并列排放在一起且两个水平面的侧面贴在一起,则认为两个水平面直接相邻;再次举例而言,虚拟资源C为垂直面,当虚拟资源A的侧面与虚拟资源C的正面相贴合共同构成房屋的垂直墙面与地面或垂直墙面与顶面时,则认为虚拟资源A与虚拟资源C直接相邻。间接相邻关系是指两个虚拟资源具有相同的具有直接关系的虚拟资源,举例而言,虚拟资源A为水平面,虚拟资源B也为水平面,虚拟资源A与虚拟资源B中间存在虚拟资源D(水平面),且虚拟资源D的两个侧面分别与虚拟资源A和虚拟资源B直接相邻,则认为虚拟资源A与虚拟资源B之间存在间接相邻关系。
服务端为游戏场景中的每个虚拟资源维护一邻接关系列表,该邻接关系列表中实时记录了每个虚拟资源对应的当前与该虚拟资源具有相邻关系的相邻虚拟资源标识,当游戏场景中的某一虚拟资源被确定为待拆除虚拟资源时,确定该虚拟资源的相邻虚拟资源,并获取相邻虚拟资源的邻接关系列表,并将该待拆除虚拟资源从邻接关系列表中删除。
客户端根据所述区域虚拟资源状态信息更新该区域内的虚拟资源的状态,并在客户端的图形用户界面上根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源。
通过上述实施方式,在确定待拆除虚拟资源之后,自动根据预设的相邻关系确定出符合条件的其他待拆除虚拟资源,降低了系统数据处理资源的占用,基于此种方式,使得用户在拆除了待拆除虚拟资源后,联动拆除其他符合条件的待拆除相邻虚拟资源,以实现更符合现实世界建筑物崩塌的效果,以提到用户的游戏体验。
在可选的实施方式中,步骤S210,响应于对所述游戏场景中的所述虚拟资源的拆除事件之前,还包括以下步骤:
步骤S250,获取所述虚拟对象在游戏场景中的当前位置,并从本地获取虚拟资源状态索引表;
步骤S260,根据所述虚拟对象在游戏场景中的当前位置和所述虚拟资源状态索引表渲染加载所述游戏场景的虚拟资源。
根据用户在客户端上的触控操作可以改变虚拟对象在游戏场景中的移动方向,从而控制虚拟对象在游戏场景中进行自由的移动,故引起虚拟对象在游戏场景中位置发生改变。获取所述虚拟对象在游戏场景中的当前位置,可以是获取该虚拟对象在游戏场景中的坐标,或其他能够表征虚拟对象在游戏场景中的位置的数值。
在可选的实施方式中,在所述图形用户界面中提供一移动控制器,将所述虚拟对象配置为根据所述移动控制器接收到的触控操作在所述第一游戏场景中进行移动。所述移动控制器可以是诸如虚拟摇杆、方向控制虚拟按键等,本示例性实施例对此不作特殊限定。
具体地,检测作用于所述移动控制器的触控操作,根据该触控操作的触控点的移动控制所述虚拟对象在所述游戏场景中移动。
在可选的实施方式中,移动控制器是一虚拟摇杆,根据虚拟摇杆接收到的触控操作控制虚拟对象在游戏场景中进行移动。
在可选的实施方式中,移动控制器是一虚拟十字键/虚拟方向键(D-PAD),根据虚拟十字键接收到的触控操作控制虚拟对象在游戏场景中进行移动。
虚拟资源状态索引表是一种多层级索引式存储数据结构,用于存储游戏场景中的所有虚拟资源的状态信息,在游戏的初始化过程中,客户端会从服务端接收游戏场景中各个虚拟资源对应的虚拟资源状态索引表,并存储至本地。在游戏进行过程中,客户端从本地获取虚拟资源状态索引表。根据所述虚拟对象在游戏场景中的当前位置和所述虚拟资源状态索引表渲染加载所述游戏场景的虚拟资源。
需要说明的是,根据所述虚拟对象在游戏场景中的当前位置和所述虚拟资源状态索引表可以渲染加载全部游戏场景的虚拟资源,也可以根据所述虚拟对象在游戏场景中的当前位置只渲染加载游戏场景部分区域内的虚拟资源。
虚拟资源状态索引表能够提升客户端对于拆卸数据存储的结构访问的便利性,使得客户端通过该索引表可以快速索引到各个建造模型的状态信息,提升信息处理效率,并有效减少资源消耗。
在可选的实施方式中,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源标识和各个虚拟资源的虚拟资源状态信息。客户端在同步某个区域的虚拟资源状态信息时,能够快速定位到该区域内有哪些虚拟资源,并能根据虚拟资源标识快速获取对应虚拟资源的状态信息。
在可选的实施方式中,所述游戏场景中包含由至少两个虚拟资源组成的合成模型,所述虚拟资源标识中的高位信息用于标识合成模型,所述标识中的低位信息用于标识组成所述合成模型的虚拟资源。
其中,游戏场景中的多个虚拟资源可以相互拼接组成一合成模型,例如:由2个水平面虚拟资源与4个垂直面虚拟资源可以相互拼接组成一个房屋(合成模型)。
在可选的实施方式中,为了识别游戏场景中的虚拟资源是合成模型中的子模型,或者是独立模型,以及获取各个虚拟资源的索引,在为虚拟资源分配全局唯一的ID时,使用了一个32位的整数作为ID,且使用整数的低12bit作为合成模型的子模型的索引,剩余的24bit高位作为独立模型/合成模型的索引。
之所以使用12bit作为子模型的索引,是因为在游戏场景中最大的合成模型已经有几百个子模型,而12bit能够表示4096个数,已经足够当前使用,并为未来更大的合成模型预留了足够的空间。而高位可以表示高达2的19次方个数,而游戏场景中的独立模型/合成模型也才几万个而已。此外,由于子模型在合成模型中的索引从0开始,为此加了1的偏移,这样当子模型的索引为0时,表示该虚拟资源是一个独立模型。
例如:由2个水平面虚拟资源与4个垂直面虚拟资源可以相互拼接组成一个房屋(合成模型),则2个水平面虚拟资源的ID分别为:
0000 0000 0000 0000 0000 0001:0000 0000 0001;
0000 0000 0000 0000 0000 0001:0000 0000 0002;
4个垂直面虚拟资源的ID分别为:
0000 0000 0000 0000 0001:0000 0000 0003;
0000 0000 0000 0000 0001:0000 0000 0004;
0000 0000 0000 0000 0001:0000 0000 0005;
0000 0000 0000 0000 0001:0000 0000 0006;
一个独立水平面虚拟资源的ID为:
0000 0000 0000 0000 0002:0000 0000 0000。
根据虚拟资源ID的低位信息可以快速识别出该虚拟资源是独立的模型还是合成模型的子模型,例如:当低位信息为0000 0000 0000时,标识该虚拟资源为独立模型,当低位信息为0000 0000 0001等存在数值偏移时,标识该虚拟资源为合成模型。同时,根据虚拟资源ID的高位信息,可以快速识别出合成模型的所有的子模型,例如:当高位信息为00000000 0000 0000 0001的虚拟资源ID同属于一个合成模型的子模型。
通过上述实施方式,有利于提升客户端对于拆卸数据存储的结构访问的便利性,使得客户端在同步某个区域的虚拟资源状态信息时,能够快速定位到该区域内有哪些虚拟资源。
在可选的实施方式中,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源形状信息,所述虚拟资源形状信息为以下其中之一:水平面、垂直面、向上斜面、向下斜面。
在可选的实施方式中,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源分类信息,所述虚拟资源分类信息为以下其中之一:已有虚拟资源、新建虚拟资源。
所述新建虚拟资源(即在游戏画面中渲染生成)由玩家的建造指令所触发建造,建造指令中至少包含玩家拟建造的虚拟资源(即新建资源)的空间类型,还可以包含新建资源的材料属性(如木材、混凝土、砖块等)和数量。已有虚拟资源为游戏开发者为游戏场景中初始设置的虚拟资源,已有虚拟资源的形状与新建虚拟资源的形状可以相同也可以不同,例如:新建虚拟资源的形状信息包括:水平面、垂直面、向上斜面、向下斜面;已有虚拟资源的形状信息包括:水平面、垂直面、柱子、不规则类型。
在可选的实施方式中,所述游戏场景的空间被划分为多个相互拼接的几何体,所述虚拟资源建造于一个所述几何体的表面或所述几何体内截面之上,所述游戏场景中的所述区域由至少一个所述几何体组成。
游戏场景的空间被划分为多个相互拼接的几何体。其中,几何体可以是长方体、立方体、平行六面体、蜂巢体等,可以理解,几何体之间可以相互拼接,从而形成整个游戏场景的空间。需要说明的是,游戏场景的空间被划分成的几何体是逻辑上的空间,例如:x,y,z坐标均在0~50范围内的一片空间范围。
游戏场景中所划分的区域为在x,z轴上(水平方向)所划分的二维区域,每个所划分的区域由至少一个所述几何体组成,所划分的区域通常是几何体的整数倍。需要说明的是,几何体本身是一个三维区域,此处所述的每个所划分的区域由至少一个所述几何体组成,即不考虑y轴(垂直方向),而在x,z轴所确定的平面内(水平方向)的前提下,每个所划分的区域由至少一个所述几何体组成。
在可选的实施方式中,所述几何体为长宽相同的长方体。在游戏场景的空间建立坐标系XYZ,分别为水平方向XZ坐标,垂直向上坐标Y。空间划分的方式就将空间划分为无限个水平X=5米,Z=5米,垂直向上方向Y=3.5米间距的长方体,需要说明的是,长方体的长宽高分度值可以由开发者根据实际情况任意设置。
在划分为多个相互拼接的几何体的游戏场景空间中,每个几何体的表面以及几何体内部的截面都可以建造新建虚拟资源,同时,游戏场景中的原有建筑的部件(已有虚拟资源)也根据几何体的表面以及内部的截面进行预先放置。
由于新建虚拟资源与已有虚拟资源具有相同的放置规则,在生成新建虚拟资源时更容易与已有虚拟资源进行契合,同样也大大降低了计算量,提高了游戏的运行效率。
以下以将空间划分为多个长宽相同的相互拼接的长方体为例进行描述,需要说明的是,将空间划分为任何形状的可相互拼接的多个几何体都包含在本公开的保护范围之内。
虚拟资源的形状信息可以为:水平面、垂直面、向上斜面、向下斜面,即相对于所述长方体的几何位置,可以是沿长方体的垂直面建造,沿长方体的水平面建造,沿长方体的内坡面建造。所述垂直面即长方体中垂直于游戏场景地平面的四个面,所述水平面即长方体中平行于游戏场景地平面的两个面,所述内坡面即长方体内的对角截面(所述对角截面所在平面经过长方体水平面的两个边,并与长方体的两个垂直面相交)。以虚拟资源的材料属性为砖块为例,沿长方体垂直面建造的虚拟资源为垂直墙,沿长方体水平建造的虚拟资源为水平墙,沿建造位置为长方体的内坡面建造的虚拟资源为向上或向下的斜坡。
通过上述实施方式,将游戏场景归一几何化,使得新建虚拟资源和游戏场景中已有虚拟资源能够对齐拼接,增强画面美感;同时,避免了在游戏场景中进行建造时对虚拟资源之间进行物理碰撞检测,从而可以有效降低系统开销,提升游戏运行的流畅性。
在可选的实施方式中,所述虚拟资源状态索引表还包括:各个虚拟资源对应的几何体索引信息,所述几何体索引信息用于标识几何体与所述虚拟资源的映射关系。
根据虚拟资源状态索引表中的几何体索引信息,可以快速确定每个虚拟资源所处的几何体,以及每个几何体中所包含的虚拟资源。
在可选的实施方式中,如图2所示,设图2中右边的合成模型(虚拟资源为合成模型的各个子模型)在几何体中的坐标为(x,y,z),则资源状态索引表中的几何体索引信息如下表所示:
子模型(虚拟资源) | 映射类型 | 几何体坐标 |
oD | 柱子 | (x,y,z) |
AE | 柱子 | (x+1,y,z) |
BF | 柱子 | (x+1,y,z+1) |
CG | 柱子 | (x,y,z+1) |
oAED | 垂直面朝南 | (x,y,z) |
ABFE | 垂直面朝西 | (x+1,y,z) |
BCGF | 垂直面朝南 | (x,y,z+1) |
CoDG | 垂直面朝西 | (x,y,z) |
oABC | 水平面 | (x,y,z) |
DEFG | 水平面 | (x,y+1,z) |
DEFGLM | 不规则类型 | (x,y+1,z) |
根据资源状态索引表中的几何体索引信息可以确定:几何体(x,y,z)中包括虚拟资源oD、oAED、CoDG、oABC;几何体(x+1,y,z)中包括虚拟资源AE、ABFE;几何体(x,y+1,z)中包括虚拟资源DEFG、DEFGLM;几何体(x,y,z+1)中包括虚拟资源CG、BCGF;几何体(x+1,y,z+1)中包括虚拟资源BF。根据资源状态索引表中的几何体索引信息也可以快速确定每个虚拟资源所处的几何体坐标,从而建立虚拟资源与几何体的映射关系。当虚拟对象在游戏场景中进行建造或拆卸时,可以根据虚拟资源状态索引表判断每个几何体中所存在的虚拟资源类型,确定可以进行建造的位置,也可以根据虚拟资源快速索引值该虚拟资源所处的几何体。
在可选的实施方式中,所述虚拟资源状态索引表还包括:各个虚拟资源对应的区域索引信息,所述区域索引信息用于标识区域与所述虚拟资源的映射关系。
各个虚拟资源对应的区域索引信息,用于标识每个虚拟资源与所处区域的映射关系。有利于提升客户端对于拆卸数据存储的结构访问的便利性,使得客户端够快速确定待拆除虚拟资源所处的区域,也可以在同步某个区域的虚拟资源状态信息时,能够快速定位到该区域内有哪些虚拟资源。
通过上述实施方式,有利于提升客户端对于拆卸数据存储的结构访问的便利性,使得客户端在同步某个区域的虚拟资源状态信息时,能够快速定位到该区域内有哪些虚拟资源,并进一步快速确定该虚拟资源所处的几何体、分类信息、形状信息等信息;同时,通过虚拟资源状态索引表,不需要将整个游戏场景加载进内存,只需对所处区域内的存在虚拟资源的几何体加载进内存。从而大大节省内存的消耗。
在可选的实施方式中,虚拟资源状态索引表采用了索引存储的方式,图3是本公开其中之一示例性实施例中的虚拟资源状态索引表的示意图,如图3所示,一级索引是区域索引,二级索引是几何体索引,三级索引是虚拟资源分类信息索引,四级索引是虚拟资源形状信息索引。当游戏场景中的某个虚拟资源被拆除之后,该虚拟资源在虚拟资源状态索引表中被移除,或将该虚拟资源的状态信息变更为已拆除状态,通过上述方式,当客户端尝试在该被拆除的虚拟资源的原位置或相邻位置建造新建虚拟资源的时候,就能够及时且快速地从虚拟资源状态索引表中查询到相应的信息。
客户端使用的虚拟资源状态索引表中会缓存虚拟资源的状态信息,当虚拟资源的状态发生改变时,就会将该状态存储到虚拟资源状态索引表的数据结构中。当玩家从当前区域离开后再回到这个区域时,就能直接从缓存中读取这些虚拟资源的状态,并使用特效或UI表现该虚拟资源的状态。对于虚拟资源状态的缓存能够很大程度减少客户端对虚拟资源状态更新的流量消耗。
根据图3举例而言,游戏场景被划分为4个区域,分别为区域W、X、Y、Z;每个区域内包含6个几何体,分别为几何体1-6、7-12、13-18、19-24;每个几何体中又包含2类分类信息,分别为:已有虚拟资源、新建虚拟资源;已有虚拟资源包含5类形状信息,分别为:水平面、朝西垂直面、朝南垂直面、不规则类型、柱子;新建虚拟资源包括4类形状信息,分别为:水平面、垂直面、向上斜坡、向下斜坡;已有虚拟资源中的每类形状信息包含:虚拟资源ID、最大血量、当前血量;新建虚拟资源中的没类形状信息包含:虚拟资源ID、最大血量、当前血量、材质ID、实体对象。
其中,假设虚拟资源A在虚拟资源状态索引表中的信息为:全局ID1、最大血量100、当前血量100、水平面、已有虚拟资源、几何体3、区域Z;虚拟资源B在虚拟资源状态索引表中的信息为:全局ID2、最大血量100、当前血量100、2(木材ID)、实体对象2、垂直面、新建虚拟资源、几何体4、区域Z。
当客户端接收到服务端反馈的区域Z对应的区域虚拟资源状态信息时,根据接收到的区域虚拟资源状态信息获知将区域Z内的虚拟资源A拆除,将虚拟资源2的血量将为40%,则根据区域虚拟资源状态信息更新虚拟资源状态索引表,即:将虚拟资源A从虚拟资源状态索引表中删除,将虚拟资源B的状态信息更新为:全局ID2、最大血量100、当前血量40、2(木材ID)、实体对象2、垂直面、新建虚拟资源、几何体4、区域Z。
在可选的实施方式中,步骤S260,根据所述虚拟对象在游戏场景中的当前位置和所述虚拟资源状态索引表渲染加载所述游戏场景的虚拟资源,还包括以下步骤:
步骤S2601,根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域;
步骤S2602,根据所述虚拟资源状态索引表获取所述区域内的虚拟资源状态信息;
步骤S2603,根据所述区域内的虚拟资源状态信息渲染加载所述游戏场景的所述区域内的虚拟资源。
根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域。其中,该区域可以是游戏场景中以虚拟对象所处的位置为中心,以预设距离为半径的圆形范围区域,也可以是包含虚拟对象所处的当前位置的任意形状的区域,还可以是预先将游戏场景划分为多个区域,根据虚拟对象在游戏场景中的当前位置确定该当前位置所属于的预设区域。根据所述虚拟对象所处的区域在虚拟资源状态索引表进行索引,获取该区域内的所有虚拟资源状态信息,根据该区域内的所有虚拟资源状态信息渲染加载所述游戏场景的所述区域内的虚拟资源。
通过上述实施方式,根据虚拟资源状态索引表以及虚拟对象的当前位置渲染加载所处区域的虚拟资源,从而避免加载游戏场景的全部模型,有效降低了资源消耗。
根据图3再次举例而言,游戏场景被划分为4个区域,分别为区域W、X、Y、Z;每个区域内包含6个几何体,分别为几何体1-6、7-12、13-18、19-24;每个几何体中又包含2类分类信息,分别为:已有虚拟资源、新建虚拟资源;已有虚拟资源包含5类形状信息,分别为:水平面、朝西垂直面、朝南垂直面、不规则类型、柱子;新建虚拟资源包括4类形状信息,分别为:水平面、垂直面、向上斜坡、向下斜坡;已有虚拟资源中的每类形状信息包含:虚拟资源ID、最大血量、当前血量;新建虚拟资源中的没类形状信息包含:虚拟资源ID、最大血量、当前血量、材质ID、实体对象。
其中,假设虚拟对象处于区域Z;虚拟资源A在虚拟资源状态索引表中的信息为:全局ID1、最大血量100、当前血量100、水平面、已有虚拟资源、几何体3、区域Z;虚拟资源B在虚拟资源状态索引表中的信息为:全局ID2、最大血量100、当前血量100、2(木材ID)、实体对象2、垂直面、新建虚拟资源、几何体4、区域Z。
客户端根据本地存储的虚拟资源状态索引表获取区域Z内的虚拟资源状态信息,即虚拟资源A、B在虚拟资源状态索引表中的状态信息,根据所述状态信息在客户端的图形用户界面中渲染加载所述游戏场景的区域Z内的虚拟资源A、B。
在可选的实施方式中,步骤S240,根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源,还包括以下步骤:
步骤S2402,根据所述区域虚拟资源状态信息更新本地的所述虚拟资源状态索引表;
步骤S2403,根据更新后的所述虚拟资源状态索引表渲染显示所述虚拟资源。
客户端根据所述区域虚拟资源状态信息更新本地的所述虚拟资源状态索引表,并在客户端的图形用户界面上根据更新后的所述虚拟资源状态索引表渲染显示所述虚拟资源。
例如:客户端a本地保存的区域Z内的虚拟资源状态索引表为:
虚拟资源A:当前血量100,区域Z;
虚拟资源B:当前血量100,区域Z;
虚拟资源C:当前血量100,区域Z;
虚拟资源D:当前血量100,区域Z;
客户端a接收到服务端发送的区域虚拟资源状态信息,该区域虚拟资源状态信息为:虚拟资源A:已拆除;虚拟资源B:当前血量100;虚拟资源C:当前血量100;虚拟资源D:当前血量100;或者,该区域虚拟资源状态信息为:虚拟资源B:当前血量100;虚拟资源C:当前血量100;虚拟资源D:当前血量100,或者,该区域虚拟资源状态信息为:虚拟资源A:已拆除。客户端a根据该区域虚拟资源状态信息更新虚拟资源状态索引表,得到更新后的虚拟资源状态索引表为:
虚拟资源A:已拆除,区域Z;
虚拟资源B:当前血量100,区域Z;
虚拟资源C:当前血量100,区域Z;
虚拟资源D:当前血量100,区域Z;
在客户端a的图形用户界面上根据更新后的所述虚拟资源状态索引表渲染显示虚拟资源A的拆除动画。
或者,得到更新后的虚拟资源状态索引表为:
虚拟资源B:当前血量100,区域Z;
虚拟资源C:当前血量100,区域Z;
虚拟资源D:当前血量100,区域Z;
由于更新后的虚拟资源状态索引表中不存在虚拟资源A,因此在客户端a的图形用户界面上根据更新后的所述虚拟资源状态索引表渲染显示虚拟资源A的拆除动画。
通过上述实施方式,通过虚拟资源状态索引表以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
在一种可选的实施方式中,图5为本公开实施例的其中一种游戏场景中虚拟资源的处理方法的流程图。如图5所示,在本实施例中该方法包括步骤如下:
步骤S310,服务端向客户端进行区域状态同步。
首先服务端会为游戏场景中的每一个区域维护一个版本号,这个版本号会在每次该区域内的模型(虚拟资源)状态发生改变就会发生迭代变化。同时,服务端也会为每个游戏角色(虚拟对象)维护该游戏角色经过的区域的版本号。当游戏角色进入某个未去过的区域的时候,如果这个区域的版本号与初始版本号不一致,则会将该区域的最新状态(区域虚拟资源状态信息)同步给该玩家。如果游戏角色再次回到某个曾经经过的区域,服务端会对比为该游戏角色维护的该区域的版本号,与该区域的版本号是否一致,如果不一致,服务端会将该区域的最新状态(区域虚拟资源状态信息)同步给该游戏角色对应的客户端。每次同步,客户端都会缓存这些同步的状态。
步骤S320,虚拟对象向游戏场景中的模型发起攻击。
游戏角色(虚拟对象)在拆卸游戏场景中的模型(虚拟对象)的时候,如用武器击中了场景中的模型,会向服务端上传这个被击中的模型的id。
步骤S330,更新被攻击模型的状态。
服务端会根据游戏角色使用的武器计算对该模型产生的伤害,并从为服务端生成的数据表中获取该模型的材质,以及为这类模型配置的血量,当对模型的伤害到一定血量的时候,会掉落相应材质的材料。服务端会将该模型的当前的血量状态同步给在该区域中的所有游戏角色对应的客户端。当模型的血量将为0时,服务端会将该模型的拆除信息(区域虚拟资源状态信息)同步给在该区域中的所有游戏角色对应的客户端。对于该模型在被拆除时,服务端还会将该模型从建造网格(游戏场景中的几何体)中剔除,这样就更新了建造网格的信息。此外服务端还会将该模型从该模型的邻接模型的邻接关系中删除,在删除的时候,服务端还会判定与该模型相邻的模型是否能连通到地面,如果不能,还会将不能连通到地面的相关联的模型一并删除掉。
在与客户端的交互过程中,服务端会缓存状态发生改变的模型,同时修改对应区域的版本号。
步骤S340,缓存并渲染显示被攻击模型的状态。
客户端在收到被攻击模型的状态同步信息(区域虚拟资源状态信息)后,会首先缓存所述状态同步信息,然后再在客户端中进行特效表现,包括烟尘、火花、震动、裂纹、血条等。同时,还会从客户端的虚拟资源状态索引表中删除该模型,这样客户在游戏场景中建造虚拟资源的时候就可以判断被拆除的虚拟资源的相同位置处是否可以建造,以及该模型的相邻区域处能否可以建造。
通过上述实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
本示例性实施例中还公开了一种游戏场景中虚拟资源的处理装置。图6为本公开实施例的其中一种游戏场景中虚拟资源的处理装置的组成图。如图6所示,所述装置包括:
第一确定模块,用于根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域;
第二确定模块,用于接收待拆除虚拟资源的标识,根据所述待拆除虚拟资源的标识确定所述待拆除虚拟资源;
第一更新模块,用于将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息;
第一发送模块,用于将所述区域虚拟资源状态信息发送至虚拟对象对应的客户端,以使所述客户端根据所述区域虚拟资源状态信息控制对应的虚拟资源的渲染显示。
通过上述实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
上述实施例中各模块单元的具体细节已经在对应的游戏场景中虚拟资源的处理方法中进行了详细的描述,此外,可以理解,游戏场景中虚拟资源的处理装置中还包括其他单元模块与信息处理方法相对应,因此此处不再赘述。
本示例性实施例中还公开了一种游戏场景中虚拟资源的处理装置。图7为本公开实施例的其中一种游戏场景中虚拟资源的处理装置的组成图。如图7所示,所述装置包括:
第三确定模块,用于响应于对所述游戏场景中的所述虚拟资源的拆除事件,根据所述拆除事件从所述游戏场景中的多个虚拟资源中确定一虚拟资源为待拆除虚拟资源;
第二发送模块,用于将所述待拆除虚拟资源的标识发送至服务端;
第一接收模块,用于接收所述服务端反馈的区域虚拟资源状态信息,所述区域虚拟资源状态信息为服务端根据虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域内的虚拟资源状态信息;
第二更新模块,用于根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源。
通过上述实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
上述实施例中各模块单元的具体细节已经在对应的游戏场景中虚拟资源的处理方法中进行了详细的描述,此外,可以理解,游戏场景中虚拟资源的处理装置中还包括其他单元模块与信息处理方法相对应,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本示例性实施例中还公开了一种游戏系统。图8为本公开实施例的其中一种游戏系统的组成图。如图8所示,所述游戏系统包括:服务端801、客户端802;其中,
服务端包括:第一处理器;
第一存储器,用于存储所述第一处理器的第一可执行指令;
其中,所述第一处理器配置为经由执行所述第一可执行指令来执行上述的游戏场景中虚拟资源的处理方法;
客户端包括:第二处理器;
第二存储器,用于存储所述第二处理器的第二可执行指令;
其中,所述第二处理器配置为经由执行所述第二可执行指令来执行上述的游戏场景中虚拟资源的处理方法。
通过上述实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
需要说明的是,本发明实施例仅以游戏系统具有一个服务端、一个客户端为例进行描述,但在具体实施当中,游戏系统可以有一个或多个客户端,其各个客户端的数量可以根据实际应用来配置。
图9为本公开实施例的其中一种电子设备的结构示意图。如图9所示,本实施例的电子设备910包括:存储器911和处理器912。其中,存储器911和处理器912之间可通过总线连接;
处理器912;以及
存储器911,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来实现如下步骤:
根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域;
接收待拆除虚拟资源的标识,根据所述待拆除虚拟资源的标识确定所述待拆除虚拟资源;
将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息;
将所述区域虚拟资源状态信息发送至虚拟对象对应的客户端,以使所述客户端根据所述区域虚拟资源状态信息控制对应的虚拟资源的渲染显示。
可选地,所述将所述待拆除虚拟资源从所述游戏场景的第一所述区域中删除之前,还包括:
检测到所述待拆除虚拟资源满足预设条件。
可选地,所述生成所述区域对应的区域虚拟资源状态信息之前,还包括:
确定与所述待拆除虚拟资源具有相邻关系的相邻虚拟资源;
获取所述相邻虚拟资源的邻接关系列表,并将所述待拆除虚拟资源从所述邻接关系列表中删除;
根据所述邻接关系列表判断所述相邻虚拟资源与地面是否相连通,如果所述相邻虚拟资源与地面不能相连通,则将所述相邻虚拟资源从所述游戏场景的所述区域中删除。
可选地,所述游戏场景被划分为多个区域,各个所述区域分别设置有一区域版本号,所述区域版本号用于标识所述区域内的虚拟资源的当前状态信息,所述根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域之后,还包括:
判断所述虚拟对象是否为首次进入所述区域;
如果是首次进入所述区域,则将所述区域的当前区域版本号保存为虚拟对象区域版本信息,并将所述区域的当前区域版本号对应的区域虚拟资源状态信息发送至所述虚拟对象对应的客户端;
如果不是首次进入所述区域,则获取所述虚拟对象对应的虚拟对象区域版本信息;
将所述虚拟对象区域版本信息与所述区域的当前区域版本号进行匹配;
如果所述虚拟对象区域版本信息与所述区域的当前区域版本号不同,则将所述区域的当前区域版本号对应的区域虚拟资源状态信息发送至所述虚拟对象对应的客户端。
可选地,所述将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息,还包括:
将所述待拆除虚拟资源从所述游戏场景的所述区域中删除;
将所述区域对应的区域版本号进行迭代后确定为所述区域的当前区域版本号;
更新区域虚拟资源状态信息。
可选地,所述方法还包括:
对所述游戏场景中的所述多个虚拟资源建立虚拟资源状态索引表,所述虚拟资源状态索引表至少包括:各个虚拟资源对应的虚拟资源标识和各个虚拟资源的虚拟资源状态信息;
将所述虚拟资源状态索引表同步至客户端。
可选地,所述游戏场景中包含由至少两个虚拟资源组成的合成模型,所述虚拟资源标识中的高位信息用于标识合成模型,所述标识中的低位信息用于标识组成所述合成模型的虚拟资源。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源形状信息,所述虚拟资源形状信息为以下其中之一:水平面、垂直面、向上斜面、向下斜面。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源分类信息,所述虚拟资源分类信息为以下其中之一:已有虚拟资源、新建虚拟资源。
可选地,所述游戏场景的空间被划分为多个相互拼接的几何体,所述虚拟资源建造于一个所述几何体的表面或所述几何体内截面之上,所述游戏场景中的所述区域由至少一个所述几何体组成,所述虚拟资源状态索引表还包括:各个虚拟资源对应的几何体索引信息,所述几何体索引信息用于标识几何体与所述虚拟资源的映射关系。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的区域索引信息,所述区域索引信息用于标识区域与所述虚拟资源的映射关系。
可选地,所述将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息,包括:
根据所述区域从虚拟资源状态索引表获取所述区域内的虚拟资源状态信息;
将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并更新所述区域内的虚拟资源状态信息,生成所述区域对应的区域虚拟资源状态信息。
通过上述实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
图10为本公开实施例的其中一种电子设备的结构示意图。如图10所示,本实施例的电子设备1010包括:存储器1011和处理器1012。其中,存储器1011和处理器1012之间可通过总线连接;
处理器1012;以及
存储器1011,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来实现如下步骤:
响应于对所述游戏场景中的所述虚拟资源的拆除事件,根据所述拆除事件从所述游戏场景中的多个虚拟资源中确定一虚拟资源为待拆除虚拟资源;
将所述待拆除虚拟资源的标识发送至服务端;
接收所述服务端反馈的区域虚拟资源状态信息,所述区域虚拟资源状态信息为服务端根据虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域内的虚拟资源状态信息;
根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源。
可选地,所述根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源,还包括:
根据所述区域虚拟资源状态信息更新所述区域内的待拆除虚拟资源和所述待拆除虚拟资源的相邻虚拟资源的状态,并根据更新后的所述区域内的虚拟资源的状态渲染显示所述区域内的虚拟资源。
可选地,所述响应于对所述游戏场景中的所述虚拟资源的拆除事件之前,还包括:
获取所述虚拟对象在游戏场景中的当前位置,并从本地获取虚拟资源状态索引表;
根据所述虚拟对象在游戏场景中的当前位置和所述虚拟资源状态索引表渲染加载所述游戏场景的虚拟资源。
可选地,所述根据所述虚拟对象在游戏场景中的当前位置和所述虚拟资源状态索引表渲染加载所述游戏场景的虚拟资源,包括:
根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域;
根据所述虚拟资源状态索引表获取所述区域内的虚拟资源状态信息,
根据所述区域内的虚拟资源状态信息渲染加载所述游戏场景的所述区域内的虚拟资源。
可选地,所述根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源,还包括:
根据所述区域虚拟资源状态信息更新本地的所述虚拟资源状态索引表;
根据更新后的所述虚拟资源状态索引表渲染显示所述虚拟资源。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源标识和各个虚拟资源的虚拟资源状态信息。
可选地,所述游戏场景中包含由至少两个虚拟资源组成的合成模型,所述虚拟资源标识中的高位信息用于标识合成模型,所述标识中的低位信息用于标识组成所述合成模型的虚拟资源。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源形状信息,所述虚拟资源形状信息为以下其中之一:水平面、垂直面、向上斜面、向下斜面。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源分类信息,所述虚拟资源分类信息为以下其中之一:已有虚拟资源、新建虚拟资源。
可选地,所述游戏场景的空间被划分为多个相互拼接的几何体,所述虚拟资源建造于一个所述几何体的表面或所述几何体内截面之上,所述游戏场景中的所述区域由至少一个所述几何体组成,所述虚拟资源状态索引表还包括:各个虚拟资源对应的几何体索引信息,所述几何体索引信息用于标识几何体与所述虚拟资源的映射关系。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的区域索引信息,所述区域索引信息用于标识区域与所述虚拟资源的映射关系。
通过上述实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
在可选的实施方式中,所述电子设备其进一步可以包括一个或多个处理器,以及由存储器所代表的存储器资源,用于存储可由处理组件执行的指令,例如应用程序。存储器中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件被配置为执行指令,以执行上述的信息处理方法。
该电子设备还可以包括:一个电源组件,电源组件被配置成对执行电子设备进行电源管理;一个有线或无线网络接口,被配置成将电子设备连接到网络;以及一个输入输出(I/O)接口。该电子设备可以操作基于存储在存储器的操作系统,例如Android、iOS、Windows,Mac OS X,Unix,Linux,FreeBSD或类似。
图11为本公开实施例的其中一种存储介质的结构示意图。如图11所示,描述了根据本发明的实施方式的程序产品1100,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域;
接收待拆除虚拟资源的标识,根据所述待拆除虚拟资源的标识确定所述待拆除虚拟资源;
将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息;
将所述区域虚拟资源状态信息发送至虚拟对象对应的客户端,以使所述客户端根据所述区域虚拟资源状态信息控制对应的虚拟资源的渲染显示。
可选地,所述将所述待拆除虚拟资源从所述游戏场景的第一所述区域中删除之前,还包括:
检测到所述待拆除虚拟资源满足预设条件。
可选地,所述生成所述区域对应的区域虚拟资源状态信息之前,还包括:
确定与所述待拆除虚拟资源具有相邻关系的相邻虚拟资源;
获取所述相邻虚拟资源的邻接关系列表,并将所述待拆除虚拟资源从所述邻接关系列表中删除;
根据所述邻接关系列表判断所述相邻虚拟资源与地面是否相连通,如果所述相邻虚拟资源与地面不能相连通,则将所述相邻虚拟资源从所述游戏场景的所述区域中删除。
可选地,所述游戏场景被划分为多个区域,各个所述区域分别设置有一区域版本号,所述区域版本号用于标识所述区域内的虚拟资源的当前状态信息,所述根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域之后,还包括:
判断所述虚拟对象是否为首次进入所述区域;
如果是首次进入所述区域,则将所述区域的当前区域版本号保存为虚拟对象区域版本信息,并将所述区域的当前区域版本号对应的区域虚拟资源状态信息发送至所述虚拟对象对应的客户端;
如果不是首次进入所述区域,则获取所述虚拟对象对应的虚拟对象区域版本信息;
将所述虚拟对象区域版本信息与所述区域的当前区域版本号进行匹配;
如果所述虚拟对象区域版本信息与所述区域的当前区域版本号不同,则将所述区域的当前区域版本号对应的区域虚拟资源状态信息发送至所述虚拟对象对应的客户端。
可选地,所述将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息,还包括:
将所述待拆除虚拟资源从所述游戏场景的所述区域中删除;
将所述区域对应的区域版本号进行迭代后确定为所述区域的当前区域版本号;
更新区域虚拟资源状态信息。
可选地,所述方法还包括:
对所述游戏场景中的所述多个虚拟资源建立虚拟资源状态索引表,所述虚拟资源状态索引表至少包括:各个虚拟资源对应的虚拟资源标识和各个虚拟资源的虚拟资源状态信息;
将所述虚拟资源状态索引表同步至客户端。
可选地,所述游戏场景中包含由至少两个虚拟资源组成的合成模型,所述虚拟资源标识中的高位信息用于标识合成模型,所述标识中的低位信息用于标识组成所述合成模型的虚拟资源。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源形状信息,所述虚拟资源形状信息为以下其中之一:水平面、垂直面、向上斜面、向下斜面。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源分类信息,所述虚拟资源分类信息为以下其中之一:已有虚拟资源、新建虚拟资源。
可选地,所述游戏场景的空间被划分为多个相互拼接的几何体,所述虚拟资源建造于一个所述几何体的表面或所述几何体内截面之上,所述游戏场景中的所述区域由至少一个所述几何体组成,所述虚拟资源状态索引表还包括:各个虚拟资源对应的几何体索引信息,所述几何体索引信息用于标识几何体与所述虚拟资源的映射关系。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的区域索引信息,所述区域索引信息用于标识区域与所述虚拟资源的映射关系。
可选地,所述将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息,包括:
根据所述区域从虚拟资源状态索引表获取所述区域内的虚拟资源状态信息;
将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并更新所述区域内的虚拟资源状态信息,生成所述区域对应的区域虚拟资源状态信息。
通过上述实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读存储介质中包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、射频等等,或者上述的任意合适的组合。
图12为本公开实施例的其中一种存储介质的结构示意图。如图12所示,描述了根据本发明的实施方式的程序产品1200,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
响应于对所述游戏场景中的所述虚拟资源的拆除事件,根据所述拆除事件从所述游戏场景中的多个虚拟资源中确定一虚拟资源为待拆除虚拟资源;
将所述待拆除虚拟资源的标识发送至服务端;
接收所述服务端反馈的区域虚拟资源状态信息,所述区域虚拟资源状态信息为服务端根据虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域内的虚拟资源状态信息;
根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源。
可选地,所述根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源,还包括:
根据所述区域虚拟资源状态信息更新所述区域内的待拆除虚拟资源和所述待拆除虚拟资源的相邻虚拟资源的状态,并根据更新后的所述区域内的虚拟资源的状态渲染显示所述区域内的虚拟资源。
可选地,所述响应于对所述游戏场景中的所述虚拟资源的拆除事件之前,还包括:
获取所述虚拟对象在游戏场景中的当前位置,并从本地获取虚拟资源状态索引表;
根据所述虚拟对象在游戏场景中的当前位置和所述虚拟资源状态索引表渲染加载所述游戏场景的虚拟资源。
可选地,所述根据所述虚拟对象在游戏场景中的当前位置和所述虚拟资源状态索引表渲染加载所述游戏场景的虚拟资源,包括:
根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域;
根据所述虚拟资源状态索引表获取所述区域内的虚拟资源状态信息,
根据所述区域内的虚拟资源状态信息渲染加载所述游戏场景的所述区域内的虚拟资源。
可选地,所述根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源,还包括:
根据所述区域虚拟资源状态信息更新本地的所述虚拟资源状态索引表;
根据更新后的所述虚拟资源状态索引表渲染显示所述虚拟资源。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源标识和各个虚拟资源的虚拟资源状态信息。
可选地,所述游戏场景中包含由至少两个虚拟资源组成的合成模型,所述虚拟资源标识中的高位信息用于标识合成模型,所述标识中的低位信息用于标识组成所述合成模型的虚拟资源。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源形状信息,所述虚拟资源形状信息为以下其中之一:水平面、垂直面、向上斜面、向下斜面。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源分类信息,所述虚拟资源分类信息为以下其中之一:已有虚拟资源、新建虚拟资源。
可选地,所述游戏场景的空间被划分为多个相互拼接的几何体,所述虚拟资源建造于一个所述几何体的表面或所述几何体内截面之上,所述游戏场景中的所述区域由至少一个所述几何体组成,所述虚拟资源状态索引表还包括:各个虚拟资源对应的几何体索引信息,所述几何体索引信息用于标识几何体与所述虚拟资源的映射关系。
可选地,所述虚拟资源状态索引表还包括:各个虚拟资源对应的区域索引信息,所述区域索引信息用于标识区域与所述虚拟资源的映射关系。
通过上述实施方式,根据虚拟对象在游戏场景中的当前位置确定该虚拟对象所处的区域,根据该区域的范围在游戏场景中加载对应的虚拟资源,并且以区域为单位更新游戏场景中虚拟资源的状态,从而有效减少了资源消耗,并可以大大降低数据处理的压力。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读存储介质中包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、射频等等,或者上述的任意合适的组合。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、电子设备、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (30)
1.一种游戏场景中虚拟资源的处理方法,所述方法包括:
根据虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域;
接收待拆除虚拟资源的标识,根据所述待拆除虚拟资源的标识确定所述待拆除虚拟资源;
将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息;
将所述区域虚拟资源状态信息发送至虚拟对象对应的客户端,以使所述客户端根据所述区域虚拟资源状态信息控制对应的虚拟资源的渲染显示。
2.根据权利要求1所述的方法,所述将所述待拆除虚拟资源从所述游戏场景的第一所述区域中删除之前,还包括:
检测到所述待拆除虚拟资源满足预设条件。
3.根据权利要求1所述的方法,所述生成所述区域对应的区域虚拟资源状态信息之前,还包括:
确定与所述待拆除虚拟资源具有相邻关系的相邻虚拟资源;
获取所述相邻虚拟资源的邻接关系列表,并将所述待拆除虚拟资源从所述邻接关系列表中删除;
根据所述邻接关系列表判断所述相邻虚拟资源与地面是否相连通,如果所述相邻虚拟资源与地面不能相连通,则将所述相邻虚拟资源从所述游戏场景的所述区域中删除。
4.根据权利要求1所述的方法,所述游戏场景被划分为多个区域,各个所述区域分别设置有一区域版本号,所述区域版本号用于标识所述区域内的虚拟资源的当前状态信息,所述根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域之后,还包括:
判断所述虚拟对象是否为首次进入所述区域;
如果是首次进入所述区域,则将所述区域的当前区域版本号保存为虚拟对象区域版本信息,并将所述区域的当前区域版本号对应的区域虚拟资源状态信息发送至所述虚拟对象对应的客户端;
如果不是首次进入所述区域,则获取所述虚拟对象对应的虚拟对象区域版本信息;
将所述虚拟对象区域版本信息与所述区域的当前区域版本号进行匹配;
如果所述虚拟对象区域版本信息与所述区域的当前区域版本号不同,则将所述区域的当前区域版本号对应的区域虚拟资源状态信息发送至所述虚拟对象对应的客户端。
5.根据权利要求4所述的方法,所述将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息,还包括:
将所述待拆除虚拟资源从所述游戏场景的所述区域中删除;
将所述区域对应的区域版本号进行迭代后确定为所述区域的当前区域版本号;
更新区域虚拟资源状态信息。
6.根据权利要求1所述的方法,所述方法还包括:
对所述游戏场景中的所述多个虚拟资源建立虚拟资源状态索引表,所述虚拟资源状态索引表至少包括:各个虚拟资源对应的虚拟资源标识和各个虚拟资源的虚拟资源状态信息;
将所述虚拟资源状态索引表同步至客户端。
7.根据权利要求6所述的方法,所述游戏场景中包含由至少两个虚拟资源组成的合成模型,所述虚拟资源标识中的高位信息用于标识合成模型,所述标识中的低位信息用于标识组成所述合成模型的虚拟资源。
8.根据权利要求6所述的方法,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源形状信息,所述虚拟资源形状信息为以下其中之一:水平面、垂直面、向上斜面、向下斜面。
9.根据权利要求6所述的方法,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源分类信息,所述虚拟资源分类信息为以下其中之一:已有虚拟资源、新建虚拟资源。
10.根据权利要求6所述的方法,所述游戏场景的空间被划分为多个相互拼接的几何体,所述虚拟资源建造于一个所述几何体的表面或所述几何体内截面之上,所述游戏场景中的所述区域由至少一个所述几何体组成,所述虚拟资源状态索引表还包括:各个虚拟资源对应的几何体索引信息,所述几何体索引信息用于标识几何体与所述虚拟资源的映射关系。
11.根据权利要求6所述的方法,所述虚拟资源状态索引表还包括:各个虚拟资源对应的区域索引信息,所述区域索引信息用于标识区域与所述虚拟资源的映射关系。
12.根据权利要求11所述的方法,所述将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息,包括:
根据所述区域从虚拟资源状态索引表获取所述区域内的虚拟资源状态信息;
将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并更新所述区域内的虚拟资源状态信息,生成所述区域对应的区域虚拟资源状态信息。
13.一种游戏场景中虚拟资源的处理方法,所述方法包括:
响应于对所述游戏场景中的所述虚拟资源的拆除事件,根据所述拆除事件从所述游戏场景中的多个虚拟资源中确定一虚拟资源为待拆除虚拟资源;
将所述待拆除虚拟资源的标识发送至服务端;
接收所述服务端反馈的区域虚拟资源状态信息,所述区域虚拟资源状态信息为服务端根据虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域内的虚拟资源状态信息;
根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源。
14.根据权利要求13所述的方法,所述根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源,还包括:
根据所述区域虚拟资源状态信息更新所述区域内的待拆除虚拟资源和所述待拆除虚拟资源的相邻虚拟资源的状态,并根据更新后的所述区域内的虚拟资源的状态渲染显示所述区域内的虚拟资源。
15.根据权利要求13所述的方法,所述响应于对所述游戏场景中的所述虚拟资源的拆除事件之前,还包括:
获取所述虚拟对象在游戏场景中的当前位置,并从本地获取虚拟资源状态索引表;
根据所述虚拟对象在游戏场景中的当前位置和所述虚拟资源状态索引表渲染加载所述游戏场景的虚拟资源。
16.根据权利要求15所述的方法,所述根据所述虚拟对象在游戏场景中的当前位置和所述虚拟资源状态索引表渲染加载所述游戏场景的虚拟资源,包括:
根据所述虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域;
根据所述虚拟资源状态索引表获取所述区域内的虚拟资源状态信息;
根据所述区域内的虚拟资源状态信息渲染加载所述游戏场景的所述区域内的虚拟资源。
17.根据权利要求16所述的方法,所述根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源,还包括:
根据所述区域虚拟资源状态信息更新本地的所述虚拟资源状态索引表;
根据更新后的所述虚拟资源状态索引表渲染显示所述虚拟资源。
18.根据权利要求15所述的方法,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源标识和各个虚拟资源的虚拟资源状态信息。
19.根据权利要求18所述的方法,所述游戏场景中包含由至少两个虚拟资源组成的合成模型,所述虚拟资源标识中的高位信息用于标识合成模型,所述标识中的低位信息用于标识组成所述合成模型的虚拟资源。
20.根据权利要求15所述的方法,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源形状信息,所述虚拟资源形状信息为以下其中之一:水平面、垂直面、向上斜面、向下斜面。
21.根据权利要求15所述的方法,所述虚拟资源状态索引表还包括:各个虚拟资源对应的虚拟资源分类信息,所述虚拟资源分类信息为以下其中之一:已有虚拟资源、新建虚拟资源。
22.根据权利要求15所述的方法,所述游戏场景的空间被划分为多个相互拼接的几何体,所述虚拟资源建造于一个所述几何体的表面或所述几何体内截面之上,所述游戏场景中的所述区域由至少一个所述几何体组成,所述虚拟资源状态索引表还包括:各个虚拟资源对应的几何体索引信息,所述几何体索引信息用于标识几何体与所述虚拟资源的映射关系。
23.根据权利要求15所述的方法,所述虚拟资源状态索引表还包括:各个虚拟资源对应的区域索引信息,所述区域索引信息用于标识区域与所述虚拟资源的映射关系。
24.一种游戏场景中虚拟资源的处理装置,所述装置包括:
第一确定模块,用于根据虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域;
第二确定模块,用于接收待拆除虚拟资源的标识,根据所述待拆除虚拟资源的标识确定所述待拆除虚拟资源;
第一更新模块,用于将所述待拆除虚拟资源从所述游戏场景的所述区域中删除,并生成所述区域对应的区域虚拟资源状态信息;
第一发送模块,用于将所述区域虚拟资源状态信息发送至虚拟对象对应的客户端,以使所述客户端根据所述区域虚拟资源状态信息控制对应的虚拟资源的渲染显示。
25.一种游戏场景中虚拟资源的处理装置,所述装置包括:
第三确定模块,用于响应于对所述游戏场景中的所述虚拟资源的拆除事件,根据所述拆除事件从所述游戏场景中的多个虚拟资源中确定一虚拟资源为待拆除虚拟资源;
第二发送模块,用于将所述待拆除虚拟资源的标识发送至服务端;
第一接收模块,用于接收所述服务端反馈的区域虚拟资源状态信息,所述区域虚拟资源状态信息为服务端根据虚拟对象在游戏场景中的当前位置确定所述虚拟对象所处的区域内的虚拟资源状态信息;
第二更新模块,用于根据所述区域虚拟资源状态信息更新所述区域内的虚拟资源的状态,并根据更新后的所述虚拟资源的状态渲染显示所述虚拟资源。
26.一种游戏系统,所述系统包括:服务端、客户端;其中,
服务端包括:第一处理器;
第一存储器,用于存储所述第一处理器的第一可执行指令;
其中,所述第一处理器配置为经由执行所述第一可执行指令来执行权利要求1-12任一项所述的游戏场景中虚拟资源的处理方法;
客户端包括:第二处理器;
第二存储器,用于存储所述第二处理器的第二可执行指令;
其中,所述第二处理器配置为经由执行所述第二可执行指令来执行权利要求13-23任一项所述的游戏场景中虚拟资源的处理方法。
27.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-12任一项所述的游戏场景中虚拟资源的处理方法。
28.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求13-23任一项所述的游戏场景中虚拟资源的处理方法。
29.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-12任一项所述的游戏场景中虚拟资源的处理方法。
30.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求13-23任一项所述的游戏场景中虚拟资源的处理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810092813.6A CN108434739B (zh) | 2018-01-30 | 2018-01-30 | 游戏场景中虚拟资源的处理方法及装置 |
JP2020528376A JP7067848B2 (ja) | 2018-01-30 | 2018-12-20 | ゲームシーンにおける仮想リソースの処理方法及び装置 |
PCT/CN2018/122379 WO2019148992A1 (zh) | 2018-01-30 | 2018-12-20 | 游戏场景中虚拟资源的处理方法及装置 |
US16/756,844 US11224814B2 (en) | 2018-01-30 | 2018-12-20 | Processing method and apparatus for virtual resource in game scene |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810092813.6A CN108434739B (zh) | 2018-01-30 | 2018-01-30 | 游戏场景中虚拟资源的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108434739A CN108434739A (zh) | 2018-08-24 |
CN108434739B true CN108434739B (zh) | 2019-03-19 |
Family
ID=63191363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810092813.6A Active CN108434739B (zh) | 2018-01-30 | 2018-01-30 | 游戏场景中虚拟资源的处理方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11224814B2 (zh) |
JP (1) | JP7067848B2 (zh) |
CN (1) | CN108434739B (zh) |
WO (1) | WO2019148992A1 (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100308135B1 (ko) * | 1996-12-27 | 2001-12-28 | 기타지마 요시토시 | 곡면전사방법과그장치 |
CN108434739B (zh) * | 2018-01-30 | 2019-03-19 | 网易(杭州)网络有限公司 | 游戏场景中虚拟资源的处理方法及装置 |
CN109395391A (zh) * | 2018-09-07 | 2019-03-01 | 北京龙拳风暴科技有限公司 | 一种游戏信息的自动更新方法及装置 |
CN109364480A (zh) * | 2018-10-26 | 2019-02-22 | 杭州电魂网络科技股份有限公司 | 一种信息同步方法和装置 |
CN109542573B (zh) * | 2018-11-28 | 2021-12-07 | 北京龙创悦动网络科技有限公司 | 一种场景显示方法和装置 |
CN109876438B (zh) * | 2019-02-20 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 用户界面显示方法、装置、设备及存储介质 |
CN109918463A (zh) * | 2019-02-22 | 2019-06-21 | 广州多益网络股份有限公司 | 地图数据处理方法、装置、设备及存储介质 |
CN110075520B (zh) * | 2019-04-24 | 2020-05-01 | 苏州亿歌网络科技有限公司 | 在游戏地图中快捷搜索资源的方法、系统及装置 |
CN110478898B (zh) * | 2019-08-12 | 2024-03-15 | 网易(杭州)网络有限公司 | 游戏中虚拟场景的配置方法及装置、存储介质及电子设备 |
CN110478901B (zh) * | 2019-08-19 | 2023-09-22 | Oppo广东移动通信有限公司 | 基于增强现实设备的交互方法及系统 |
CN110639201A (zh) * | 2019-09-08 | 2020-01-03 | 北京智明星通科技股份有限公司 | 一种手机游戏的多媒体资源获取方法、装置和移动终端 |
KR102684612B1 (ko) * | 2019-09-27 | 2024-07-15 | 애플 인크. | 가상 객체들 제어 |
CN110704129A (zh) * | 2019-09-30 | 2020-01-17 | 北京金山安全软件有限公司 | 一种资源的实例化方法、装置、电子设备及存储介质 |
CN110772790B (zh) * | 2019-10-23 | 2023-02-10 | 福建天晴在线互动科技有限公司 | 一种游戏地图刷怪区域重置的方法及其系统 |
CN110935170B (zh) * | 2019-10-29 | 2023-09-15 | 广州西山居网络科技有限公司 | 一种游戏美术资源分布查阅方法及系统 |
CN110874812B (zh) * | 2019-11-15 | 2024-06-04 | 网易(杭州)网络有限公司 | 游戏中的场景图像绘制方法、装置及电子终端 |
CN111558221B (zh) * | 2020-05-13 | 2021-03-16 | 腾讯科技(上海)有限公司 | 虚拟场景的显示方法和装置、存储介质及电子设备 |
CN111524231B (zh) * | 2020-05-20 | 2024-01-26 | 网易(杭州)网络有限公司 | 一种虚拟地形的处理方法及装置、电子设备、存储介质 |
CN112206529B (zh) * | 2020-10-19 | 2023-01-24 | 珠海金山数字网络科技有限公司 | 数据处理方法及装置 |
CN112328292B (zh) * | 2020-10-21 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 虚拟资源的处理方法、装置、存储介质及电子设备 |
CN112256128A (zh) * | 2020-10-22 | 2021-01-22 | 武汉科领软件科技有限公司 | 一种互动效果开发平台 |
CN112817764B (zh) * | 2021-02-08 | 2024-07-09 | 网易(杭州)网络有限公司 | 虚拟资源处理的方法、装置、设备及存储介质 |
CN112843717B (zh) * | 2021-03-12 | 2024-02-13 | 网易(杭州)网络有限公司 | 一种资源分配方法、装置、存储介质及计算机设备 |
KR102428928B1 (ko) * | 2021-03-26 | 2022-08-04 | 주식회사 컴투스 | 게임 엔진을 위한 리소스 관리 방법 및 시스템 |
CN113398580B (zh) * | 2021-06-30 | 2024-01-09 | 上海完美时空软件有限公司 | 游戏场景的生成方法及装置、存储介质、电子装置 |
CN113398595B (zh) * | 2021-06-30 | 2023-10-13 | 上海完美时空软件有限公司 | 场景资源的更新方法及装置、存储介质、电子装置 |
CN113457125B (zh) * | 2021-07-02 | 2024-02-23 | 珠海金山数字网络科技有限公司 | 游戏场景管理方法及系统、计算设备、计算机可读存储介质 |
CN113599812B (zh) * | 2021-08-12 | 2023-10-20 | 上海米哈游璃月科技有限公司 | 一种动画角色显示方法、装置、设备和介质 |
CN113599811B (zh) * | 2021-08-12 | 2023-10-20 | 上海米哈游璃月科技有限公司 | 一种动画角色显示方法、装置、设备和介质 |
CN113599813B (zh) * | 2021-08-12 | 2023-10-20 | 上海米哈游璃月科技有限公司 | 一种动画角色显示方法、装置、设备和介质 |
CN113599814B (zh) * | 2021-08-12 | 2023-10-24 | 上海米哈游璃月科技有限公司 | 一种动画角色显示方法、装置、设备和介质 |
CN113692309A (zh) * | 2021-09-14 | 2021-11-23 | 商汤国际私人有限公司 | 配置更新方法及装置、设备、存储介质 |
WO2023041967A1 (en) * | 2021-09-14 | 2023-03-23 | Sensetime International Pte. Ltd. | Configuration updating method and apparatus, device and storage medium |
CN113797546B (zh) * | 2021-09-18 | 2024-02-23 | 珠海金山数字网络科技有限公司 | 资源处理方法、装置、计算设备及计算机可读存储介质 |
CN113900804A (zh) * | 2021-09-30 | 2022-01-07 | 完美世界(北京)软件科技发展有限公司 | 游戏资源配置数据的生成方法及游戏资源的构建方法 |
CN114494667B (zh) * | 2022-02-21 | 2022-11-04 | 北京华建云鼎科技股份公司 | 一种用于添加碰撞盒的数据处理系统和方法 |
JP7180021B1 (ja) * | 2022-03-16 | 2022-11-29 | カバー株式会社 | プログラム、仮想空間提供方法、及び仮想空間提供システム |
CN116650943A (zh) * | 2023-06-08 | 2023-08-29 | 广州三七极梦网络技术有限公司 | 一种游戏资源处理方法、装置、设备及介质 |
CN118470278B (zh) * | 2024-07-15 | 2024-09-10 | 联通沃音乐文化有限公司 | 一种用于拖拉拽编辑工具的虚拟场景控制方法及系统 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020196250A1 (en) * | 2001-06-20 | 2002-12-26 | Gateway, Inc. | Parts assembly for virtual representation and content creation |
CN1319008C (zh) * | 2004-06-18 | 2007-05-30 | 华为技术有限公司 | 游戏虚拟物品数据处理方法及游戏平台系统和游戏系统 |
KR100452089B1 (ko) | 2004-06-23 | 2004-10-13 | 엔에이치엔(주) | 게임 화면을 갱신하기 위한 오브젝트를 로딩하는 이미지리소스 로딩 시스템 및 이미지 리소스 로딩 방법 |
US7843471B2 (en) * | 2006-03-09 | 2010-11-30 | International Business Machines Corporation | Persistent authenticating mechanism to map real world object presence into virtual world object awareness |
US8214750B2 (en) * | 2007-10-31 | 2012-07-03 | International Business Machines Corporation | Collapsing areas of a region in a virtual universe to conserve computing resources |
US20090287707A1 (en) | 2008-05-15 | 2009-11-19 | International Business Machines Corporation | Method to Manage Inventory Using Degree of Separation Metrics |
JP5677050B2 (ja) | 2010-11-26 | 2015-02-25 | 株式会社カプコン | ゲームプログラム及びゲーム装置 |
US10315119B2 (en) * | 2011-05-17 | 2019-06-11 | Activision Publishing, Inc. | Video game with concurrent processing of game-related physical objects |
US9757649B2 (en) * | 2011-12-20 | 2017-09-12 | Wikipad, Inc. | Game controller with flexible bridge supporting touch screen |
CN103593546B (zh) | 2012-08-17 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 一种无动态阻挡网络游戏系统及其处理方法 |
CN103854218A (zh) * | 2012-12-06 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 线上应用虚拟资源移转方法、装置及系统 |
CN103854191A (zh) * | 2012-12-06 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 线上应用虚拟资源自动交易方法及装置 |
JP6099727B1 (ja) | 2015-11-27 | 2017-03-22 | 株式会社コーエーテクモゲームス | ゲームプログラム及び記録媒体 |
JP6329994B2 (ja) | 2016-06-17 | 2018-05-23 | 株式会社カプコン | ゲームプログラムおよびゲームシステム |
CN106445588B (zh) | 2016-09-08 | 2018-05-04 | 腾讯科技(深圳)有限公司 | 属性信息的更新方法及装置 |
WO2019126665A1 (en) * | 2017-12-22 | 2019-06-27 | Magic Leap, Inc. | Viewpoint dependent brick selection for fast volumetric reconstruction |
CN108434739B (zh) * | 2018-01-30 | 2019-03-19 | 网易(杭州)网络有限公司 | 游戏场景中虚拟资源的处理方法及装置 |
US10902684B2 (en) * | 2018-05-18 | 2021-01-26 | Microsoft Technology Licensing, Llc | Multiple users dynamically editing a scene in a three-dimensional immersive environment |
-
2018
- 2018-01-30 CN CN201810092813.6A patent/CN108434739B/zh active Active
- 2018-12-20 JP JP2020528376A patent/JP7067848B2/ja active Active
- 2018-12-20 WO PCT/CN2018/122379 patent/WO2019148992A1/zh active Application Filing
- 2018-12-20 US US16/756,844 patent/US11224814B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2021504017A (ja) | 2021-02-15 |
US11224814B2 (en) | 2022-01-18 |
US20200368623A1 (en) | 2020-11-26 |
JP7067848B2 (ja) | 2022-05-16 |
CN108434739A (zh) | 2018-08-24 |
WO2019148992A1 (zh) | 2019-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108434739B (zh) | 游戏场景中虚拟资源的处理方法及装置 | |
CN108434734B (zh) | 游戏场景中虚拟资源处理方法、装置、终端和存储介质 | |
CN110152297B (zh) | 虚拟资源的编辑方法及装置、存储介质、电子设备 | |
JP2020513948A (ja) | 情報処理方法及び装置、記憶媒体、電子機器 | |
CN110215712B (zh) | 虚拟资源的编辑方法及装置、存储介质、电子设备 | |
US10300382B1 (en) | Three dimensional terrain modeling | |
JP4733116B2 (ja) | ルールベースの手続的地形生成用資源管理 | |
CN101604358B (zh) | 一种资源更新方法、装置和系统 | |
WO2022206314A1 (zh) | 一种碰撞数据处理方法, 装置, 计算机设备及存储介质 | |
JP2008500637A (ja) | ルールベースの手続的地形生成 | |
JP7528221B2 (ja) | 仮想シーンの表示方法及び装置、コンピュータプログラム並びに電子機器 | |
CN112386911A (zh) | 导航网格生成方法、装置、非易失性存储介质及电子装置 | |
WO2022000952A1 (zh) | 游戏数据的处理方法及装置、计算机程序、可读介质 | |
CN103021020A (zh) | 一种基于多光源的3d渲染方法 | |
KR102245905B1 (ko) | 객체 이동 방법 및 장치, 저장 매체 및 전자 장치 | |
KR20080018404A (ko) | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 | |
CN112190948B (zh) | 一种游戏地图的生成方法、装置、电子设备及存储介质 | |
WO2022257692A1 (zh) | 虚拟场景变换方法、装置、设备、存储介质及程序产品 | |
CN111467808B (zh) | 一种游戏实体更新的方法和装置 | |
CN110738733B (zh) | 三维地形模型的生成方法、存储介质、处理器及电子装置 | |
EP4432237A1 (en) | Animation frame display method and apparatus, device, and storage medium | |
CN112750182A (zh) | 一种动效实现方法、装置和计算机可读存储介质 | |
CN113313796B (zh) | 场景生成方法、装置、计算机设备和存储介质 | |
CN115382208A (zh) | 三维指引地图生成方法、装置、存储介质和电子装置 | |
US11189068B2 (en) | Macro-based electronic map editing |
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 |