CN111744180A - 加载虚拟游戏的方法及装置、存储介质、电子装置 - Google Patents
加载虚拟游戏的方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN111744180A CN111744180A CN202010603335.8A CN202010603335A CN111744180A CN 111744180 A CN111744180 A CN 111744180A CN 202010603335 A CN202010603335 A CN 202010603335A CN 111744180 A CN111744180 A CN 111744180A
- Authority
- CN
- China
- Prior art keywords
- game
- scene
- virtual
- game client
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 230000003993 interaction Effects 0.000 claims abstract description 48
- 230000001360 synchronised effect Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 20
- 238000005304 joining Methods 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 16
- 238000005266 casting Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 abstract description 20
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 description 46
- 238000009877 rendering Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 24
- 238000010422 painting Methods 0.000 description 11
- 238000007664 blowing Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002844 melting Methods 0.000 description 1
- 230000008018 melting Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000035807 sensation 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/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- 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/843—Special adaptations for executing a specific game genre or game mode involving concurrently two or more players on the same game device, e.g. requiring the use of a plurality of controllers or of a specific view of game data for each player
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- 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
-
- 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
-
- 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/80—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 specially adapted for executing a specific type of game
- A63F2300/8082—Virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种加载虚拟游戏的方法及装置、存储介质、电子装置,其中,该方法包括:基于现实场景的场景信息投射游戏客户端上呈现的虚拟游戏关卡场景和虚拟角色,并在虚拟游戏关卡场景中的进行游戏数据交互,解决了相关技术中不能在现实场景中投射虚拟场景的技术问题,提供了一种将整个游戏场景投射到现实场景中的方案,为虚拟游戏关卡场景的多人互动游戏提供了更多的游戏策略和可玩性,通过投射其他游戏客户端控制的虚拟角色,实现了虚拟游戏关卡场景中的多人AR通关,减少了多人AR玩法的限制。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种加载虚拟游戏的方法及装置、存储介质、电子装置。
背景技术
相关技术中,AR全称Augmented Reality(增强现实),是一种在摄像机捕捉到的真实世界中加入计算机程序创造的虚拟世界的技术。ARKit是一种将虚拟世界通过视图投射到真实世界的工具。
相关技术中,使用IOS原生API进行场景管理(包括虚拟物品管理),虚拟物品使用的坐标系直接就是用ARKit的坐标系,并且内置一些处理,能将虚拟物品与真实物品(其实主要是真实平面)绑定起来,达到:看上去,虚拟物品直接显示在真实物品之上的感觉。在同步方面,WorldMap除了同步必要的坐标系信息(其实是参照物)之外,还直接将虚拟物品的信息直接放到WorldMap中,一起同步。使用Unity进行虚拟场景管理,通过ARKit获取真实摄像机的位置信息,并且将其直接应用到Unity的虚拟摄像机上。虚拟物品由Unity生成,使用的坐标系由ARKit的坐标系转化为Unity坐标系。虚拟物品与真实平面的绑定,需要自行去完成。同步时,WorldMap只同步坐标系信息,虚拟物品信息的同步由自定义的逻辑来完成。
相关技术中,大部分AR应用都是非常简单的在“真实”世界中添加少量虚拟物品,很少有直接将整个虚拟场景投射到“真实”世界,限制了AR玩法的可能性。双人AR应用,一般都要求两人在同一地点,对两人处于不同地点的处理不够完善(这并不是技术上的问题,更多的是玩法设计时考虑得不够完善)。AR应用很少将“真实”输入结合起来,比如“对手机吹气”,“晃动手机”,“手机视点定位”等等,缺乏真实性。由于ARKit自身的精度问题,当双人在同一地点共同进行游戏时,如果两者活动范围比较大,两者所看到的“虚拟”物品在“真实”世界中的位置会有明显的误差。由于ARKit依赖于设备的稳定,当手机大幅度晃动后,ARKit的定位会出现极大的误差,并且有可能无法再恢复正常,导致整个AR体验被破坏。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种加载虚拟游戏的方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种加载虚拟游戏的方法,包括:通过第一游戏客户端采集现实场景的场景信息;根据所述场景信息和对应的投射信息,将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中;将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端;将第一游戏客户端控制的第一虚拟角色加入所述虚拟游戏关卡场景;将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景;第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互。
可选的,所述方法还包括:将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端;将第二游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中,并通过游戏服务器同步第一游戏客户端控制的第一虚拟角色数据到第二游戏客户端。
可选的,在将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端之前,所述方法还包括:获取第一游戏客户端的第一位置信息和第二游戏客户端的第二位置信息;根据所述第一位置信息和所述第二位置信息判断所述第一游戏客户端和所述第二游戏客户端是否在同一位置;若所述第一游戏客户端和所述第二游戏客户端不在同一位置,确定将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端。
可选的,将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端包括以下至少之一:将第一游戏客户端上呈现的虚拟视线通过游戏服务器同步到第二游戏客户端;将第一游戏客户端上呈现的物品虚拟轨迹通过游戏服务器同步到第二游戏客户端。
可选的,在将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中之后,所述方法还包括:将所述第一游戏客户端的所述场景信息和对应的投射信息发送至游戏服务器,其中,所述游戏服务器用于建立和存储所述场景信息和所述投射信息与虚拟关卡房间的关联关系。
可选的,将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端包括:确定所述第二游戏客户端进入所述第一游戏客户端所在的虚拟关卡房间,并且所述第二游戏客户端和所述第一游戏客户端在同一物理位置;若所述第一游戏客户端已经同步所述场景信息和对应的投射信息,则所述游戏服务器将所述场景信息和对应的投射信息发送至所述第二游戏客户端;若所述第一游戏客户端未同步所述场景信息和对应的投射信息,所述游戏服务器在确定所述第一游戏客户端完成同步后再将所述场景信息和对应的投射信息发送至所述第二游戏客户端。
可选的,根据所述场景信息和对应的投射信息,将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中,包括:将所述虚拟游戏关卡场景的虚拟摄像机与所述第一游戏客户端的真实摄像机的投影矩阵保持一致,其中,所述场景信息包括所述真实摄像机,所述投射信息包括所述虚拟摄像机;确定所述现实场景在世界坐标系中的第一参考点,以及所述虚拟游戏关卡场景中与所述第一参考点对应的在屏幕坐标系中的第二参考点;根据所述第一参考点和所述第二参考点将所述屏幕坐标系转换为所述世界坐标系,并将转换后的所述虚拟游戏关卡场景投射至所述现实场景。
可选的,根据所述第一参考点和所述第二参考点将所述屏幕坐标系转换为所述世界坐标系包括:计算所述屏幕坐标系与世界坐标系的元素比例K;根据以下公式将所述屏幕坐标系转换为所述世界坐标系:P3=P1+(P2–P0)*K;其中,P3所述虚拟摄像机的坐标位置,P1为所述第二参考点的坐标位置,P2为所述真实摄像机的坐标位置,P0为所述第一参考点的坐标位置。
可选的,第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互包括:通过所述第一游戏客户端或所述第二游戏客户端采集所述虚拟游戏关卡场景的交互信息;基于所述交互信息生成所述虚拟游戏关卡场景的控制指令;根据所述控制指令控制所述虚拟游戏关卡场景。
可选的,在所述交互信息为视点射线时,基于所述交互信息生成所述虚拟游戏关卡场景的控制指令包括:定位所述视点射线到所述虚拟游戏关卡场景的交点位置;将所述交点位置确定为所述第一虚拟角色运动的目标位置;根据所述目标位置生成移动指令,其中,所述移动指令用于指示所述第一虚拟角色移动到所述目标位置。
可选的,在所述交互信息为麦克风吹入的环境音量时,基于所述交互信息生成所述虚拟游戏关卡场景的控制指令包括:根据所述环境音量触发环境风场,其中,所述环境风场的大小与环境音量的大小对应;根据所述环境风场生成风动画参数,并生成第一渲染指令,其中,所述第一渲染指令用于指示在所述虚拟游戏关卡场景中使用所述风动画参数渲染风动画特效。
可选的,在所述交互信息为所述第一游戏客户端或所述第二游戏客户端的方位信息时,基于所述交互信息生成所述虚拟游戏关卡场景的控制指令包括:根据所述方位信息确定所述第一游戏客户端或所述第二游戏客户端的移动轨迹;在预设特效库中查找与所述移动轨迹匹配的角色特效,并生成第二渲染指令,其中,所述第二渲染指令用于指示在所述虚拟游戏关卡场景中渲染角色特效。
可选的,第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互包括:在所述第一游戏客户端或所述第二游戏客户端的显示屏幕上截取或录取所述虚拟游戏关卡场景的显示画面;分享或保存所述显示画面。
可选的,在将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景之后,所述方法还包括:获取所述虚拟游戏关卡场景中虚拟元素的标识信息,以及所述虚拟元素在所述现实场景中的位置信息;将所述标识信息和所述位置信息关联后,存储在游戏服务器;在所述第一游戏客户端再次进入所述虚拟游戏关卡场景时,根据所述标识信息和所述位置信息在所述现实场景中生成所述虚拟元素。
可选的,在将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景之后,所述方法还包括:存储所述虚拟游戏关卡场景在第一时间的世界地图数据,或者,从所述第二游戏客户端获取所述虚拟游戏关卡场景在第一时间的世界地图数据,其中,所述世界地图数据用于生成所述虚拟游戏关卡场景的AR视图;根据所述世界地图数据重建或者修正所述虚拟游戏关卡场景在第二时间的AR视图。
根据本发明的另一个实施例,提供了一种加载虚拟游戏的装置,包括:采集模块,用于通过第一游戏客户端采集现实场景的场景信息;投射模块,用于根据所述场景信息和对应的投射信息,将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中;同步模块,用于将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端;加入模块,用于将第一游戏客户端控制的第一虚拟角色加入所述虚拟游戏关卡场景,将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景;控制模块,用于控制第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互。
可选的,所述装置还包括:第二同步模块,用于将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端;处理模块,用于将第二游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中,并通过游戏服务器同步第一游戏客户端控制的第一虚拟角色数据到第二游戏客户端。
可选的,所述装置还包括:第一获取模块,用于在所述第二同步模块将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端之前,获取第一游戏客户端的第一位置信息和第二游戏客户端的第二位置信息;判断模块,用于根据所述第一位置信息和所述第二位置信息判断所述第一游戏客户端和所述第二游戏客户端是否在同一位置;确定模块,用于若所述第一游戏客户端和所述第二游戏客户端不在同一位置,确定将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端。
可选的,所述第二同步模块包括以下至少之一:第一同步单元,用于将第一游戏客户端上呈现的虚拟视线通过游戏服务器同步到第二游戏客户端;第二同步单元,用于将第一游戏客户端上呈现的物品虚拟轨迹通过游戏服务器同步到第二游戏客户端。
可选的,所述装置还包括:发送模块,用于在所述投射模块将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中之后,将所述第一游戏客户端的所述场景信息和对应的投射信息发送至游戏服务器,其中,所述游戏服务器用于建立和存储所述场景信息和所述投射信息与虚拟关卡房间的关联关系。
可选的,所述第一同步模块包括:第一确定单元,用于确定所述第二游戏客户端进入所述第一游戏客户端所在的虚拟关卡房间,并且所述第二游戏客户端和所述第一游戏客户端在同一物理位置;发送单元,用于若所述第一游戏客户端已经同步所述场景信息和对应的投射信息,则所述游戏服务器将所述场景信息和对应的投射信息发送至所述第二游戏客户端;若所述第一游戏客户端未同步所述场景信息和对应的投射信息,所述游戏服务器在确定所述第一游戏客户端完成同步后再将所述场景信息和对应的投射信息发送至所述第二游戏客户端。
可选的,所述第一同步模块包括:保持单元,用于将所述虚拟游戏关卡场景的虚拟摄像机与所述第一游戏客户端的真实摄像机的投影矩阵保持一致,其中,所述场景信息包括所述真实摄像机,所述投射信息包括所述虚拟摄像机;第二确定单元,用于确定所述现实场景在世界坐标系中的第一参考点,以及所述虚拟游戏关卡场景中与所述第一参考点对应的在屏幕坐标系中的第二参考点;转换单元,用于根据所述第一参考点和所述第二参考点将所述屏幕坐标系转换为所述世界坐标系,并将转换后的所述虚拟游戏关卡场景投射至所述现实场景。
可选的,所述转换单元包括:计算子单元,用于计算所述屏幕坐标系与世界坐标系的元素比例K;转换子单元,用于根据以下公式将所述屏幕坐标系转换为所述世界坐标系:P3=P1+(P2–P0)*K;其中,P3所述虚拟摄像机的坐标位置,P1为所述第二参考点的坐标位置,P2为所述真实摄像机的坐标位置,P0为所述第一参考点的坐标位置。
可选的,所述控制模块包括:采集单元,用于通过所述第一游戏客户端或所述第二游戏客户端采集所述虚拟游戏关卡场景的交互信息;生成单元,用于基于所述交互信息生成所述虚拟游戏关卡场景的控制指令;控制单元,用于根据所述控制指令控制所述虚拟游戏关卡场景。
可选的,在所述交互信息为视点射线时,所述生成单元包括:定位子单元,用于定位所述视点射线到所述虚拟游戏关卡场景的交点位置;第一确定子单元,用于将所述交点位置确定为所述第一虚拟角色运动的目标位置;第一生成子单元,用于根据所述目标位置生成移动指令,其中,所述移动指令用于指示所述第一虚拟角色移动到所述目标位置。
可选的,在所述交互信息为麦克风吹入的环境音量时,所述生成单元包括:触发子单元,用于根据所述环境音量触发环境风场,其中,所述环境风场的大小与环境音量的大小对应;第二生成子单元,用于根据所述环境风场生成风动画参数,并生成第一渲染指令,其中,所述第一渲染指令用于指示在所述虚拟游戏关卡场景中使用所述风动画参数渲染风动画特效。
可选的,在所述交互信息为所述第一游戏客户端或所述第二游戏客户端的方位信息时,所述生成单元包括:第二确定子单元,用于根据所述方位信息确定所述第一游戏客户端或所述第二游戏客户端的移动轨迹;第三生成子单元,用于在预设特效库中查找与所述移动轨迹匹配的角色特效,并生成第二渲染指令,其中,所述第二渲染指令用于指示在所述虚拟游戏关卡场景中渲染角色特效。
可选的,所述控制模块包括:获取单元,用于在所述第一游戏客户端或所述第二游戏客户端的显示屏幕上截取或录取所述虚拟游戏关卡场景的显示画面;分享单元,用于分享或保存所述显示画面。
可选的,所述装置还包括:第二获取模块,用于在所述加入模块将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景之后,获取所述虚拟游戏关卡场景中虚拟元素的标识信息,以及所述虚拟元素在所述现实场景中的位置信息;第一存储模块,用于将所述标识信息和所述位置信息关联后,存储在游戏服务器;生成模块,用于在所述第一游戏客户端再次进入所述虚拟游戏关卡场景时,根据所述标识信息和所述位置信息在所述现实场景中生成所述虚拟元素。
可选的,所述装置还包括:第二存储模块,用于在所述加入模块将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景之后,存储所述虚拟游戏关卡场景在第一时间的世界地图数据,或者,从所述第二游戏客户端获取所述虚拟游戏关卡场景在第一时间的世界地图数据,其中,所述世界地图数据用于生成所述虚拟游戏关卡场景的AR视图;构建模块,用于根据所述世界地图数据重建或者修正所述虚拟游戏关卡场景在第二时间的AR视图。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,基于现实场景的场景信息投射游戏客户端上呈现的虚拟游戏关卡场景和虚拟角色,并在虚拟游戏关卡场景中的进行游戏数据交互,解决了相关技术中不能在现实场景中投射虚拟场景的技术问题,提供了一种将整个游戏场景投射到现实场景中的方案,为虚拟游戏关卡场景的多人互动游戏提供了更多的游戏策略和可玩性,通过投射其他游戏客户端控制的虚拟角色,实现了虚拟游戏关卡场景中的多人AR通关,减少了多人AR玩法的限制。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种加载虚拟游戏的手机的硬件结构框图;
图2是根据本发明实施例的一种加载虚拟游戏的方法的流程图;
图3是本发明实施例双人共享虚拟游戏的效果图;
图4是本发明实施例场景投射的效果图;
图5是本发明实施例在桌面上投射关卡实景的效果图;
图6是本发明实施例的坐标系转换的示意图;
图7是本发明实施例通过视点射线控制角色移动的效果图;
图8是本发明实施例通过吹气溶解冰雪特效的效果图;
图9是本发明实施例通过吹气释放角色技能的效果图;
图10是本发明实施例通过重力感应释放角色技能的效果图;
图11是本发明实施例通过截屏保存游戏画面的示意图;
图12是本发明实施例在现实场景中关联虚拟元素的效果图;
图13是根据本发明实施例的一种加载虚拟游戏的装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在手机、平板、计算机或者类似的电子终端中执行。以运行在手机上为例,图1是本发明实施例的一种加载虚拟游戏的手机的硬件结构框图。如图1所示,手机10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述手机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述手机的结构造成限定。例如,手机10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储手机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种加载虚拟游戏的方法对应的手机程序,处理器102通过运行存储在存储器104内的手机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至手机10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。在本实施例中,处理器104用于响应人机交互指令和游戏策略,控制目标虚拟角色执行指定操作以完成游戏任务。存储器104用于存储电子游戏的程序脚本,配置信息,虚拟角色的属性信息等。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括手机10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
可选的,输入输出设备108还包括人机交互屏幕用于通过人机交互接口获取人机交互指令,还用于呈现游戏任务中的游戏画面;
在本实施例中提供了一种加载虚拟游戏的方法,图2是根据本发明实施例的一种加载虚拟游戏的方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,通过第一游戏客户端采集现实场景的场景信息;
本实施例的现实场景是第一游戏客户端所在物理空间的真实场景,是实际存在的三维世界,如地板,墙面,马路等。
步骤S204,根据场景信息和对应的投射信息,将第一游戏客户端上呈现的虚拟游戏关卡场景投射至现实场景中;
用户在游戏客户端玩虚拟游戏时,会在游戏客户端的屏幕上显示虚拟游戏关卡场景,包括地图,角色,道具,天气等虚拟信息,通过3D渲染,呈现三维的视图画面,通过将虚拟游戏关卡场景以一定的比例与现实场景融合,可以实现虚实结合的混合场景,即AR场景,并根据投射信息将虚拟游戏关卡场景投射到现实场景中,用户可以在现实场景中看到虚拟游戏关卡场景的视图。
步骤S206,将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端;
通过数据同步,可以将第二游戏客户端上呈现的虚拟游戏关卡场景投射至现实场景中。
步骤S208,将第一游戏客户端控制的第一虚拟角色加入虚拟游戏关卡场景,将第二游戏客户端控制的第二虚拟角色加入虚拟游戏关卡场景;
步骤S210,第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在虚拟游戏关卡场景中的进行游戏数据交互。
虚拟游戏关卡场景的游戏剧情需要双人或者多人通关,通过将游戏客户端主控的虚拟角色加入虚拟游戏关卡场景,并进行游戏数据同步,可以实现AR场景的多人交互。图3是本发明实施例双人共享虚拟游戏的效果图,虚拟游戏关卡场景中包括第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色,第一游戏客户端和第二游戏客户端分别由第一用户和第二用户控制。
通过上述步骤,基于现实场景的场景信息投射游戏客户端上呈现的虚拟游戏关卡场景和虚拟角色,并在虚拟游戏关卡场景中的进行游戏数据交互,解决了相关技术中不能在现实场景中投射虚拟场景的技术问题,提供了一种将整个游戏场景投射到现实场景中的方案,为虚拟游戏关卡场景的多人互动游戏提供了更多的游戏策略和可玩性,通过投射其他游戏客户端控制的虚拟角色,实现了虚拟游戏关卡场景中的多人AR通关,减少了多人AR玩法的限制。
在本实施例中,使用游戏客户端(如手机等移动终端)在现实空间中搭建虚拟场景的坐标,然后进行场景投射,在一些示例中,通过ARKit工具搭建现实世界的坐标系,通过Unity工具(一种虚拟游戏的开发引擎)制作和渲染虚拟游戏关卡场景,也叫Unity场景,虚拟游戏关卡场景位于Unity坐标系中,要实现世界的坐标系到的Unity坐标系转换,将整个Unity场景“投射”到“真实”世界,通过设置游戏虚拟摄像机与真实设备摄像机之间的位置与旋转之前的映射关系来实现。由于场景是允许玩家“投射”到任意的真实位置,要让场景“看上去”一直“固定”在真实世界中某个位置,需要让虚拟场景某个点(一般是场景的中心点)和真实世界中的某个点“对齐”(也就是说,虚拟场景中的某个点和真实世界中的某个点,显示在屏幕上的时候,正好会重合)。
在本实施例的一个实施方式中,方案还包括:将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端;将第二游戏客户端上呈现的虚拟游戏关卡场景投射至现实场景中,并通过游戏服务器同步第一游戏客户端控制的第一虚拟角色数据到第二游戏客户端。
可选的,在将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端之前,还可以进行GPS位置信息为同一个位置的判断,如果不是,就执行上述步骤,包括:获取第一游戏客户端的第一位置信息和第二游戏客户端的第二位置信息;根据第一位置信息和第二位置信息判断第一游戏客户端和第二游戏客户端是否在同一位置;若第一游戏客户端和第二游戏客户端不在同一位置,确定将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端。在将第一游戏客户端上呈现的虚拟游戏关卡场景投射至现实场景中之后,还包括:将第一游戏客户端的场景信息和对应的投射信息发送至游戏服务器,其中,游戏服务器用于建立和存储场景信息和投射信息与虚拟关卡房间的关联关系。
在本实施例中,根据场景信息将第一游戏客户端上呈现的虚拟游戏关卡场景投射至现实场景,得到AR场景,包括:
S11,将虚拟游戏关卡场景的虚拟摄像机与第一游戏客户端的真实摄像机的投影矩阵保持一致,其中,场景信息包括真实摄像机,投射信息包括虚拟摄像机;
首先,得让虚拟摄像机的投影矩阵与真实摄像机的投影矩阵保持一致,要不然,就不能通过比较简单的摄像机坐标转化,达到目的。
S12,确定现实场景在世界坐标系中的第一参考点,以及虚拟游戏关卡场景中与第一参考点对应的在屏幕坐标系中的第二参考点;
S13,根据第一参考点和第二参考点将屏幕坐标系转换为世界坐标系,并将转换后的虚拟游戏关卡场景投射至现实场景。
在本实施例的一个实施方式中,根据第一参考点和第二参考点将屏幕坐标系转换为世界坐标系包括:计算屏幕坐标系与世界坐标系的元素比例K;根据以下公式将屏幕坐标系转换为世界坐标系:P3=P1+(P2–P0)*K;其中,P3虚拟摄像机的坐标位置,P1为第二参考点的坐标位置,P2为真实摄像机的坐标位置,P0为第一参考点的坐标位置。通过坐标系的转换,可以实现在不同坐标系中的虚实场景转换。
假设场景中心点的位置是P1(Unity坐标系),真实世界对应的位置是P0(ARKit坐标系),虚拟场景中物品与真实世界物品的比例是K,那么,虚拟摄像机位置P3(Unity坐标系)与真实摄像机(包括景深传感器)位置P2(ARKit坐标系,即世界坐标系)的关系是:P3=P1+(P2–P0)*K(摄像机的旋转与这个计算类似)。通过维护这个虚拟摄像机与真实摄像机之间的关系,就能达到“投射场景”的效果,图4是本发明实施例场景投射的效果图,包括现实场景和虚拟游戏关卡场景。以现实场景为平整的桌面为例,图5是本发明实施例在桌面上投射关卡实景的效果图,左边为渲染的第一阶段,右边为渲染的第二阶段,投射了完整的虚拟游戏关卡场景。
图6是本发明实施例的坐标系转换的示意图,在三维空间中,物体以元素模型的形式存在,每个模型都有自己的坐标系,就如二维环境下每个图形的bounds,为模型坐标系,而多个物体在同一个环境中,就像游戏场景中的多个元素都在同一个虚拟场景中,每个模型都有相应的坐标位置,对应二维环境下的每个图形的frame,为世界坐标系或环境坐标系,由于现实世界的物体都在三维环境中,需要将其转换成二维图片,才能绘制在屏幕上,需要从某个角度去观察模型,看到一个二维的画面,通过设置一个虚拟摄像机,相机从移动位置和角度观察模型,拍摄到一个二维画面,为观察坐标系,最后将当前环境放入一个归一化设备坐标系中,坐标范围根据***设置,归一化设备坐标系是一个立方体,把场景中的模型映射到这个立方体,由于坐标范围固定,所以与任何输出设备的坐标范围没有关系,为归一化设备坐标系,映射到立方体,再进行裁剪,以裁剪不在视野范围内的模型,裁剪完成之后,最后映射成屏幕坐标系,图形经扫描转换到缓冲区,然后GPU从缓冲区获取到数据进行显示,最后投射到现实场景。
WorldMap(世界地图)用于将游戏客户端扫描到的空间信息数据,如平面、特征点、锚点等信息保存,以便应用在中断以后可以恢复、并继续运行,也可以传给其他游戏客户端,让对方在同一环境下也可以看到同样的AR视图,从而实现共享效果。在开启AR会话(session)一段时间后,如果ARKit已经识别到了足够多的场景特征,就可以将本次AR会话识别到的场景特征以WorldMap的形式存储起来。其它的AR会话(可以是同设备之后开启的另一次AR会话,也可以是其它设备的AR会话)可以尝试解析这个WorldMap。如果解析成功(也就是说,新的AR会话所“看到”的场景与WorldMap对应的场景能够对应起来),那么新的AR会话就可以与WorldMap对应的AR会话保持坐标系一致,为之后的多人共享场景和虚拟物品永久存储提供基础。
在本实施例中,第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在虚拟游戏关卡场景中的进行游戏数据交互包括:通过第一游戏客户端或第二游戏客户端采集虚拟游戏关卡场景的交互信息;基于交互信息生成虚拟游戏关卡场景的控制指令;根据控制指令控制虚拟游戏关卡场景。
可选的,第一游戏客户端的第一虚拟角色和第二游戏客户端的第二虚拟角色可以是玩家控制角色(Player-Controlled Character,PCC)或者是非玩家角色(Non-PlayerCharacter,NPC)。在控制第一虚拟角色时,可以通过控制指令控制控制虚拟角色的属性发生变化,例如,改变角色的移动状态,释放技能特效,改变角色的攻防状态,调整视野范围、切换视角等。
在一个交互场景中,在交互信息为视点射线时,基于交互信息生成虚拟游戏关卡场景的控制指令包括:定位视点射线到虚拟游戏关卡场景的交点位置;将交点位置确定为第一虚拟角色运动的目标位置;根据目标位置生成移动指令,其中,移动指令用于指示第一虚拟角色移动到目标位置。
在本交互场景中,可以通过视点射线移动来控制虚拟游戏中角色的移动:当玩家按住屏幕的时候,会开启视点射线移动。射线是从游戏虚拟摄像机触发,射向屏幕上的游戏虚拟场景,线与场景相交的位置,就是玩家所控制角色的目标位置。当射线与场景有交点时,客户端会将射线的起点与终点通过服务器广播给其它所有客户端,然后其它客户端也能看到这样一条虚拟的“视线”了。如果两个玩家在同一地点进行游戏,由于虚拟世界的坐标与实际世界坐标(ARKit坐标)已经做了转换,所以其它玩家的视线,看上去就是从对应玩家的手机上射出来的。如果两个玩家处于不同地点。那么仍然可以看到某个位置有射线射出,就像有一个“隐性玩家”在那里一样。图7是本发明实施例通过视点射线控制角色移动的效果图,视点射线移动,虚拟游戏中的主控角色也对应移动。
在一个交互场景中,在交互信息为麦克风吹入的环境音量时,基于交互信息生成虚拟游戏关卡场景的控制指令包括:根据环境音量触发环境风场,其中,环境风场的大小与环境音量的大小对应;根据环境风场生成风动画参数,并生成第一渲染指令,其中,第一渲染指令用于指示在虚拟游戏关卡场景中使用风动画参数渲染风动画特效。
本交互场景可以实现角色吹气互动,通过对一段时间内,麦克风接收到的音量的分析,可以确定玩家是否在对手机吹气(吹气时,音量的平复振幅较大)。当接收到玩家的吹气时,此时玩家“看到”的角色(实际上是玩家手机所拍摄到的角色或控制的角色),如果距离比较近,就会触发播放被吹到的动画,看上去就好像被玩家吹倒了一样,还可以触发风场,控制角色装饰物或者场景中的布景飘动。图8是本发明实施例通过吹气溶解冰雪特效的效果图,通过往麦克风吹气,可以控制虚拟场景中的冰雪消融。图9是本发明实施例通过吹气释放角色技能的效果图,通过往麦克风吹气,可以触发虚拟角色的特定技能。
在一个交互场景中,在交互信息为第一游戏客户端的方位信息时,基于交互信息生成虚拟游戏关卡场景的控制指令包括:根据方位信息确定第一游戏客户端或第二游戏客户端的移动轨迹;在预设特效库中查找与移动轨迹匹配的角色特效,并生成第二渲染指令,其中,第二渲染指令用于指示在虚拟游戏关卡场景中渲染角色特效。
本交互场景可以实现晃动手机来触发轻功等特效,通过对一段时间内,手机的重力加速度的分析,通过估算,玩家是否正在向上晃动手机。当玩家向上晃动手机时,让玩家控制的角色播放轻功动作,看上去就像是玩家把角色“晃起来”一样。除此之外,也可以通过放倒手机触发角色的爬行特效,翻越手机触发角色的翻滚特效等。图10是本发明实施例通过重力感应释放角色技能的效果图,通过晃动游戏设备,可以触发虚拟角色的轻功技能,实现飞檐走壁的特效。
本实施例的触发硬件除了摄像头,定位模块,麦克风之外,还可以是触控屏,音量键,开关键,静音键,导航键等,对于各个按键,可以预先设置按键与对应指令的对应关系,对于传感器,除了直接采集传感器状态之外,还可以对一定周期的传感器状态进行分析处理,进而得到连续的姿态、手势等数据,将真实输入的交互信息结合到AR游戏策略中,让“增强现实”显得更加真实。
在一些实例中,还可以对当前的AR场景进行拍照分享,第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在虚拟游戏关卡场景中的进行游戏数据交互包括:在第一游戏客户端或第二游戏客户端的显示屏幕上截取或录取虚拟游戏关卡场景的显示画面;分享或保存显示画面。
由于虚拟物品和实际场景都是通过手机显示出来的,所以拍照分享功能,实际上就是简单的截屏功能。截屏之后就得到了可分享的图片,该图片可以保存到本地,并且允许通过多种方式进行分享。图11是本发明实施例通过截屏保存游戏画面的示意图。
可选的,在将第二游戏客户端控制的第二虚拟角色加入虚拟游戏关卡场景之后,还包括:获取虚拟游戏关卡场景中虚拟元素的标识信息,以及虚拟元素在现实场景中的位置信息;将标识信息和位置信息关联后,存储在游戏服务器;在第一游戏客户端再次进入虚拟游戏关卡场景时,根据标识信息和位置信息在现实场景中生成虚拟元素。
在虚拟游戏关卡场景的一些游戏策略中,允许玩家在虚拟场景上放置虚拟物品,由于虚拟场景与现实的物理位置是关联的,所以虚拟物品看上去就像直接放在真实位置一样。玩家放置的物品会通过服务器同步给其它客户端,所以每个玩家都能看到其他玩家放置的物品,如果两个玩家处于同一地点,由于两者场景已经同步,它们看到的物品将处于实际世界中的同一位置。
另外,服务器会记录下玩家在某个房间放置的所有物品(记录下物品ID,物品位置),并且将它和WorldMap数据一同存储起来。
当玩家下一次在同一位置或者相邻位置再次进入虚拟游戏的AR模式,可以选择使用上一次存储的场景数据,这样的话,服务器会将WorldMap和之前存放的所有物品数据同步给客户端。如果客户端通过ARKit成功解析WorldMap并且重新建立坐标系,那么客户端之后会利用收到的场景虚拟物品信息,重新在对应位置上生成所有的虚拟物品。看上去,就像是上次放置到真实世界中的虚拟物品,仍然存在原地一样。图12是本发明实施例在现实场景中关联虚拟元素的效果图。
当新玩家加入房主的房间的时候,如果处于同一地点,新玩家能看到房主之前放在房间中的物品,也是通过一样的机制来完成的。
在本实施例的一个实施方式中,通过存储的历史世界地图数据来进行视图还原和修复。在将第二游戏客户端控制的第二虚拟角色加入虚拟游戏关卡场景之后,方法还包括:存储虚拟游戏关卡场景在第一时间的世界地图数据,或者,从第二游戏客户端获取虚拟游戏关卡场景在第一时间的世界地图数据,其中,世界地图数据用于生成虚拟游戏关卡场景的AR视图;根据世界地图数据重建或者修正虚拟游戏关卡场景在第二时间的AR视图。
由于各种原因,ARKit会话偶尔会出现坐标追踪功能出现异常,为了让玩家在这种情况下,仍然有机会复原AR会话(AR会话是连接底层数据与AR视图之间的桥梁),利用ARKit可以解析WorldMap并且重建坐标系的机制。允许玩家重新下载WorldMap相关数据并进行场景重建,重建过程与多人游戏中,加入房间的玩家一样。
在本实施例中,WorldMap数据来源有两种:第一游戏客户端之前上传的数据;第二游戏客户端同步过来的数据。为此,允许玩家任何时候提取WorldMap数据并上传,也允许玩家下载房间中其它玩家的WorldMap数据并进行重建。
使用本实施例的矫正机制,游戏的AR玩家容错率更高,能够自我修复和校正,避免因为AR会话异常导致玩家无法进行的情况。通过增加重新校正的机制,可以减少因为ARSession被破坏导致AR体验无法正常进行的机会,是对ARKit自身问题的一种有效的补偿方案。
可选的,根据第二游戏客户端的位置信息确定现实场景包括:获取第二游戏客户端的位置信息;根据位置信息判断第二游戏客户端和第一游戏客户端是否在同一物理位置;若第二游戏客户端和第一游戏客户端在同一物理位置,根据第一游戏客户端的场景信息确定现实场景;若第二游戏客户端和第一游戏客户端不在同一物理位置,通过第二游戏客户端采集的当前位置的场景信息确定现实场景。
根据上述实施方式,将虚拟游戏关卡场景投射至现实场景,包括以下示例:
示例一:若第二游戏客户端和第一游戏客户端在同一现实场景,从游戏服务器获取第一游戏客户端的世界地图信息和场景投射信息,根据世界地图信息和场景投射信息将虚拟游戏关卡场景投射至现实场景;
示例二:若第二游戏客户端和第一游戏客户端不在同一现实场景,根据第二游戏客户端采集的场景信息构建世界地图,根据世界地图将虚拟游戏关卡场景投射至现实场景。
在第一戏客户端登入虚拟游戏关卡场景后,然后玩家邀请其他玩家加入,面对面邀请和远程邀请,或者第二游戏客户端主动加入,游戏服务器自动匹配,从而实现在同一游戏中多人共享关卡。
在此对多人共享关卡的游戏交互流程进行说明:当玩家B(对应第二游戏客户端)想要和玩家A(对应第一游戏客户端)在同一个地点看到同一个场景时,除了通过WorldMap同步ARKit的坐标系之外,还需要通过游戏服务器,将玩家A的投射点(上述实施例中的P0)也进行同步,场景的同步点(P1)和K对所有客户端是一致的。当有这些信息之后,玩家B也使用同样的规则来处理虚拟摄像机和真实摄像机位置的关系,两者就能在同一个真实地点,看到同一个虚拟场景了。
在游戏策略上,可以采取“房间”,邀请,自动匹配等形式,每个玩家可以自己创建房间,然后自己进行场景的投射。其它玩家可以被邀请进入房间,或者主动进入好友的房间。进入其他玩家的房间后,玩家自己选择,两人是否处于同一地点。
如果两者处于同一地点,那么就会把房主的WorldMap信息,场景投射信息通过服务器,发放给新的玩家,然后两者就能在同一现实地点,看到同样的虚拟场景。
如果两个玩家处于不同地点,那么,就允许新玩家自行进行场景投射。这样的话,虽然不能达到“在同一物理位置,看到同样的虚拟物品”效果,但是游戏场景中的所有虚拟物品,仍然是可以正常同步的。玩家仍然可以看到其他玩家,和其它玩家互动,共同改造虚拟场景,共同完成游戏任务。
在本实施例中,将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端包括以下至少之一:将第一游戏客户端上呈现的虚拟视线通过游戏服务器同步到第二游戏客户端;将第一游戏客户端上呈现的物品虚拟轨迹通过游戏服务器同步到第二游戏客户端。
为了最大程度上保证双人处于不同地点时的游戏体验,绝大部分数据的同步,都是基于虚拟场景,而不是真实坐标的。比如:虚拟视线的同步(玩家可以看到其他玩家的虚拟视线),物品轨迹的同步(玩家在某些玩法中,发射虚拟物品的轨迹)等等。即使身处异地,两人也能感觉到,对面就在自己身边。
当玩家A在第一游戏客户端上创建了虚拟房间后,服务器会将房间信息同步给该玩家的所有好友,好友就可以选择进入该房间了。在玩家A将场景投射到了真实物理位置后,客户端会将此时收集此时的WorldMap,并且WorldMap和相关联的场景数据(场景投射点)一起发送给服务器,服务器会将这些数据和这个房间关联起来,并且将其存储起来。
在本实施例的一些场景中,将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端包括:确定第二游戏客户端进入第一游戏客户端所在的虚拟关卡房间,并且第二游戏客户端和第一游戏客户端在同一物理位置;若第一游戏客户端已经同步场景信息和对应的投射信息,则游戏服务器将场景信息和对应的投射信息发送至第二游戏客户端;若第一游戏客户端未同步场景信息和对应的投射信息,游戏服务器在确定第一游戏客户端完成同步后再将场景信息和对应的投射信息发送至第二游戏客户端。
当新玩家B在第二游戏客户端上加入到了A的虚拟房间,并且两者处于同一物理地点。如果A已经同步了自己的场景信息,那么服务器就会直接将这些数据发送给B,否则,会等到A投射场景并且同步信息之后,B才能收到对应的数据。当B拿到这些数据时,客户端会通过ARKit尝试解析WorldMap,将A“看到”的世界与B“看到”的世界关联起来,关联成功后,两者就能“看到”同样的世界了。如果B与A不处于同一地点,那么B会自行进行场景投射,接下来,两人会看到同样的虚拟场景。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种加载虚拟游戏的装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图13是根据本发明实施例的一种加载虚拟游戏的装置的结构框图,如图13所示,该装置包括:采集模块130,投射模块132,第一同步模块134,加入模块136,控制模块138,其中,
采集模块130,用于通过第一游戏客户端采集现实场景的场景信息;
投射模块132,用于根据所述场景信息和对应的投射信息,将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中;
第一同步模块134,用于将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端;
加入模块136,用于将第一游戏客户端控制的第一虚拟角色加入所述虚拟游戏关卡场景,将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景;
控制模块138,用于控制第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互。
可选的,所述装置还包括:第二同步模块,用于将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端;处理模块,用于将第二游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中,并通过游戏服务器同步第一游戏客户端控制的第一虚拟角色数据到第二游戏客户端。
可选的,所述装置还包括:第一获取模块,用于在所述第二同步模块将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端之前,获取第一游戏客户端的第一位置信息和第二游戏客户端的第二位置信息;判断模块,用于根据所述第一位置信息和所述第二位置信息判断所述第一游戏客户端和所述第二游戏客户端是否在同一位置;确定模块,用于若所述第一游戏客户端和所述第二游戏客户端不在同一位置,确定将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端。
可选的,所述第二同步模块包括以下至少之一:第一同步单元,用于将第一游戏客户端上呈现的虚拟视线通过游戏服务器同步到第二游戏客户端;第二同步单元,用于将第一游戏客户端上呈现的物品虚拟轨迹通过游戏服务器同步到第二游戏客户端。
可选的,所述装置还包括:发送模块,用于在所述投射模块将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中之后,将所述第一游戏客户端的所述场景信息和对应的投射信息发送至游戏服务器,其中,所述游戏服务器用于建立和存储所述场景信息和所述投射信息与虚拟关卡房间的关联关系。
可选的,所述第一同步模块包括:第一确定单元,用于确定所述第二游戏客户端进入所述第一游戏客户端所在的虚拟关卡房间,并且所述第二游戏客户端和所述第一游戏客户端在同一物理位置;发送单元,用于若所述第一游戏客户端已经同步所述场景信息和对应的投射信息,则所述游戏服务器将所述场景信息和对应的投射信息发送至所述第二游戏客户端;若所述第一游戏客户端未同步所述场景信息和对应的投射信息,所述游戏服务器在确定所述第一游戏客户端完成同步后再将所述场景信息和对应的投射信息发送至所述第二游戏客户端。
可选的,所述第一同步模块包括:保持单元,用于将所述虚拟游戏关卡场景的虚拟摄像机与所述第一游戏客户端的真实摄像机的投影矩阵保持一致,其中,所述场景信息包括所述真实摄像机,所述投射信息包括所述虚拟摄像机;第二确定单元,用于确定所述现实场景在世界坐标系中的第一参考点,以及所述虚拟游戏关卡场景中与所述第一参考点对应的在屏幕坐标系中的第二参考点;转换单元,用于根据所述第一参考点和所述第二参考点将所述屏幕坐标系转换为所述世界坐标系,并将转换后的所述虚拟游戏关卡场景投射至所述现实场景。
可选的,所述转换单元包括:计算子单元,用于计算所述屏幕坐标系与世界坐标系的元素比例K;转换子单元,用于根据以下公式将所述屏幕坐标系转换为所述世界坐标系:P3=P1+(P2–P0)*K;其中,P3所述虚拟摄像机的坐标位置,P1为所述第二参考点的坐标位置,P2为所述真实摄像机的坐标位置,P0为所述第一参考点的坐标位置。
可选的,所述控制模块包括:采集单元,用于通过所述第一游戏客户端或所述第二游戏客户端采集所述虚拟游戏关卡场景的交互信息;生成单元,用于基于所述交互信息生成所述虚拟游戏关卡场景的控制指令;控制单元,用于根据所述控制指令控制所述虚拟游戏关卡场景。
可选的,在所述交互信息为视点射线时,所述生成单元包括:定位子单元,用于定位所述视点射线到所述虚拟游戏关卡场景的交点位置;第一确定子单元,用于将所述交点位置确定为所述第一虚拟角色运动的目标位置;第一生成子单元,用于根据所述目标位置生成移动指令,其中,所述移动指令用于指示所述第一虚拟角色移动到所述目标位置。
可选的,在所述交互信息为麦克风吹入的环境音量时,所述生成单元包括:触发子单元,用于根据所述环境音量触发环境风场,其中,所述环境风场的大小与环境音量的大小对应;第二生成子单元,用于根据所述环境风场生成风动画参数,并生成第一渲染指令,其中,所述第一渲染指令用于指示在所述虚拟游戏关卡场景中使用所述风动画参数渲染风动画特效。
可选的,在所述交互信息为所述第一游戏客户端或所述第二游戏客户端的方位信息时,所述生成单元包括:第二确定子单元,用于根据所述方位信息确定所述第一游戏客户端或所述第二游戏客户端的移动轨迹;第三生成子单元,用于在预设特效库中查找与所述移动轨迹匹配的角色特效,并生成第二渲染指令,其中,所述第二渲染指令用于指示在所述虚拟游戏关卡场景中渲染角色特效。
可选的,所述控制模块包括:获取单元,用于在所述第一游戏客户端或所述第二游戏客户端的显示屏幕上截取或录取所述虚拟游戏关卡场景的显示画面;分享单元,用于分享或保存所述显示画面。
可选的,所述装置还包括:第二获取模块,用于在所述加入模块将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景之后,获取所述虚拟游戏关卡场景中虚拟元素的标识信息,以及所述虚拟元素在所述现实场景中的位置信息;第一存储模块,用于将所述标识信息和所述位置信息关联后,存储在游戏服务器;生成模块,用于在所述第一游戏客户端再次进入所述虚拟游戏关卡场景时,根据所述标识信息和所述位置信息在所述现实场景中生成所述虚拟元素。
可选的,所述装置还包括:第二存储模块,用于在所述加入模块将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景之后,存储所述虚拟游戏关卡场景在第一时间的世界地图数据,或者,从所述第二游戏客户端获取所述虚拟游戏关卡场景在第一时间的世界地图数据,其中,所述世界地图数据用于生成所述虚拟游戏关卡场景的AR视图;构建模块,用于根据所述世界地图数据重建或者修正所述虚拟游戏关卡场景在第二时间的AR视图。
根据本发明的又一个实施例,提供了一种加载虚拟游戏的***,包括第一游戏客户端和第二游戏客户端,游戏服务器,包括如上述实施例所述的装置。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,通过第一游戏客户端采集现实场景的场景信息;
S2,根据所述场景信息和对应的投射信息,将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中;
S3,将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端;
S4,将第一游戏客户端控制的第一虚拟角色加入所述虚拟游戏关卡场景,将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景;
S5,第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,通过第一游戏客户端采集现实场景的场景信息;
S2,根据所述场景信息和对应的投射信息,将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中;
S3,将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端;
S4,将第一游戏客户端控制的第一虚拟角色加入所述虚拟游戏关卡场景,将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景;
S5,第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
本发明实施例还包括在下列编号条款中规定的这些和其他方面:
1.一种加载虚拟游戏的方法,包括:
通过第一游戏客户端采集现实场景的场景信息;
根据所述场景信息和对应的投射信息,将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中;
将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端;
将第一游戏客户端控制的第一虚拟角色加入所述虚拟游戏关卡场景;
将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景;
第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互。
2.根据条款1所述的方法,所述方法还包括:
将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端;
将第二游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中,并通过游戏服务器同步第一游戏客户端控制的第一虚拟角色数据到第二游戏客户端。
3.根据条款2所述的方法,在将第一游戏客户端上呈现的虚拟游戏关
卡场景通过游戏服务器同步到第二游戏客户端之前,所述方法还包括:
获取第一游戏客户端的第一位置信息和第二游戏客户端的第二位置信息;
根据所述第一位置信息和所述第二位置信息判断所述第一游戏客户端和所述第二游戏客户端是否在同一位置;
若所述第一游戏客户端和所述第二游戏客户端不在同一位置,确定将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端。
4.根据条款2所述的方法,将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端包括以下至少之一:
将第一游戏客户端上呈现的虚拟视线通过游戏服务器同步到第二游戏客户端;
将第一游戏客户端上呈现的物品虚拟轨迹通过游戏服务器同步到第二游戏客户端。
5.根据条款1所述的方法,将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端包括:
确定所述第二游戏客户端进入所述第一游戏客户端所在的虚拟关卡房间,并且所述第二游戏客户端和所述第一游戏客户端在同一物理位置;
若所述第一游戏客户端已经同步所述场景信息和对应的投射信息,则所述游戏服务器将所述场景信息和对应的投射信息发送至所述第二游戏客户端;若所述第一游戏客户端未同步所述场景信息和对应的投射信息,所述游戏服务器在确定所述第一游戏客户端完成同步后再将所述场景信息和对应的投射信息发送至所述第二游戏客户端。
6.根据条款1所述的方法,根据所述场景信息和对应的投射信息,将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中,包括:
将所述虚拟游戏关卡场景的虚拟摄像机与所述第一游戏客户端的真实摄像机的投影矩阵保持一致,其中,所述场景信息包括所述真实摄像机,所述投射信息包括所述虚拟摄像机;
确定所述现实场景在世界坐标系中的第一参考点,以及所述虚拟游戏关卡场景中与所述第一参考点对应的在屏幕坐标系中的第二参考点;
根据所述第一参考点和所述第二参考点将所述屏幕坐标系转换为所述世界坐标系,并将转换后的所述虚拟游戏关卡场景投射至所述现实场景。
7.根据条款6所述的方法,根据所述第一参考点和所述第二参考点将所述屏幕坐标系转换为所述世界坐标系包括:
计算所述屏幕坐标系与世界坐标系的元素比例K;
根据以下公式将所述屏幕坐标系转换为所述世界坐标系:
P3=P1+(P2–P0)*K;
其中,P3所述虚拟摄像机的坐标位置,P1为所述第二参考点的坐标位置,P2为所述真实摄像机的坐标位置,P0为所述第一参考点的坐标位置。
8.根据条款1所述的方法,第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互包括:
通过所述第一游戏客户端或所述第二游戏客户端采集所述虚拟游戏关卡场景的交互信息;
基于所述交互信息生成所述虚拟游戏关卡场景的控制指令;
根据所述控制指令控制所述虚拟游戏关卡场景。
9.根据条款8所述的方法,在所述交互信息为视点射线时,基于所述交互信息生成所述虚拟游戏关卡场景的控制指令包括:
定位所述视点射线到所述虚拟游戏关卡场景的交点位置;
将所述交点位置确定为所述第一虚拟角色运动的目标位置;
根据所述目标位置生成移动指令,其中,所述移动指令用于指示所述第一虚拟角色移动到所述目标位置。
10.根据条款8所述的方法,在所述交互信息为麦克风吹入的环境音量时,基于所述交互信息生成所述虚拟游戏关卡场景的控制指令包括:
根据所述环境音量触发环境风场,其中,所述环境风场的大小与环境音量的大小对应;
根据所述环境风场生成风动画参数,并生成第一渲染指令,其中,所述第一渲染指令用于指示在所述虚拟游戏关卡场景中使用所述风动画参数渲染风动画特效。
11.根据条款8所述的方法,在所述交互信息为所述第一游戏客户端或所述第二游戏客户端的方位信息时,基于所述交互信息生成所述虚拟游戏关卡场景的控制指令包括:
根据所述方位信息确定所述第一游戏客户端或所述第二游戏客户端的移动轨迹;
在预设特效库中查找与所述移动轨迹匹配的角色特效,并生成第二渲染指令,其中,所述第二渲染指令用于指示在所述虚拟游戏关卡场景中渲染角色特效。
12.根据条款1所述的方法,在将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中之后,所述方法还包括:
将所述第一游戏客户端的所述场景信息和对应的投射信息发送至游戏服务器,其中,所述游戏服务器用于建立和存储所述场景信息和所述投射信息与虚拟关卡房间的关联关系。
13.根据条款1所述的方法,第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互包括:
在所述第一游戏客户端或所述第二游戏客户端的显示屏幕上截取或录取所述虚拟游戏关卡场景的显示画面;
分享或保存所述显示画面。
14.根据条款1所述的方法,在将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景之后,所述方法还包括:
获取所述虚拟游戏关卡场景中虚拟元素的标识信息,以及所述虚拟元素在所述现实场景中的位置信息;
将所述标识信息和所述位置信息关联后,存储在游戏服务器;
在所述第一游戏客户端再次进入所述虚拟游戏关卡场景时,根据所述标识信息和所述位置信息在所述现实场景中生成所述虚拟元素。
15.根据条款1所述的方法,在将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景之后,所述方法还包括:
存储所述虚拟游戏关卡场景在第一时间的世界地图数据,或者,从所述第二游戏客户端获取所述虚拟游戏关卡场景在第一时间的世界地图数据,其中,所述世界地图数据用于生成所述虚拟游戏关卡场景的AR视图;
根据所述世界地图数据重建或者修正所述虚拟游戏关卡场景在第二时间的AR视图。
16.一种加载虚拟游戏的装置,包括:
采集模块,用于通过第一游戏客户端采集现实场景的场景信息;
投射模块,用于根据所述场景信息和对应的投射信息,将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中;
第一同步模块,用于将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端;
加入模块,用于将第一游戏客户端控制的第一虚拟角色加入所述虚拟游戏关卡场景,将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景;
控制模块,用于控制第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互。
17.根据条款16所述的装置,所述装置还包括:
第二同步模块,用于将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端;
处理模块,用于将第二游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中,并通过游戏服务器同步第一游戏客户端控制的第一虚拟角色数据到第二游戏客户端。
18.根据条款16所述的装置,所述第一同步模块包括:
保持单元,用于将所述虚拟游戏关卡场景的虚拟摄像机与所述第一游戏客户端的真实摄像机的投影矩阵保持一致,其中,所述场景信息包括所述真实摄像机,所述投射信息包括所述虚拟摄像机;
第二确定单元,用于确定所述现实场景在世界坐标系中的第一参考点,以及所述虚拟游戏关卡场景中与所述第一参考点对应的在屏幕坐标系中的第二参考点;
转换单元,用于根据所述第一参考点和所述第二参考点将所述屏幕坐标系转换为所述世界坐标系,并将转换后的所述虚拟游戏关卡场景投射至所述现实场景。
19.一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行条款1至15任一项中所述的方法。
20.一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行条款1至15任一项中所述的方法。
Claims (10)
1.一种加载虚拟游戏的方法,其特征在于,包括:
通过第一游戏客户端采集现实场景的场景信息;
根据所述场景信息和对应的投射信息,将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中;
将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端;
将第一游戏客户端控制的第一虚拟角色加入所述虚拟游戏关卡场景;
将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景;
第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端;
将第二游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中,并通过游戏服务器同步第一游戏客户端控制的第一虚拟角色数据到第二游戏客户端。
3.根据权利要求2所述的方法,其特征在于,在将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端之前,所述方法还包括:
获取第一游戏客户端的第一位置信息和第二游戏客户端的第二位置信息;
根据所述第一位置信息和所述第二位置信息判断所述第一游戏客户端和所述第二游戏客户端是否在同一位置;
若所述第一游戏客户端和所述第二游戏客户端不在同一位置,确定将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端。
4.根据权利要求2所述的方法,其特征在于,将第一游戏客户端上呈现的虚拟游戏关卡场景通过游戏服务器同步到第二游戏客户端包括以下至少之一:
将第一游戏客户端上呈现的虚拟视线通过游戏服务器同步到第二游戏客户端;
将第一游戏客户端上呈现的物品虚拟轨迹通过游戏服务器同步到第二游戏客户端。
5.根据权利要求1所述的方法,其特征在于,将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端包括:
确定所述第二游戏客户端进入所述第一游戏客户端所在的虚拟关卡房间,并且所述第二游戏客户端和所述第一游戏客户端在同一物理位置;
若所述第一游戏客户端已经同步所述场景信息和对应的投射信息,则所述游戏服务器将所述场景信息和对应的投射信息发送至所述第二游戏客户端;若所述第一游戏客户端未同步所述场景信息和对应的投射信息,所述游戏服务器在确定所述第一游戏客户端完成同步后再将所述场景信息和对应的投射信息发送至所述第二游戏客户端。
6.根据权利要求1所述的方法,其特征在于,根据所述场景信息和对应的投射信息,将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中,包括:
将所述虚拟游戏关卡场景的虚拟摄像机与所述第一游戏客户端的真实摄像机的投影矩阵保持一致,其中,所述场景信息包括所述真实摄像机,所述投射信息包括所述虚拟摄像机;
确定所述现实场景在世界坐标系中的第一参考点,以及所述虚拟游戏关卡场景中与所述第一参考点对应的在屏幕坐标系中的第二参考点;
根据所述第一参考点和所述第二参考点将所述屏幕坐标系转换为所述世界坐标系,并将转换后的所述虚拟游戏关卡场景投射至所述现实场景。
7.根据权利要求6所述的方法,其特征在于,根据所述第一参考点和所述第二参考点将所述屏幕坐标系转换为所述世界坐标系包括:
计算所述屏幕坐标系与世界坐标系的元素比例K;
根据以下公式将所述屏幕坐标系转换为所述世界坐标系:
P3=P1+(P2–P0)*K;
其中,P3所述虚拟摄像机的坐标位置,P1为所述第二参考点的坐标位置,P2为所述真实摄像机的坐标位置,P0为所述第一参考点的坐标位置。
8.一种加载虚拟游戏的装置,其特征在于,包括:
采集模块,用于通过第一游戏客户端采集现实场景的场景信息;
投射模块,用于根据所述场景信息和对应的投射信息,将所述第一游戏客户端上呈现的虚拟游戏关卡场景投射至所述现实场景中;
第一同步模块,用于将第一游戏客户端采集的现实场景的场景信息和对应的投射信息,通过游戏服务器同步到第二游戏客户端;
加入模块,用于将第一游戏客户端控制的第一虚拟角色加入所述虚拟游戏关卡场景,将第二游戏客户端控制的第二虚拟角色加入所述虚拟游戏关卡场景;
控制模块,用于控制第一游戏客户端控制的第一虚拟角色与第二游戏客户端控制的第二虚拟角色在所述虚拟游戏关卡场景中的进行游戏数据交互。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010603335.8A CN111744180A (zh) | 2020-06-29 | 2020-06-29 | 加载虚拟游戏的方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010603335.8A CN111744180A (zh) | 2020-06-29 | 2020-06-29 | 加载虚拟游戏的方法及装置、存储介质、电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111744180A true CN111744180A (zh) | 2020-10-09 |
Family
ID=72677882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010603335.8A Pending CN111744180A (zh) | 2020-06-29 | 2020-06-29 | 加载虚拟游戏的方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111744180A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256128A (zh) * | 2020-10-22 | 2021-01-22 | 武汉科领软件科技有限公司 | 一种互动效果开发平台 |
CN112492231A (zh) * | 2020-11-02 | 2021-03-12 | 重庆创通联智物联网有限公司 | 远程交互方法、装置、电子设备和计算机可读存储介质 |
CN112717375A (zh) * | 2021-01-04 | 2021-04-30 | 厦门梦加网络科技股份有限公司 | 一种游戏特效实现方法 |
CN113457129A (zh) * | 2021-06-23 | 2021-10-01 | 深圳市瑞立视多媒体科技有限公司 | 游戏关卡选择及角色配置方法、***和计算机设备 |
CN113535171A (zh) * | 2021-07-23 | 2021-10-22 | 上海米哈游璃月科技有限公司 | 一种信息查找方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140213361A1 (en) * | 2013-01-25 | 2014-07-31 | Tencent Technology (Shenzhen) Company Limited | Method, device, and system for interacting with a virtual character in smart terminal |
CN106984043A (zh) * | 2017-03-24 | 2017-07-28 | 武汉秀宝软件有限公司 | 一种多人对战游戏的数据同步方法和*** |
CN108830939A (zh) * | 2018-06-08 | 2018-11-16 | 杭州群核信息技术有限公司 | 一种基于混合现实的场景漫游体验方法及体验*** |
WO2019019248A1 (zh) * | 2017-07-28 | 2019-01-31 | 深圳市瑞立视多媒体科技有限公司 | 一种虚拟现实交互方法、装置及*** |
CN110665219A (zh) * | 2019-10-14 | 2020-01-10 | 网易(杭州)网络有限公司 | 一种虚拟现实游戏的操作控制方法及装置 |
-
2020
- 2020-06-29 CN CN202010603335.8A patent/CN111744180A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140213361A1 (en) * | 2013-01-25 | 2014-07-31 | Tencent Technology (Shenzhen) Company Limited | Method, device, and system for interacting with a virtual character in smart terminal |
CN106984043A (zh) * | 2017-03-24 | 2017-07-28 | 武汉秀宝软件有限公司 | 一种多人对战游戏的数据同步方法和*** |
WO2019019248A1 (zh) * | 2017-07-28 | 2019-01-31 | 深圳市瑞立视多媒体科技有限公司 | 一种虚拟现实交互方法、装置及*** |
CN108830939A (zh) * | 2018-06-08 | 2018-11-16 | 杭州群核信息技术有限公司 | 一种基于混合现实的场景漫游体验方法及体验*** |
CN110665219A (zh) * | 2019-10-14 | 2020-01-10 | 网易(杭州)网络有限公司 | 一种虚拟现实游戏的操作控制方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256128A (zh) * | 2020-10-22 | 2021-01-22 | 武汉科领软件科技有限公司 | 一种互动效果开发平台 |
CN112492231A (zh) * | 2020-11-02 | 2021-03-12 | 重庆创通联智物联网有限公司 | 远程交互方法、装置、电子设备和计算机可读存储介质 |
CN112717375A (zh) * | 2021-01-04 | 2021-04-30 | 厦门梦加网络科技股份有限公司 | 一种游戏特效实现方法 |
CN113457129A (zh) * | 2021-06-23 | 2021-10-01 | 深圳市瑞立视多媒体科技有限公司 | 游戏关卡选择及角色配置方法、***和计算机设备 |
CN113535171A (zh) * | 2021-07-23 | 2021-10-22 | 上海米哈游璃月科技有限公司 | 一种信息查找方法、装置、设备及存储介质 |
CN113535171B (zh) * | 2021-07-23 | 2024-03-08 | 上海米哈游璃月科技有限公司 | 一种信息查找方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111744202A (zh) | 加载虚拟游戏的方法及装置、存储介质、电子装置 | |
US11948260B1 (en) | Streaming mixed-reality environments between multiple devices | |
CN111744180A (zh) | 加载虚拟游戏的方法及装置、存储介质、电子装置 | |
US11620800B2 (en) | Three dimensional reconstruction of objects based on geolocation and image data | |
CN105843396B (zh) | 在共享的稳定虚拟空间上维持多视图的方法 | |
CN106984043B (zh) | 一种多人对战游戏的数据同步方法和*** | |
CN111638793B (zh) | 飞行器的展示方法、装置、电子设备及存储介质 | |
US9947139B2 (en) | Method and apparatus for providing hybrid reality environment | |
CN111694430A (zh) | 一种ar场景画面呈现方法、装置、电子设备和存储介质 | |
CN111228811B (zh) | 虚拟对象的控制方法、装置、设备及介质 | |
US20230050933A1 (en) | Two-dimensional figure display method and apparatus for virtual object, device, and storage medium | |
WO2022267729A1 (zh) | 基于虚拟场景的互动方法、装置、设备、介质及程序产品 | |
CN112933606A (zh) | 游戏场景转换方法及装置、存储介质、计算机设备 | |
CN111569414B (zh) | 虚拟飞行器的飞行展示方法、装置、电子设备及存储介质 | |
KR20220125540A (ko) | 가상공간과 현실공간의 객체간 위치 연동에 따른 가상공간 클라이언트 기반의 상호 인터렉션 서비스 제공 방법 | |
CN110545363B (zh) | 实现多终端联网同步的方法、***和云端服务器 | |
KR20220125539A (ko) | 가상공간과 현실공간의 객체간 위치 연동에 따른 상호 인터렉션 서비스 제공방법 | |
CN115430153A (zh) | 虚拟环境中的碰撞检测方法、装置、设备、介质及程序 | |
KR20220125538A (ko) | 네트워크를 활용한 가상공간과 현실공간의 객체간 위치 연동 시스템 | |
CN112843687B (zh) | 拍摄方法、装置、电子设备及存储介质 | |
CN111651048B (zh) | 多虚拟对象排列展示方法、装置、电子设备及存储介质 | |
CN112843682B (zh) | 数据同步方法、装置、设备及存储介质 | |
US20230117046A1 (en) | Videographer mode in online games | |
CN117861200A (zh) | 游戏中的信息处理方法、装置、电子设备及存储介质 | |
CN116912463A (zh) | 3d虚拟形象处理方法、装置、电子设备和可读存储介质 |
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 |