CN112915540A - 用于虚拟场景中的数据处理方法、装置、设备及存储介质 - Google Patents
用于虚拟场景中的数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112915540A CN112915540A CN202110350730.4A CN202110350730A CN112915540A CN 112915540 A CN112915540 A CN 112915540A CN 202110350730 A CN202110350730 A CN 202110350730A CN 112915540 A CN112915540 A CN 112915540A
- Authority
- CN
- China
- Prior art keywords
- compression
- line segment
- group
- virtual
- target
- 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.)
- Granted
Links
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/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/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/63—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 the player, e.g. authoring using a level editor
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种用于虚拟场景的数据处理方法、装置、设备及存储介质,属于数据处理技术领域。该方法包括:获取虚拟场景中的各个虚拟线段,虚拟线段用于对虚拟场景中的虚拟对象的指定移动方式进行导航;各个虚拟线段按照在虚拟场景中的位置分为至少两个压缩组;对至少两个压缩组分别进行至少一次预压缩,获得至少两个压缩组分别对应的预压缩结果;基于至少两个压缩组分别对应的预压缩结果,获取至少两个压缩组分别对应的目标压缩方式;基于至少两个压缩组分别对应的目标压缩方式,对至少两个压缩组分别进行压缩。从而能够极大的降低内存消耗,提高了计算机设备的内存资源利用率,进而提高计算机设备运行虚拟场景时的整体性能。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种用于虚拟场景中的数据处理方法、装置、设备及存储介质。
背景技术
目前,在游戏类应用程序中,为了控制虚拟对象在虚拟场景中执行攀爬的动作,需要在虚拟场景中设置大量的攀爬导航数据对象,比如攀爬点等。
在相关技术中,虚拟场景中的攀爬导航数据对象可以通过指定的压缩方式进行压缩处理,比如,可以通过7Z压缩方式对攀爬导航数据对象的数据一起进行压缩。当虚拟对象需要通过攀爬导航数据对象进行攀爬动作时,终端需要对指定压缩方式进行压缩生成的压缩包直接进行解压,获得攀爬导航数据对象。
然而,当虚拟场景中的导航数据对象的情况不一致时,将全部攀爬导航数据对象一起进行压缩,会导致整体的压缩效果较差。
发明内容
本申请实施例提供了一种用于虚拟场景中的数据处理方法、装置、设备及存储介质,能够通过对虚拟场景中的各个虚拟线段进行分组,并且分别按照各自的目标压缩方式进行压缩,从而提高了对用于导航的虚拟线段的整体压缩效果。所述技术方案如下:
一方面,本申请实施例提供了一种用于虚拟场景中的数据处理方法,所述方法包括:
获取所述虚拟场景中的各个虚拟线段,所述虚拟线段用于对所述虚拟场景中的虚拟对象的指定移动方式进行导航;各个所述虚拟线段按照在所述虚拟场景中的位置分为至少两个压缩组;
对至少两个所述压缩组分别进行至少一次预压缩,获得至少两个所述压缩组分别对应的预压缩结果;
基于至少两个所述压缩组分别对应的预压缩结果,获取至少两个所述压缩组分别对应的目标压缩方式;
基于至少两个所述压缩组分别对应的目标压缩方式,对至少两个所述压缩组分别进行压缩。
一方面,本申请实施例提供了一种用于虚拟场景中的数据处理方法,所述方法包括:
基于虚拟对象在所述虚拟场景中的位置信息,确定目标压缩组;所述虚拟场景中的各个虚拟线段按照在所述虚拟场景中的位置分为至少两个压缩组,所述目标压缩组是至少两个所述压缩组中的至少一个;所述虚拟线段用于对所述虚拟场景中的虚拟对象的指定移动方式进行导航;
从各个所述虚拟线段对应的压缩数据中,读取所述目标压缩组对应的压缩数据块;
获取所述目标压缩组对应的目标压缩方式;所述目标压缩方式是基于至少两个所述压缩组分别对应的预压缩结果确定;且所述预压缩结果是对对应的所述压缩组分别按照至少两种压缩方式进行预压缩得到的;
基于所述目标压缩组对应的目标压缩方式,对所述目标压缩组对应的压缩数据块进行解压,获得所述目标压缩组中的所述虚拟线段的原始数据;
加载所述目标压缩组中的所述虚拟线段的原始数据。
另一方面,本申请实施例提供了一种用于虚拟场景中的数据处理装置,所述装置包括:
线段获取模块,用于获取所述虚拟场景中的各个虚拟线段,所述虚拟线段用于对所述虚拟场景中的虚拟对象的指定移动方式进行导航;各个所述虚拟线段按照在所述虚拟场景中的位置分为至少两个压缩组;
预压缩模块,用于对至少两个所述压缩组分别进行至少一次预压缩,获得至少两个所述压缩组分别对应的预压缩结果;
目标获取模块,用于基于至少两个所述压缩组分别对应的预压缩结果,获取至少两个所述压缩组分别对应的目标压缩方式;
压缩模块,用于基于至少两个所述压缩组分别对应的目标压缩方式,对至少两个所述压缩组分别进行压缩。
在一种可能的实现方式中,所述虚拟线段对应的原始数据包括所述虚拟线段的两个端点的坐标、所述虚拟线段的两个端点的法线向量、以及所述虚拟线段的类型。
在一种可能的实现方式中,所述预压缩模块,包括:
边框获取子模块,用于获取目标压缩组的边框信息;所述边框信息用于指示对应的所述压缩组在所述虚拟场景中的包围框的坐标极值;所述目标压缩组是至少两个所述压缩组中的任意一个;
点数据获取子模块,用于基于所述目标压缩组的边框信息,对将所述目标压缩组中的所述虚拟线段的端点的坐标进行编码,获得所述目标压缩组中的所述虚拟线段各自对应的端点编码数据,所述端点编码数据包括中点坐标;
预数据获取子模块,用于对于所述目标压缩组中的所述虚拟线段的中点坐标,按照预压缩方式进行压缩,获得所述目标压缩组的预压缩坐标数据;所述预压缩方式是至少两种压缩方式中的一种;
所述目标获取模块,包括:
精度获取子模块,用于基于所述目标压缩组的预压缩坐标数据,获取所述预压缩方式对所述目标压缩组的压缩精度;
目标确定子模块,用于响应于所述预压缩方式对所述目标压缩组的压缩精度高于精度阈值,将所述预压缩方式确定为所述目标压缩组对应的目标压缩方式。
在一种可能的实现方式中,至少两种所述压缩方式按照压缩率从小到大的顺序排列,所述装置还包括:
预方式更新子模块,用于响应于所述预压缩方式对所述目标压缩组的压缩精度不高于所述精度阈值,将排列在所述预压缩方式后一位的所述压缩方式,确定为新的所述预压缩方式。
在一种可能的实现方式中,所述装置还包括:
预方式确定子模块,用于在对所述目标压缩组进行第一次预压缩时,将至少两种所述压缩方式中,与所述目标压缩组的边框信息相对应的所述压缩方式,确定为所述预压缩方式。
在一种可能的实现方式中,所述压缩模块,包括:
第一写入子模块,用于基于所述目标压缩组对应的目标压缩方式,对目标压缩组中的所述虚拟线段各自对应的所述中点坐标进行编码后,添加至所述目标压缩组对应的压缩数据块。
在一种可能的实现方式中,所述压缩模块,还包括:
向量获取子模块,用于基于所述目标压缩组中的所述虚拟线段的端点的法线向量,获取所述目标压缩组中的所述虚拟线段的法线向量,得到线段法线向量组;
向量压缩子模块,用于基于所述线段法线向量组中的水平法线向量与Z轴之间的方向关系,获取所述线段法线向量组中的水平法线向量的压缩数据;
第二写入子模块,用于将所述线段法线向量组中的水平法线向量的压缩数据,以及线段法线向量组中的非水平法线向量,添加至所述目标压缩组对应的压缩数据块。
在一种可能的实现方式中,所述端点编码数据还包括点间距离、以及水平方向参数;所述点间距用于指示对应的所述虚拟线段的端点与中点之间的距离;所述水平方向参数用于指示对应的所述虚拟线段的水平方向;
所述压缩模块,还包括:
第三写入子模块,用于将所述目标压缩组的边框信息、所述目标压缩组对应的目标压缩方式、所述目标压缩组中的所述虚拟线段各自对应的点间距、所述目标压缩组中的所述虚拟线段各自对应的水平方向参数、以及所述目标压缩组中的所述虚拟线段各自对应的类型,添加至所述目标压缩组对应的压缩数据块。
在一种可能的实现方式中,所述装置还包括:
压缩数据获取子模块,用于将至少两个所述压缩组分别对应的压缩数据块进行组合,获得所述虚拟场景中的各个虚拟线段对应的压缩数据;
其中,所述压缩数据的数据头中包含至少两个所述压缩组分别对应的压缩数据块的数量,以及至少两个所述压缩组分别对应的压缩数据块在所述压缩数据中的位置信息。
在一种可能的实现方式中,所述线段获取模块,包括:
分组子模块,用于将所述虚拟场景中位于同一虚拟物体上的所述虚拟线段,获取为属于第一压缩组;所述第一压缩组是至少两个所述压缩组中的任意一个。
另一方面,本申请实施例提供了一种用于虚拟场景中的数据处理装置,所述装置包括:
目标确定模块,用于基于虚拟对象在所述虚拟场景中的位置信息,确定目标压缩组;所述虚拟场景中的各个虚拟线段按照在所述虚拟场景中的位置分为至少两个压缩组,所述目标压缩组是至少两个所述压缩组中的至少一个;所述虚拟线段用于对所述虚拟场景中的虚拟对象的指定移动方式进行导航;
压缩读取模块,用于从各个所述虚拟线段对应的压缩数据中,读取所述目标压缩组对应的压缩数据块;
方式获取模块,用于获取所述目标压缩组对应的目标压缩方式;所述目标压缩方式是基于至少两个所述压缩组分别对应的预压缩结果确定;且所述预压缩结果是对对应的所述压缩组分别按照至少两种压缩方式进行预压缩得到的;
解压模块,用于基于所述目标压缩组对应的目标压缩方式,对所述目标压缩组对应的压缩数据块进行解压,获得所述目标压缩组中的所述虚拟线段的原始数据;
数据加载模块,用于加载所述目标压缩组中的所述虚拟线段的原始数据。
另一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的用于虚拟场景中的数据处理方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的用于虚拟场景中的数据处理方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面的各种可选实现方式中提供的用于虚拟场景中的数据处理方法。
本申请实施例提供的技术方案的有益效果至少包括:
通过虚拟线段作为虚拟场景中的指定移动方式进行导航的导航数据对象,在对虚拟场景中的各个虚拟线段进行压缩时,对各个虚拟线段进行分组,分别对各个压缩组进行预压缩,并且基于预压缩结果,确定各个压缩组对应的目标压缩方式,然后分别对各个压缩组中的虚拟线段按照对应的目标压缩方式进行压缩,从而在压缩时,能够对不同位置的虚拟线段分别进行压缩,采用不同的压缩方式,在保证压缩精度的情况下,尽可能的提高压缩率,从而提高对虚拟线段的整体压缩效果;同时,由于通过分组的方式进行压缩,从而使得运行虚拟场景的计算机设备在解压时也能够按照需要,以压缩组为单位对压缩线段进行解压,从而能够极大的降低内存消耗,提高了计算机设备的内存资源利用率,进而提高计算机设备运行虚拟场景时的整体性能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请一个示例性的实施例提供的用于虚拟场景中的数据处理系统的示意图;
图2是本申请一个示例性实施例提供的用于虚拟场景中的数据处理流程的示意图;
图3是本申请一个示例性实施例提供的用于虚拟场景中的数据处理方法的方法流程图;
图4是图3所示实施例涉及的一种虚拟场景中虚拟线段分布示意图;
图5是图3所示实施例涉及的一种虚拟场景对应的压缩数据包的编码结构示意图;
图6是本申请一个示例性实施例提供的用于虚拟场景中的数据处理方法的方法流程图;
图7是本申请一个示例性实施例提供的用于虚拟场景中的数据处理装置的结构框图;
图8是本申请一个示例性实施例提供的用于虚拟场景中的数据处理装置的结构框图;
图9是本申请一示例性实施例提供的计算机设备的结构框图;
图10是本申请一示例性实施例提供的计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟的场景。该虚拟场景可以是对真实世界的仿真环境场景,也可以是半仿真半虚构的三维环境场景,还可以是纯虚构的三维环境场景。虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种,下述实施例以虚拟场景是三维虚拟场景来举例说明,但对此不加以限定。可选地,该虚拟场景还可用于至少两个虚拟角色之间的虚拟场景对战。可选地,该虚拟场景还可用于至少两个虚拟角色之间使用虚拟枪械进行对战。可选地,该虚拟场景还可用于在目标区域范围内,至少两个虚拟角色之间使用虚拟枪械进行对战,该目标区域范围会随虚拟场景中的时间推移而不断变小。
虚拟对象:是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、虚拟载具中的至少一种。可选地,当虚拟场景为三维虚拟场景时,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟场景中具有自身的形状、体积以及朝向,并占据三维虚拟场景中的一部分空间。
虚拟场景通常由终端等计算机设备中的应用程序生成基于终端中的硬件(比如屏幕)进行展示。该终端可以是智能手机、平板电脑或者电子书阅读器等移动终端;或者,该终端也可以是笔记本电脑或者固定式计算机的个人计算机设备。
请参考图1,其示出了本申请一个实施例提供的用于虚拟场景中的数据处理系统的示意图。该系统可以包括:计算机设备110、终端120和服务器140。
计算机设备110是开发者对应的终端,在该终端上安装有支持虚拟环境的应用程序的开发和编辑平台,开发者可在该终端上对应用程序进行编辑和更新,并将更新后的应用程序安装包通过有线或无线网络传输至服务器140,终端120可从服务器140下载应用程序安装包实现对应用程序的更新。
终端120安装和运行有支持虚拟环境的应用程序,该应用程序可以是多人在线对战程序。当终端120运行应用程序时,终端120的屏幕上显示应用程序的用户界面。该应用程序可以是军事仿真程序、多人在线战术竞技游戏(Multiplayer Online Battle ArenaGames,MOBA)、大逃杀射击游戏、模拟战略游戏(Simulation Game,SLG)的任意一种。终端120是第一用户使用的终端,第一用户使用终端120控制位于虚拟场景中的第一虚拟对象进行活动,第一虚拟对象可以称为第一用户的主控虚拟对象。第一虚拟对象的活动包括但不限于:调整身体姿态、攀爬、爬行、步行、奔跑、骑行、飞行、跳跃、驾驶、拾取、射击、攻击、投掷、释放技能中的至少一种。示意性的,第一虚拟对象是第一虚拟人物,比如仿真人物或动漫人物。终端120的设备类型包括:智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种。图1中仅示出了一个终端,但在不同实施例中存在多个其它终端可以接入服务器140。
计算机设备110以及终端120通过无线网络或有线网络与服务器140相连。
服务器140包括一台服务器、多台服务器组成的服务器集群、云计算平台和虚拟化中心中的至少一种。服务器140用于为支持三维虚拟环境的应用程序提供后台服务。可选地,服务器140承担主要计算工作,终端承担次要计算工作;或者,服务器140承担次要计算工作,终端承担主要计算工作;或者,服务器140和终端之间采用分布式计算架构进行协同计算。其中,虚拟场景可以是三维虚拟场景,或者,虚拟场景也可以是二维虚拟场景。如下实施例以虚拟场景是三维虚拟场景为例。
通过该用于虚拟场景中的数据处理方法,获取虚拟场景中的各个虚拟线段,并且对各个虚拟线段进行分组,分别对各个压缩组进行预压缩,并且基于预压缩结果,确定各个压缩组对应的目标压缩方式,并且分别对各个压缩组中的虚拟线段按照对应的目标压缩方式进行压缩。请参考图2,其示出了本申请一个示例性的实施例提供的用于虚拟场景中的数据处理流程的示意图。其中,上述方法可以由计算机设备执行,该计算机设备可以是终端或者服务器。如图2所示,计算机设备可以通过执行以下步骤来对虚拟场景中的数据进行处理。
步骤201,获取虚拟场景中的各个虚拟线段,虚拟线段用于对虚拟场景中的虚拟对象的指定移动方式进行导航;各个虚拟线段按照在虚拟场景中的位置分为至少两个压缩组。
步骤202,对至少两个压缩组分别进行至少一次预压缩,获得至少两个压缩组分别对应的预压缩结果。
步骤203,基于至少两个压缩组分别对应的预压缩结果,获取至少两个压缩组分别对应的目标压缩方式。
步骤204,基于至少两个压缩组分别对应的目标压缩方式,对至少两个压缩组分别进行压缩。
综上所述,本申请实施例所示的方案,通过虚拟线段作为虚拟场景中的指定移动方式进行导航的导航数据对象,在对虚拟场景中的各个虚拟线段进行压缩时,对各个虚拟线段进行分组,分别对各个压缩组进行预压缩,并且基于预压缩结果,确定各个压缩组对应的目标压缩方式,然后分别对各个压缩组中的虚拟线段按照对应的目标压缩方式进行压缩,从而在压缩时,能够对不同位置的虚拟线段分别进行压缩,采用不同的压缩方式,在保证压缩精度的情况下,尽可能的提高压缩率,从而提高对虚拟线段的整体压缩效果;同时,由于通过分组的方式进行压缩,从而使得运行虚拟场景的计算机设备在解压时也能够按照需要,以压缩组为单位对压缩线段进行解压,从而能够极大的降低内存消耗,提高了计算机设备的内存资源利用率,进而提高计算机设备运行虚拟场景时的整体性能。
请参考图3,其示出了本申请一个示例性的实施例提供的用于虚拟场景中的数据处理方法的方法流程图。其中,上述方法可以由计算机设备执行,该计算机设备可以是终端或者服务器。如图3所示,计算机设备可以通过执行以下步骤来对虚拟场景中的数据进行处理。
步骤301,获取虚拟场景中的各个虚拟线段。
在本申请实施例中,计算机设备获取该虚拟场景中具有的各个虚拟线段,并且将各个虚拟线段分为至少两个压缩组。
其中,虚拟线段用于对虚拟场景中的虚拟对象的指定移动方式进行导航;各个虚拟线段按照在虚拟场景中的位置分为至少两个压缩组。
在一种可能的实现方式中,虚拟场景中的虚拟线段是位于虚拟场景中的模型上的,用于指示虚拟对象通过该虚拟线段执行指定动作,或者通过该虚拟线段控制虚拟对象向指定方向进行移动的线段数据。
其中,上述指定移动方式是指虚拟对象基于虚拟场景中的指定地形进行移动的方式。相应的,上述虚拟线段是依附于虚拟场景中的指定地形设置的。
比如,上述指定移动方式可以是攀爬。相应的,该虚拟线段可以是用于指示虚拟对象向指定方向进行攀爬的攀爬导航线段,即用户可以操控虚拟对象在该虚拟线段上进行着力,从而控制虚拟对象向指定方向进行攀爬。此时,该攀爬导航线段可以位于虚拟场景中包括建筑物以及山体岩石在内的虚拟物体的三维模型上。也就是说,上述指定地形可以是建筑物地形、山体岩石地形等等。
由于虚拟场景中的地形分布是由开发人员认为决定的,因此,虚拟场景中的地形分布具有随机和不均匀的特性,这就导致依附于某一种或者多种指定地形的虚拟线段,在虚拟场景中的分布也是随机和不均匀的,也就是说,在虚拟场景中的不同区域中,包含的虚拟线段的数量以及密集程度可能有较大的差别。在这种情况下,如果使用相同的压缩方式对所有的虚拟场景中的所有虚拟线段进行压缩,则无法保证各个区域中的虚拟线段的压缩效果;例如,在使用单一压缩方式的情况下,如果使用压缩率较高的压缩方式,则会导致部分区域内的虚拟线段的压缩精度较低,而如果使用压缩精度较高的压缩方式,则会导致另一部分区域内的虚拟线段的压缩率不足。
对此,在本申请实施例所示的方案中,当虚拟场景中的虚拟线段被按照位置划分为至少两个压缩组时,不同的压缩组中的虚拟线段的数量和密集程度不同,因此,后续对不同的压缩组采用不同的压缩方式进行压缩,能够尽可能的使虚拟场景中的不同区域的虚拟线段都能够在压缩率和压缩精度之间达到较好平衡,从而在整体上提升对虚拟场景中的虚拟线段的压缩效果。
此外,由于通过常规压缩方式进行数据压缩需要将数据按照同一种压缩方式压缩在一个压缩包中,当需要获取其中任一原始数据时,需要对完整的压缩包进行解压操作,当压缩包中的数据量巨大的情况下,以这种方式进行解压会占用终端大量的资源,从而影响虚拟场景运行的性能。而通过本申请实施例所示的方案,以攀爬导航线为例,由于攀爬导航线用于使终端主控的虚拟对象在指定位置向指定方向执行攀爬动作,所以终端可以按照主控虚拟对象所处的位置,或者接收到的操作指令,对主控虚拟对象周围指定范围内的攀爬导航线所在的压缩组进行解压,通过这种部分解压的方式,在不影响虚拟场景中虚拟对象执行攀爬动作的情况下,大大降低了解压数据占用的内存资源,从而改善了虚拟场景的运行性能。
在一种可能的实现方式中,虚拟线段对应的原始数据包括虚拟线段的两个端点的坐标、虚拟线段的两个端点的法线向量、以及虚拟线段的类型。
在本申请实施例中,虚拟线段的原始数据,是由多种不同数据类型对应的数据组成的混合型数据。
其中,在运行虚拟场景的过程中,终端需要通过解压数据获取包括虚拟线段的位置信息以及导航信息在内的原始数据。虚拟线段的位置信息可以包括虚拟线段两个端点的坐标,虚拟线段的导航信息可以包括虚拟线段两个端点处分别对应的法线向量,虚拟线段的原始数据还包括该虚拟线段的数据类型。
其中,虚拟线段的两个端点的坐标用于确定该虚拟线段在虚拟场景中的坐标位置,虚拟线段的两个端点对应的法线向量可以用来指示虚拟对象通过该虚拟线段的指定移动方式,虚拟线段的类型是指该虚拟线段用于游戏逻辑中的使用类型,数据类型可以是int值。
其中,上述至少两个压缩组可以是由开发人员预先划分好的压缩组,也可以是计算机设备自动对虚拟场景中的各个虚拟线段进行分组得到的。
在一种可能的实现方式中,计算机设备将虚拟场景中位于同一虚拟物体上的虚拟线段,获取为属于第一压缩组。
其中,第一压缩组可以是至少两个压缩组中的任意一个。
也就是说,压缩组的分组规则可以是基于虚拟线段在虚拟场景中所处的位置确定的,在虚拟场景中的指定区域范围内的虚拟线段均可以属于同一压缩组。
在一种可能的实现方式中,响应于同一虚拟物体上的虚拟线段数量小于等于第一阈值,将该虚拟物体上的虚拟线段与位于该虚拟物体附近的其它虚拟物体上的虚拟线段合并为一个压缩组,或者与虚拟线段数量小于等于第一阈值的另一虚拟物体上的虚拟线段进行合并,生成新的压缩组。
其中,进行虚拟线段分组合并的方式可以符合就近原则,即需要进行压缩组合并的虚拟线段与在虚拟场景中位置较近的压缩组或者部分虚拟线段进行合并生成新的压缩组。
示例性的,图4是本申请实施例涉及的一种虚拟场景中虚拟线段分布示意图,如图4所示,在该虚拟场景中存在建筑物、岩石、围墙等构成环境的模型,在建筑物、岩石以及围墙的模型表面可以存在大量虚拟线段411,当用户控制虚拟对象通过握持虚拟线段411上的任意一点,可以基于该虚拟线段411对应的线段法线,控制该虚拟对象向指定的方向进行攀爬。在该虚拟场景的其中一块岩石模型上存在虚拟线段411,由于该部分虚拟线段411均位于该块岩石模型上,所以可以将对应的虚拟线段411划分在A压缩组41中,在该虚拟场景的其中一个建筑物模型上存在多个虚拟线段411,由于该部分虚拟线段411均位于该建筑物模型上,所以可以将对应的虚拟线段411划分在B压缩组42中。在一种情况下,由于在另一块岩石模型区域44上,具有少量的虚拟线段411,将该部分少量虚拟线段411单独划分在一个压缩组中,可能会造成资源浪费,所以可以将该部分少量虚拟线段411合并加入A压缩组41中。在另一种情况下,为了避免资源浪费,当城墙模型区域43上具有少量的虚拟线段411,并且另一块岩石模型区域44上,具有少量的虚拟线段411时,可以将两个区域中的各个虚拟线段411合并为C压缩组,然后进行后续步骤分组压缩。
另外,当获取到虚拟场景中的各个虚拟线段之后,且将各个虚拟线段所属的压缩组划分完成时,为各个压缩组设置对应的索引标识。
步骤302,获取目标压缩组的边框信息。
在本申请实施例中,计算机设备获取目标压缩组对应的边框信息。
其中,边框信息用于指示对应的压缩组在虚拟场景中的包围框的坐标极值;目标压缩组是至少两个压缩组中的任意一个。
在一种可能的实现方式中,通过计算目标压缩组对应的AABB包围盒的坐标最大值以及坐标最小值,获取该目标压缩组对应的边框信息。
其中,在计算目标压缩组对应的整体的边框信息的同时,可以同时确定该目标压缩组中包括的各个虚拟线段对应的边框信息。
在一种可能的实现方式中,当计算机设备遍历该虚拟场景中的各个虚拟线段,并且将各个虚拟线段所属的压缩组划分完成后,统计该虚拟场景中具有的压缩组的数量以及各个压缩组对应的边框信息,并且将各个压缩组对应的索引标识与边框信息写入到编码数据中。
步骤303,基于目标压缩组的边框信息,对目标压缩组中的虚拟线段的端点的坐标进行编码,获得目标压缩组中的虚拟线段各自对应的端点编码数据。
在本申请实施例中,计算机设备通过分析目标压缩组对应的边框信息,对目标压缩组那个的虚拟线段的端点坐标进行编码,获得目标压缩组中的各个虚拟线段各自对应的至少一个端点编码数据。
其中,端点编码数据可以包括中点坐标。同时,端点编码数据也可以包括线段端点坐标。
示例性的,响应于虚拟线段对应的进行编码的是线段中点坐标,通过获取该目标压缩组的边框信息进行中点坐标编码,生成x轴,y轴以及z轴坐标值的编码值。
步骤304,对于目标压缩组中的虚拟线段的中点坐标,按照预压缩方式进行压缩,获得目标压缩组的预压缩坐标数据。
在本申请实施例中,在进行虚拟线段数据的正式压缩之前,需要对目标压缩组中的各个虚拟线段的中点坐标进行预压缩,并且获得各个虚拟线段的中点坐标的预压缩坐标数据。
在一种可能的实现方式中,在对目标压缩组进行第一次预压缩时,将至少两种压缩方式中,与目标压缩组的边框信息相对应的压缩方式,确定为预压缩方式。
其中,预压缩方式是至少两种压缩方式中的一种。压缩方式可以包括32位编码压缩方式、48位编码压缩方式、64位编码压缩方式以及96位编码压缩方式中的至少一种。从32位编码压缩方式到96为编码压缩方式,其对应的压缩精度依次增大,压缩率依次增大。
示例性的,目标压缩组对应的边框信息的大小数值与各个压缩方式具有指定的对应关系,当获取到目标压缩组的边框信息后,可以基于该对应关系确定进行预压缩的预压缩方式。
比如,当对应关系中目标压缩组的边框信息在大于a小于b的范围内时,确定第一次进行预压缩的预压缩方式为32位编码压缩方式;目标压缩组的边框信息在大于b小于c的范围内时,确定第一次进行预压缩的预压缩方式为48位编码压缩方式;目标压缩组的边框信息在大于c小于d的范围内时,确定第一次进行预压缩的预压缩方式为64位编码压缩方式;目标压缩组的边框信息在大于d小于e的范围内时,确定第一次进行预压缩的预压缩方式为96位编码压缩方式。此时,若获取到目标压缩组的边框信息对应的大小为f后,由于f大于b小于c,则可以确定第一次进行预压缩的预压缩方式为48位编码压缩方式。
也就是说,若压缩组在虚拟场景中所占面积属于大区域面积,则预压缩方式为高位编码压缩;若压缩组在虚拟场景中所占面积属于小区域面积,则预压缩方式为低位编码压缩。
在另一种可能的实现方式中,按照从小到大的压缩精度需求对应的压缩方式的顺序,对目标压缩组中各个虚拟线段的中点坐标依次进行编码压缩,即首先获得32位编码压缩方式对应的所述预先压缩结果。
其中,通过确定的预压缩方式对目标压缩组中的各个虚拟线段对应的中点坐标进行压缩,通过转换公式将中点坐标的三维坐标值压缩到该预压缩方式对应的32位、48位、64位或者96位。
示例性的,上述的转换公式为,
其中,Vx为该虚拟线段中点对应的坐标值,Vmin为该目标压缩组对应的边框信息中的最小值,也就是该目标压缩组中的各个中点对应的坐标值的最小值,Vmax为该目标压缩组对应的边框信息中的最大值,也就是该目标压缩组中的各个中点对应的坐标值的最大值,V为中点坐标转化后的编码坐标值。
步骤305,基于目标压缩组的预压缩坐标数据,获取预压缩方式对目标压缩组的压缩精度。
在本申请实施例中,计算机设备基于目标压缩组的预压缩坐标数据,获取该次通过该预压缩方式对目标压缩组进行压缩的压缩精度。
在一种可能的实现方式中,将通过该预压缩方式进行压缩后的预压缩坐标数据进行误差分析,基于误差分析确定对目标压缩组进行压缩的压缩精度。
其中,压缩精度用于指示压缩完成的坐标数据在解压后获得的坐标数据,与压缩前的坐标数据之间的误差值大小,即若压缩完成的坐标数据在解压后获得的坐标数据,与压缩前的坐标数据之间具有的误差较大,则压缩精度较低;反之,若压缩完成的坐标数据在解压后获得的坐标数据,与压缩前的坐标数据之间具有的误差较小,则压缩精度较高。
步骤306,响应于预压缩方式对目标压缩组的压缩精度高于精度阈值,将预压缩方式确定为目标压缩组对应的目标压缩方式。
在本申请实施例中,响应于当前确定的预压缩方式对目标压缩组的压缩精度高于预先设定的精度阈值,则可以确定该预压缩方式进行压缩得到的数据符合预定的需求,所以将当前确定的预压缩方式确定为后续进行正式压缩时的目标压缩方式。
同时,将当前的预压缩方式确定为目标压缩组对应的目标压缩方式之后,结束对目标压缩组进行预压缩的阶段。
步骤307,响应于预压缩方式对目标压缩组的压缩精度不高于精度阈值,将排列在预压缩方式后一位的压缩方式,确定为新的预压缩方式。
在本申请实施例中,响应于当前确定的预压缩方式对目标压缩组的压缩精度不高于预先设定的精度阈值,则可以确定该预压缩方式进行压缩得到的数据不符合预定的需求,所以继续将其他压缩方式作为预压缩方式,并且对中点坐标进行新的预压缩阶段。
其中,至少两种压缩方式按照压缩率从小到大的顺序排列。
比如,压缩方式按照32位编码压缩方式、48位编码压缩方式、64位编码压缩方式以及96位编码压缩方式的顺序进行排列。
在一种可能的实现方式中,响应于预压缩方式对目标压缩组的压缩精度不高于精度阈值,将排列在该预压缩方式后一位的压缩方式,确定为新的预压缩方式,再次进行压缩精度判断,直到压缩精度高于精度阈值,完成目标压缩方式的确定。
步骤308,基于目标压缩组对应的目标压缩方式,对目标压缩组中的虚拟线段各自对应的中点坐标进行编码后,添加至目标压缩组对应的压缩数据块。
在本申请实施例中,通过上述方式将预压缩方式确定为目标压缩方式后,重新对目标压缩组中的各个虚拟线段对应的中点坐标进行目标压缩方式的编码后添加到该目标压缩组对应的压缩数据块中。
其中,基于目标压缩组对应的目标压缩方式,对目标压缩组中的中点坐标进行压缩并且编码到压缩数据块中,同时目标压缩组中的各个虚拟线段还具有其他数据,将各个虚拟线段对应的其他数据进行压缩或者直接写入到该压缩数据块中。
示例性的,如步骤504中所述的内容,对中点坐标通过目标压缩方式进行压缩。通过确定目标压缩方式对目标压缩组中的各个虚拟线段对应的中点坐标进行压缩,首先确定中点对应的向量信息,然后基于向量信息确定x轴、y轴以及z轴分别对应的坐标浮点数值,将对应的坐标浮点数值通过转换公式将中点坐标的三维坐标值进行转换,然后将三个维度上的数值压缩到该目标压缩方式指示的32位、48位、64位或者96位压缩率,获取压缩编码后的中点坐标数值,最后,将该编码压缩后的数值写入压缩数据块中。
步骤309,将目标压缩组的边框信息、目标压缩组对应的目标压缩方式、目标压缩组中的虚拟线段各自对应的点间距、目标压缩组中的虚拟线段各自对应的水平方向参数、以及目标压缩组中的虚拟线段各自对应的类型,添加至目标压缩组对应的压缩数据块。
在本申请实施例中,目标压缩组对应的整体信息还包括目标压缩组的边框信息以及目标压缩组对应的目标压缩方式。目标压缩组中的各个虚拟线段对应的信息还可以包括各自对应的点间距、水平方向参数以及虚拟线段类型。
在一种可能的实现方式中,端点编码数据还包括点间距离、以及水平方向参数。
其中,点间距用于指示对应的虚拟线段的端点与中点之间的距离,或者也可以用于指示两个端点之间的距离;水平方向参数用于指示对应的虚拟线段的水平方向。通过将虚拟线段的两个端点坐标转换为中点坐标、点间距以及水平方向参数可以进一步对需要压缩的数据量进行精简。
在一种可能的实现方式中,目标压缩组的边框信息以及目标压缩组对应的目标压缩方式写入到总压缩数据块的头部。而目标压缩组中的各个虚拟线段对应的信息还可以包括各自对应的点间距、水平方向参数以及虚拟线段类型写入到虚拟线段对应的数据子块的头部。
步骤310,将线段法线向量组中的水平法线向量的压缩数据,以及线段法线向量组中的非水平法线向量,添加至目标压缩组对应的压缩数据块。
在本申请实施例中,计算机设备确定目标压缩组中各个虚拟线段对应的法线向量并且对部分法线向量进行压缩后,添加到压缩数据块中。
在一种可能的实现方式中,基于目标压缩组中的虚拟线段的端点的法线向量,获取目标压缩组中的虚拟线段的法线向量,得到线段法线向量组。
其中,响应于虚拟线段对应的两个端点的法线向量对应的方向一致,将该端点的法线向量确定为虚拟线段对应的法线向量;响应于虚拟线段对应的两个端点的法线向量对应的方向不一致,基于两个端点的法线向量以及虚拟线段对应的向量作几何计算,确定该虚拟线段对应的法线向量。然后,得到包含目标压缩组中的各个虚拟线段对应的法线向量的线段法线向量组。
在一种可能的实现方式中,基于线段法线向量组中的水平法线向量与Z轴之间的方向关系,获取线段法线向量组中的水平法线向量的压缩数据。
其中,线段法线向量组中可以包括水平法线向量以及非水平法线向量,对于水平法线向量,确定该水平法线向量绕Z轴旋转的第一角度,并且将第一角度的数值进行编码压缩,将编码压缩后的数值写入压缩数据块;对于非水平法线向量,直接将非水平法线向量进行编码后,写入压缩数据块。
比如,若虚拟线段对应的法线向量为水平法线向量,确定该水平法线向量为绕Z轴旋转的0-360度之间的某一角度值,则将该0-360的数值编码到Unit8的范围内,即将0-360映射到0-255的范围内,然后将映射后的数值写入压缩数据块中。
其中,将水平法线向量进行压缩的公式如下所示,
unit NormalCode=ArcCos(Dot(Normal,Forward))*(180/PI)/360*255
步骤311,将至少两个压缩组分别对应的压缩数据块进行组合,获得虚拟场景中的各个虚拟线段对应的压缩数据。
在本申请实施例中,将各个压缩组对应的压缩数据块进行组合,生成的总压缩数据包,包含该虚拟场景中的各个虚拟线段对应的压缩数据。
其中,压缩数据的数据头中包含至少两个压缩组分别对应的压缩数据块的数量,以及至少两个压缩组分别对应的压缩数据块在压缩数据中的位置信息。
在一种可能的实现方式中,同一个压缩组对应具有一个压缩数据块,同一虚拟场景中的各个虚拟线段对应的压缩数据块可以合并成一个压缩数据包。各个压缩数据包均可以包括三层。
示例性的,图5是本申请实施例涉及的一种虚拟场景对应的压缩数据包的编码结构示意图,如图5所示,第一层是虚拟场景对应的压缩数据包51,该压缩数据包的总的头部(TrackHead)编码、偏移地址(TrackOffset)编码以及主体(Track)编码,其中,该虚拟场景中的压缩组的数量可以写入压缩数据包的总的头部(TrackHead)编码,该虚拟场景中的各个压缩组对应的压缩数据块的存储地址可以写入该压缩数据包的偏移地址(TrackOffset)编码中。主体(Track)编码中包括数据类型。具体的编码格式如下表1所示。
表1
第二层是各个压缩组对应的压缩数据块52,各个压缩数据块的头部(Head)编码、固定编码以及主体(TrackBody)编码,其中,目标压缩组中的虚拟线段数量、目标压缩组的边框信息以及目标压缩组对应的目标压缩方式写入第二层编码中。具体的编码格式如下表2所示。
表2
第三层是各个虚拟线段对应的压缩数据块53,其中,同一虚拟线段对应的虚拟线段类型、法线编码方式、点间距离以及水平方向参数可以一起编码到该层对应的Unit32数据格式的(PointHead)头编码中,将中心点的压缩编码坐标以及法线向量编码压缩数据分别写入到该层的(PointBody)主体编码中。具体的编码格式如下表3所示。
表3
上述步骤301到步骤311均可以通过代码的形式进行执行,将虚拟场景中的虚拟线段进行分组压缩的相关代码如下所示。
比如,以端游刺客信条为例,在虚拟场景中的一个小岛的攀爬线数据量就高达30万以上,在原始攀爬线数据格式下其内存占用高达50兆,在进行上述方案的压缩后,攀爬线数据文件大小可以达到不超过5兆,当应用在大世界游戏中,其预估虚拟场景大小将是现在的10倍以上,同时还包含了不同的岛屿,通过上述方案对攀爬线数据进行压缩,可以使游戏内存占用的问题得到了极大的优化。
综上所述,本申请实施例所示的方案,通过虚拟线段作为虚拟场景中的指定移动方式进行导航的导航数据对象,在对虚拟场景中的各个虚拟线段进行压缩时,对各个虚拟线段进行分组,分别对各个压缩组进行预压缩,并且基于预压缩结果,确定各个压缩组对应的目标压缩方式,然后分别对各个压缩组中的虚拟线段按照对应的目标压缩方式进行压缩,从而在压缩时,能够对不同位置的虚拟线段分别进行压缩,采用不同的压缩方式,在保证压缩精度的情况下,尽可能的提高压缩率,从而提高对虚拟线段的整体压缩效果;同时,由于通过分组的方式进行压缩,从而使得运行虚拟场景的计算机设备在解压时也能够按照需要,以压缩组为单位对压缩线段进行解压,从而能够极大的降低内存消耗,提高了计算机设备的内存资源利用率,进而提高计算机设备运行虚拟场景时的整体性能。
请参考图6,其示出了本申请一个示例性的实施例提供的用于虚拟场景中的数据处理流程的示意图。其中,上述方法可以由计算机设备执行,该计算机设备可以是终端或者服务器。如图6所示,以计算机设备为终端为例,终端可以通过执行以下步骤来对虚拟场景中的数据进行解压处理。
步骤601,基于虚拟对象在虚拟场景中的位置信息,确定目标压缩组;虚拟场景中的各个虚拟线段按照在虚拟场景中的位置分为至少两个压缩组,目标压缩组是至少两个压缩组中的至少一个;虚拟线段用于对虚拟场景中的虚拟对象的指定移动方式进行导航。
在本申请实施例中,用户控制虚拟对象在虚拟场景中移动,终端可以实时获取虚拟对象在虚拟场景中的位置坐标,通过该位置坐标可以确定该区域对应的目标压缩组。
步骤602,从各个虚拟线段对应的压缩数据中,读取目标压缩组对应的压缩数据块。
在本申请实施例中,终端基于确定的目标压缩组查找对应的压缩数据块,并且读取目标压缩组对应的压缩数据块。
其中,上述各个虚拟线段对应的压缩数据,可以是按照上述图3所示实施例中的方案,对各个虚拟线段进行压缩得到的。
步骤603,获取目标压缩组对应的目标压缩方式;目标压缩方式是基于至少两个压缩组分别对应的预压缩结果确定;且预压缩结果是对对应的压缩组分别按照至少两种压缩方式进行预压缩得到的。
在本申请实施例中,基于压缩数据块的编码格式,可以获取该目标压缩组对应的目标压缩方式。
步骤604,基于目标压缩组对应的目标压缩方式,对目标压缩组对应的压缩数据块进行解压,获得目标压缩组中的虚拟线段的原始数据。
在本申请实施例中,终端通过获取到的目标压缩方式对目标压缩组对应的压缩数据块进行解压,获得目标压缩组中的虚拟线段对应的原始数据。
其中,对中点坐标进行解压的公式如下,
V=Vx*(Vmax-Vmin)+Vmin
对水平法线向量的解压公式为,
FVector Normal=forward.RotateAngleAxis(code/255.f*360.f,Up)
其中,Up为世界空间默认的单位方向向量。
步骤605,加载目标压缩组中的虚拟线段的原始数据。
在一种可能的实现方式中,终端加载目标压缩组中的虚拟线段的原始数据后,利用虚拟线段的端点坐标进行三维空间查找结构的构建。
其中,三维空间查找可以使用八叉树的方法,或者也可以使用控件搜索算法进行搜索。
比如,在游戏过程中,当虚拟对象进行攀爬操作时,攀爬线是给攀爬功能进行导航的攀爬导航线,可以通过对空间进行攀爬线搜索,实时搜索出该区域的攀爬线对应的索引标识,然后,终端依据该攀爬线对应的索引标识进行查找,可以在压缩数据包的总头部上查找到该攀爬线属于哪个目标压缩组以及对应的偏移地址,然后可以采用直接寻址的方式对压缩数据块进行流式解压,边解压边使用,其中,解压的流程和压缩对应的流程完全一致,在此不再赘述。
综上所述,本申请实施例所示的方案,通过虚拟线段作为虚拟场景中的指定移动方式进行导航的导航数据对象,在对虚拟场景中的各个虚拟线段进行压缩时,对各个虚拟线段进行分组,分别对各个压缩组进行预压缩,并且基于预压缩结果,确定各个压缩组对应的目标压缩方式,然后分别对各个压缩组中的虚拟线段按照对应的目标压缩方式进行压缩,由于通过分组的方式进行压缩,从而使得运行虚拟场景的计算机设备在解压时也能够按照需要,以压缩组为单位对压缩线段进行解压,从而能够极大的降低内存消耗,提高了计算机设备的内存资源利用率,进而提高计算机设备运行虚拟场景时的整体性能。
图7是根据一示例性实施例示出的一种用于虚拟场景中的数据处理装置的框图,如图7所示,该装置用于计算机设备中,以执行图2或图3对应实施例所示的方法的全部或部分步骤。该用于虚拟场景中的数据处理装置可以包括:
线段获取模块710,用于获取所述虚拟场景中的各个虚拟线段,所述虚拟线段用于对所述虚拟场景中的虚拟对象的指定移动方式进行导航;各个所述虚拟线段按照在所述虚拟场景中的位置分为至少两个压缩组;
预压缩模块720,用于对至少两个所述压缩组分别进行至少一次预压缩,获得至少两个所述压缩组分别对应的预压缩结果;
目标获取模块730,用于基于至少两个所述压缩组分别对应的预压缩结果,获取至少两个所述压缩组分别对应的目标压缩方式;
压缩模块740,用于基于至少两个所述压缩组分别对应的目标压缩方式,对至少两个所述压缩组分别进行压缩。
在一种可能的实现方式中,所述虚拟线段对应的原始数据包括所述虚拟线段的两个端点的坐标、所述虚拟线段的两个端点的法线向量、以及所述虚拟线段的类型。
在一种可能的实现方式中,所述预压缩模块740,包括:
边框获取子模块,用于获取目标压缩组的边框信息;所述边框信息用于指示对应的所述压缩组在所述虚拟场景中的包围框的坐标极值;所述目标压缩组是至少两个所述压缩组中的任意一个;
点数据获取子模块,用于基于所述目标压缩组的边框信息,对将所述目标压缩组中的所述虚拟线段的端点的坐标进行编码,获得所述目标压缩组中的所述虚拟线段各自对应的端点编码数据,所述端点编码数据包括中点坐标;
预数据获取子模块,用于对于所述目标压缩组中的所述虚拟线段的中点坐标,按照预压缩方式进行压缩,获得所述目标压缩组的预压缩坐标数据;所述预压缩方式是至少两种压缩方式中的一种;
所述目标获取模块730,包括:
精度获取子模块,用于基于所述目标压缩组的预压缩坐标数据,获取所述预压缩方式对所述目标压缩组的压缩精度;
目标确定子模块,用于响应于所述预压缩方式对所述目标压缩组的压缩精度高于精度阈值,将所述预压缩方式确定为所述目标压缩组对应的目标压缩方式。
在一种可能的实现方式中,至少两种所述压缩方式按照压缩率从小到大的顺序排列,所述装置还包括:
预方式更新子模块,用于响应于所述预压缩方式对所述目标压缩组的压缩精度不高于所述精度阈值,将排列在所述预压缩方式后一位的所述压缩方式,确定为新的所述预压缩方式。
在一种可能的实现方式中,所述装置还包括:
预方式确定子模块,用于在对所述目标压缩组进行第一次预压缩时,将至少两种所述压缩方式中,与所述目标压缩组的边框信息相对应的所述压缩方式,确定为所述预压缩方式。
在一种可能的实现方式中,所述压缩模块740,包括:
第一写入子模块,用于基于所述目标压缩组对应的目标压缩方式,对目标压缩组中的所述虚拟线段各自对应的所述中点坐标进行编码后,添加至所述目标压缩组对应的压缩数据块。
在一种可能的实现方式中,所述压缩模块740,还包括:
向量获取子模块,用于基于所述目标压缩组中的所述虚拟线段的端点的法线向量,获取所述目标压缩组中的所述虚拟线段的法线向量,得到线段法线向量组;
向量压缩子模块,用于基于所述线段法线向量组中的水平法线向量与Z轴之间的方向关系,获取所述线段法线向量组中的水平法线向量的压缩数据;
第二写入子模块,用于将所述线段法线向量组中的水平法线向量的压缩数据,以及线段法线向量组中的非水平法线向量,添加至所述目标压缩组对应的压缩数据块。
在一种可能的实现方式中,所述端点编码数据还包括点间距离、以及水平方向参数;所述点间距用于指示对应的所述虚拟线段的端点与中点之间的距离;所述水平方向参数用于指示对应的所述虚拟线段的水平方向;
所述压缩模块740,还包括:
第三写入子模块,用于将所述目标压缩组的边框信息、所述目标压缩组对应的目标压缩方式、所述目标压缩组中的所述虚拟线段各自对应的点间距、所述目标压缩组中的所述虚拟线段各自对应的水平方向参数、以及所述目标压缩组中的所述虚拟线段各自对应的类型,添加至所述目标压缩组对应的压缩数据块。
在一种可能的实现方式中,所述装置还包括:
压缩数据获取子模块,用于将至少两个所述压缩组分别对应的压缩数据块进行组合,获得所述虚拟场景中的各个虚拟线段对应的压缩数据;
其中,所述压缩数据的数据头中包含至少两个所述压缩组分别对应的压缩数据块的数量,以及至少两个所述压缩组分别对应的压缩数据块在所述压缩数据中的位置信息。
在一种可能的实现方式中,所述线段获取模块710,包括:
分组子模块,用于将所述虚拟场景中位于同一虚拟物体上的所述虚拟线段,获取为属于第一压缩组;所述第一压缩组是至少两个所述压缩组中的任意一个。
综上所述,本申请实施例所示的方案,通过虚拟线段作为虚拟场景中的指定移动方式进行导航的导航数据对象,在对虚拟场景中的各个虚拟线段进行压缩时,对各个虚拟线段进行分组,分别对各个压缩组进行预压缩,并且基于预压缩结果,确定各个压缩组对应的目标压缩方式,然后分别对各个压缩组中的虚拟线段按照对应的目标压缩方式进行压缩,从而在压缩时,能够对不同位置的虚拟线段分别进行压缩,采用不同的压缩方式,在保证压缩精度的情况下,尽可能的提高压缩率,从而提高对虚拟线段的整体压缩效果;同时,由于通过分组的方式进行压缩,从而使得运行虚拟场景的计算机设备在解压时也能够按照需要,以压缩组为单位对压缩线段进行解压,从而能够极大的降低内存消耗,提高了计算机设备的内存资源利用率,进而提高计算机设备运行虚拟场景时的整体性能。
图8是根据一示例性实施例示出的一种用于虚拟场景中的数据处理装置的框图,如图8所示,该装置用于计算机设备中,以执行图3或图6对应实施例所示的方法的全部或部分步骤。该用于虚拟场景中的数据处理装置可以包括:
目标确定模块810,用于基于虚拟对象在所述虚拟场景中的位置信息,确定目标压缩组;所述虚拟场景中的各个虚拟线段按照在所述虚拟场景中的位置分为至少两个压缩组,所述目标压缩组是至少两个所述压缩组中的至少一个;所述虚拟线段用于对所述虚拟场景中的虚拟对象的指定移动方式进行导航;
压缩读取模块820,用于从各个所述虚拟线段对应的压缩数据中,读取所述目标压缩组对应的压缩数据块;
方式获取模块830,用于获取所述目标压缩组对应的目标压缩方式;所述目标压缩方式是基于至少两个所述压缩组分别对应的预压缩结果确定;且所述预压缩结果是对对应的所述压缩组分别按照至少两种压缩方式进行预压缩得到的;
解压模块840,用于基于所述目标压缩组对应的目标压缩方式,对所述目标压缩组对应的压缩数据块进行解压,获得所述目标压缩组中的所述虚拟线段的原始数据;
数据加载模块850,用于加载所述目标压缩组中的所述虚拟线段的原始数据。
综上所述,本申请实施例所示的方案,通过虚拟线段作为虚拟场景中的指定移动方式进行导航的导航数据对象,在对虚拟场景中的各个虚拟线段进行压缩时,对各个虚拟线段进行分组,分别对各个压缩组进行预压缩,并且基于预压缩结果,确定各个压缩组对应的目标压缩方式,然后分别对各个压缩组中的虚拟线段按照对应的目标压缩方式进行压缩,从而在压缩时,能够对不同位置的虚拟线段分别进行压缩,采用不同的压缩方式,在保证压缩精度的情况下,尽可能的提高压缩率,从而提高对虚拟线段的整体压缩效果;同时,由于通过分组的方式进行压缩,从而使得运行虚拟场景的计算机设备在解压时也能够按照需要,以压缩组为单位对压缩线段进行解压,从而能够极大的降低内存消耗,提高了计算机设备的内存资源利用率,进而提高计算机设备运行虚拟场景时的整体性能。
图9是根据一示例性实施例示出的一种计算机设备的结构示意图。该计算机设备可以实现为上述各个方法实施例中的分布式系统。所述计算机设备900包括中央处理单元(CPU,Central Processing Unit)901、包括随机存取存储器(Random Access Memory,RAM)902和只读存储器(Read-Only Memory,ROM)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。所述计算机设备900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统906,和用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备907。
所述大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。所述大容量存储设备907及其相关联的计算机可读介质为计算机设备900提供非易失性存储。也就是说,所述大容量存储设备907可以包括诸如硬盘或者光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、闪存或其他固态存储其技术,CD-ROM、或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。
计算机设备900可以通过连接在所述系统总线905上的网络接口单元911连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器901通过执行该一个或一个以上程序来实现图2或图3所示的方法的全部或者部分步骤。
图10是根据一示例性实施例示出的计算机设备1000的结构框图。该计算机设备1000可以是用户终端,比如智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备1000还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,计算机设备1000包括有:处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本申请中方法实施例提供的方法中的全部或者部分步骤。
在一些实施例中,计算机设备1000还可选包括有:外围设备接口1003和至少一个外围设备。处理器1001、存储器1002和外围设备接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1003相连。具体地,外围设备包括:射频电路1004、显示屏1005、摄像头组件1006、音频电路1007、定位组件1008和电源1009中的至少一种。
外围设备接口1003可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1001和存储器1002。
射频电路1004用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。
显示屏1005用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1005可以为一个,设置计算机设备1000的前面板;在另一些实施例中,显示屏1005可以为至少两个,分别设置在计算机设备1000的不同表面或呈折叠设计;在再一些实施例中,显示屏1005可以是柔性显示屏,设置在计算机设备1000的弯曲表面上或折叠面上。甚至,显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。显示屏1005可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1006用于采集图像或视频。
音频电路1007可以包括麦克风和扬声器。
定位组件1008用于定位计算机设备1000的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。
电源1009用于为计算机设备1000中的各个组件进行供电。
在一些实施例中,计算机设备1000还包括有一个或多个传感器1010。该一个或多个传感器1010包括但不限于:加速度传感器1011、陀螺仪传感器1012、压力传感器1013、指纹传感器1014、光学传感器1015以及接近传感器1016。
本领域技术人员可以理解,图10中示出的结构并不构成对计算机设备1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括至少一条指令、至少一段程序、代码集或指令集的存储器,上述至少一条指令、至少一段程序、代码集或指令集可由处理器执行以完成上述图2、图3或图4对应实施例所示的方法的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是ROM(Read-OnlyMemory,只读存储器)、随机存取存储器(Random Access Memory,RAM)、CD-ROM(CompactDisc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面的各种可选实现方式中提供的用于虚拟场景中的数据处理方法。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例所示的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (15)
1.一种用于虚拟场景的数据处理方法,其特征在于,所述方法包括:
获取所述虚拟场景中的各个虚拟线段,所述虚拟线段用于对所述虚拟场景中的虚拟对象的指定移动方式进行导航;各个所述虚拟线段按照在所述虚拟场景中的位置分为至少两个压缩组;
对至少两个所述压缩组分别进行至少一次预压缩,获得至少两个所述压缩组分别对应的预压缩结果;
基于至少两个所述压缩组分别对应的预压缩结果,获取至少两个所述压缩组分别对应的目标压缩方式;
基于至少两个所述压缩组分别对应的目标压缩方式,对至少两个所述压缩组分别进行压缩。
2.根据权利要求1所述的方法,其特征在于,所述虚拟线段对应的原始数据包括所述虚拟线段的两个端点的坐标、所述虚拟线段的两个端点的法线向量、以及所述虚拟线段的类型。
3.根据权利要求2所述的方法,其特征在于,所述对至少两个所述压缩组分别进行至少一次预压缩,获得至少两个所述压缩组分别对应的预压缩结果,包括:
获取目标压缩组的边框信息;所述边框信息用于指示对应的所述压缩组在所述虚拟场景中的包围框的坐标极值;所述目标压缩组是至少两个所述压缩组中的任意一个;
基于所述目标压缩组的边框信息,对所述目标压缩组中的所述虚拟线段的端点的坐标进行编码,获得所述目标压缩组中的所述虚拟线段各自对应的端点编码数据,所述端点编码数据包括中点坐标;
对于所述目标压缩组中的所述虚拟线段的中点坐标,按照预压缩方式进行压缩,获得所述目标压缩组的预压缩坐标数据;所述预压缩方式是至少两种压缩方式中的一种;
所述基于至少两个所述压缩组分别对应的预压缩结果,获取至少两个所述压缩组分别对应的目标压缩方式,包括:
基于所述目标压缩组的预压缩坐标数据,获取所述预压缩方式对所述目标压缩组的压缩精度;
响应于所述预压缩方式对所述目标压缩组的压缩精度高于精度阈值,将所述预压缩方式确定为所述目标压缩组对应的目标压缩方式。
4.根据权利要求3所述的方法,其特征在于,至少两种所述压缩方式按照压缩率从小到大的顺序排列,所述方法还包括:
响应于所述预压缩方式对所述目标压缩组的压缩精度不高于所述精度阈值,将排列在所述预压缩方式后一位的所述压缩方式,确定为新的所述预压缩方式。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在对所述目标压缩组进行第一次预压缩时,将至少两种所述压缩方式中,与所述目标压缩组的边框信息相对应的所述压缩方式,确定为所述预压缩方式。
6.根据权利要求3所述的方法,其特征在于,所述基于至少两个所述压缩组分别对应的目标压缩方式,对至少两个所述压缩组分别进行压缩,包括:
基于所述目标压缩组对应的目标压缩方式,对目标压缩组中的所述虚拟线段各自对应的所述中点坐标进行编码后,添加至所述目标压缩组对应的压缩数据块。
7.根据权利要求6所述的方法,其特征在于,所述基于至少两个所述压缩组分别对应的目标压缩方式,对至少两个所述压缩组分别进行压缩,还包括:
基于所述目标压缩组中的所述虚拟线段的端点的法线向量,获取所述目标压缩组中的所述虚拟线段的法线向量,得到线段法线向量组;
基于所述线段法线向量组中的水平法线向量与Z轴之间的方向关系,获取所述线段法线向量组中的水平法线向量的压缩数据;
将所述线段法线向量组中的水平法线向量的压缩数据,以及线段法线向量组中的非水平法线向量,添加至所述目标压缩组对应的压缩数据块。
8.根据权利要求6所述的方法,其特征在于,所述端点编码数据还包括点间距离、以及水平方向参数;所述点间距用于指示对应的所述虚拟线段的端点与中点之间的距离;所述水平方向参数用于指示对应的所述虚拟线段的水平方向;
所述基于至少两个所述压缩组分别对应的目标压缩方式,对至少两个所述压缩组分别进行压缩,还包括:
将所述目标压缩组的边框信息、所述目标压缩组对应的目标压缩方式、所述目标压缩组中的所述虚拟线段各自对应的点间距、所述目标压缩组中的所述虚拟线段各自对应的水平方向参数、以及所述目标压缩组中的所述虚拟线段各自对应的类型,添加至所述目标压缩组对应的压缩数据块。
9.根据权利要求6至8任一所述的方法,其特征在于,所述方法还包括:
将至少两个所述压缩组分别对应的压缩数据块进行组合,获得所述虚拟场景中的各个虚拟线段对应的压缩数据;
其中,所述压缩数据的数据头中包含至少两个所述压缩组分别对应的压缩数据块的数量,以及至少两个所述压缩组分别对应的压缩数据块在所述压缩数据中的位置信息。
10.根据权利要求1所述的方法,其特征在于,所述获取所述虚拟场景中的各个虚拟线段,包括:
将所述虚拟场景中位于同一虚拟物体上的所述虚拟线段,获取为属于第一压缩组;所述第一压缩组是至少两个所述压缩组中的任意一个。
11.一种用于虚拟场景的数据处理方法,其特征在于,所述方法包括:
基于虚拟对象在所述虚拟场景中的位置信息,确定目标压缩组;所述虚拟场景中的各个虚拟线段按照在所述虚拟场景中的位置分为至少两个压缩组,所述目标压缩组是至少两个所述压缩组中的至少一个;所述虚拟线段用于对所述虚拟场景中的虚拟对象的指定移动方式进行导航;
从各个所述虚拟线段对应的压缩数据中,读取所述目标压缩组对应的压缩数据块;
获取所述目标压缩组对应的目标压缩方式;所述目标压缩方式是基于至少两个所述压缩组分别对应的预压缩结果确定;且所述预压缩结果是对对应的所述压缩组分别按照至少两种压缩方式进行预压缩得到的;
基于所述目标压缩组对应的目标压缩方式,对所述目标压缩组对应的压缩数据块进行解压,获得所述目标压缩组中的所述虚拟线段的原始数据;
加载所述目标压缩组中的所述虚拟线段的原始数据。
12.一种用于虚拟场景中的数据处理装置,其特征在于,所述装置包括:
线段获取模块,用于获取所述虚拟场景中的各个虚拟线段,所述虚拟线段用于对所述虚拟场景中的虚拟对象的指定移动方式进行导航;各个所述虚拟线段按照在所述虚拟场景中的位置分为至少两个压缩组;
预压缩模块,用于对至少两个所述压缩组分别进行至少一次预压缩,获得至少两个所述压缩组分别对应的预压缩结果;
目标获取模块,用于基于至少两个所述压缩组分别对应的预压缩结果,获取至少两个所述压缩组分别对应的目标压缩方式;
压缩模块,用于基于至少两个所述压缩组分别对应的目标压缩方式,对至少两个所述压缩组分别进行压缩。
13.一种用于虚拟场景中的数据处理装置,其特征在于,所述装置包括:
目标确定模块,用于基于虚拟对象在所述虚拟场景中的位置信息,确定目标压缩组;所述虚拟场景中的各个虚拟线段按照在所述虚拟场景中的位置分为至少两个压缩组,所述目标压缩组是至少两个所述压缩组中的至少一个;所述虚拟线段用于对所述虚拟场景中的虚拟对象的指定移动方式进行导航;
压缩读取模块,用于从各个所述虚拟线段对应的压缩数据中,读取所述目标压缩组对应的压缩数据块;
方式获取模块,用于获取所述目标压缩组对应的目标压缩方式;所述目标压缩方式是基于至少两个所述压缩组分别对应的预压缩结果确定;且所述预压缩结果是对对应的所述压缩组分别按照至少两种压缩方式进行预压缩得到的;
解压模块,用于基于所述目标压缩组对应的目标压缩方式,对所述目标压缩组对应的压缩数据块进行解压,获得所述目标压缩组中的所述虚拟线段的原始数据;
数据加载模块,用于加载所述目标压缩组中的所述虚拟线段的原始数据。
14.一种计算机设备,其特征在于,计算机设备包含处理器和存储器,所述存储器中存储由至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至权利要求11中任一项所述的用于虚拟场景中的数据处理方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至权利要求11中任一项所述的用于虚拟场景中的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110350730.4A CN112915540B (zh) | 2021-03-31 | 2021-03-31 | 用于虚拟场景中的数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110350730.4A CN112915540B (zh) | 2021-03-31 | 2021-03-31 | 用于虚拟场景中的数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112915540A true CN112915540A (zh) | 2021-06-08 |
CN112915540B CN112915540B (zh) | 2022-11-25 |
Family
ID=76173511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110350730.4A Active CN112915540B (zh) | 2021-03-31 | 2021-03-31 | 用于虚拟场景中的数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112915540B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070471A (zh) * | 2021-11-29 | 2022-02-18 | 广州文远知行科技有限公司 | 一种测试数据包传输方法、装置、系统、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4520506A (en) * | 1981-10-20 | 1985-05-28 | Harris Corporation | Method and system for compression and reconstruction of cultural data for use in a digital moving map display |
CN101548261A (zh) * | 2006-09-18 | 2009-09-30 | 笔尖实验室股份有限公司 | 具有绝对寻址编码图案的装置以及产生所述图案的方法 |
CN101561819A (zh) * | 2009-03-05 | 2009-10-21 | 中国测绘科学研究院 | 一种矢量数据精简与压缩方法以及相应的解压缩方法 |
-
2021
- 2021-03-31 CN CN202110350730.4A patent/CN112915540B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4520506A (en) * | 1981-10-20 | 1985-05-28 | Harris Corporation | Method and system for compression and reconstruction of cultural data for use in a digital moving map display |
CN101548261A (zh) * | 2006-09-18 | 2009-09-30 | 笔尖实验室股份有限公司 | 具有绝对寻址编码图案的装置以及产生所述图案的方法 |
CN101561819A (zh) * | 2009-03-05 | 2009-10-21 | 中国测绘科学研究院 | 一种矢量数据精简与压缩方法以及相应的解压缩方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070471A (zh) * | 2021-11-29 | 2022-02-18 | 广州文远知行科技有限公司 | 一种测试数据包传输方法、装置、系统、设备和介质 |
CN114070471B (zh) * | 2021-11-29 | 2023-11-21 | 广州禹迹科技有限公司 | 一种测试数据包传输方法、装置、系统、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112915540B (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102376390B1 (ko) | 메타버스 서비스를 제공하는 방법 및 장치 | |
Stafford et al. | Implementation of god-like interaction techniques for supporting collaboration between outdoor AR and indoor tabletop users | |
US20170154468A1 (en) | Method and electronic apparatus for constructing virtual reality scene model | |
KR20220083839A (ko) | 가상 장면을 표시하는 방법 및 장치, 그리고 기기 및 저장 매체 | |
CN113244614B (zh) | 图像画面展示方法、装置、设备及存储介质 | |
US11798223B2 (en) | Potentially visible set determining method and apparatus, device, and storage medium | |
CN109903366A (zh) | 虚拟模型的渲染方法及装置、存储介质及电子设备 | |
CN111773686A (zh) | 动画的生成方法和装置、存储介质、电子装置 | |
CN112927332B (zh) | 骨骼动画更新方法、装置、设备及存储介质 | |
CN113952720A (zh) | 游戏场景渲染方法、装置、电子设备及存储介质 | |
CN112717404A (zh) | 虚拟对象的移动处理方法、装置、电子设备及存储介质 | |
CN113129411A (zh) | 一种仿生动画生成方法及电子设备 | |
CN112915540B (zh) | 用于虚拟场景中的数据处理方法、装置、设备及存储介质 | |
CN115082609A (zh) | 图像渲染方法、装置、存储介质及电子设备 | |
CN115063518A (zh) | 轨迹渲染方法、装置、电子设备及存储介质 | |
KR20230145430A (ko) | 가상 환경에서의 좌표축 표시 방법 및 장치, 그리고 단말기 및 매체 | |
CN115082607A (zh) | 虚拟角色头发渲染方法、装置、电子设备和存储介质 | |
CN112494941B (zh) | 虚拟对象的显示控制方法及装置、存储介质、电子设备 | |
CN112206519B (zh) | 实现游戏场景环境变化的方法、装置、存储介质及计算机设备 | |
US20230401772A1 (en) | Animation frame display method and apparatus, device, and storage medium | |
CN115888085A (zh) | 游戏信息的处理方法、装置和存储介质 | |
CN112699223B (zh) | 数据搜索方法、装置、电子设备及存储介质 | |
CN113018865B (zh) | 攀爬线生成方法、装置、计算机设备及存储介质 | |
CN115382208A (zh) | 三维指引地图生成方法、装置、存储介质和电子装置 | |
CN111292399B (zh) | 在gis系统基于粒子系统构建三维场景动画方法及装置 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40046007 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |