CN112070910B - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN112070910B
CN112070910B CN202011264395.8A CN202011264395A CN112070910B CN 112070910 B CN112070910 B CN 112070910B CN 202011264395 A CN202011264395 A CN 202011264395A CN 112070910 B CN112070910 B CN 112070910B
Authority
CN
China
Prior art keywords
transformation
dimension
attribute data
data
determining
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
Application number
CN202011264395.8A
Other languages
English (en)
Other versions
CN112070910A (zh
Inventor
朱贝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Ant Zhixin Hangzhou Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ant Zhixin Hangzhou Information Technology Co ltd filed Critical Ant Zhixin Hangzhou Information Technology Co ltd
Priority to CN202011264395.8A priority Critical patent/CN112070910B/zh
Publication of CN112070910A publication Critical patent/CN112070910A/zh
Application granted granted Critical
Publication of CN112070910B publication Critical patent/CN112070910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling 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/537Controlling 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/5372Controlling 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本说明书提供数据处理方法及装置,其中所述数据处理方法包括:获取发生几何变换的目标对象对应的几何变换信息;根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度;遍历所述第二变换维度包含的属性数据的变换标记,选择所述变换标记发生改变的属性数据作为初始属性数据;基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,并按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新。

Description

数据处理方法及装置
技术领域
本说明书涉及数据处理技术领域,特别涉及数据处理方法及装置。
背景技术
随着计算机技术的发展,计算机图形技术已经成为许多产业的技术基础,如动画、游戏、影视特效等等,不仅能够更贴近与用户的真实感觉,还能够提升用户的感官体验,而这些产业优先选择的呈现方式都是通过3D图像实现,从而更进一步提高用户的体验效果。而通过3D技术呈现用户需要观看或体验的内容,不仅需要计算机硬件的支持,还需要3D技术所使用的引擎具有较好的优化能力才能够实现;然而,现有技术中的大部分3D技术所使用的引擎都是利用脏标记优化了物体的模型矩阵的计算,没有最大化的优化计算性能,并且额外浪费的计算资源也比较多,从而导致最终呈现给用户的观看或体验的效果是较差的,故亟需一种有效的方案以解决该问题。
发明内容
有鉴于此,本说明书实施例提供了一种数据处理方法。本说明书同时涉及一种数据处理装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据处理方法,包括:
获取发生几何变换的目标对象对应的几何变换信息;
根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度;
遍历所述第二变换维度包含的属性数据的变换标记,选择所述变换标记发生改变的属性数据作为初始属性数据;
基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,并按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新。
可选的,所述按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新步骤执行之后,还包括:
根据更新结果确定所述初始属性数据对应的第一目标属性数据,以及所述关联属性数据对应的第二目标属性数据;
按照所述第一目标属性数据和所述第二目标属性数据对所述目标对象和所述关联对象进行渲染并展示。
可选的,所述根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度步骤执行之前,还包括:
根据所述目标对象和所述关联对象的几何关系,建立所述目标对象的变换维度和所述关联对象的变换维度的关联关系;
相应的,所述确定与所述第一变换维度具有关联关系的关联对象的第二变换维度,包括:
基于所述关联关系确定所述第一变换维度对应的所述关联对象的目标变换维度,并将所述目标变换维度作为所述第二变换维度。
可选的,所述基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据步骤执行之前,还包括:
对各个变换维度包含的属性数据进行划分,获得具有层级关系的属性数据组成的第一数据集合,以及具有对等关系的属性数据组成的第二数据集合;
建立所述第一数据集合包含的各个属性数据之间的至少一个对等计算关系,以及所述第二数据集合包含的各个属性数据之间的至少一个层级计算关系;
对至少一个所述对等计算关系和至少一个所述层级计算关系进行整合,获得所述计算关系。
可选的,所述基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,包括:
基于所述计算关系确定与所述初始属性数据具有对等计算关系或层级计算关系的所述关联属性数据。
可选的,所述根据所述几何变换信息确定所述目标对象的第一变换维度,包括:
对所述几何变换信息进行解析,获得所述目标对象的第一坐标信息和第二坐标信息;
确定所述第一坐标信息和所述第二坐标信息的变换关系,并根据所述变换关系确定所述目标对象的所述第一变换维度。
可选的,所述确定与所述第一变换维度具有关联关系的关联对象的第二变换维度,包括:
确定与所述目标对象具有关联关系的所述关联对象,并确定所述关联对象的变换维度;
基于预设的维度关系确定所述第一变换维度对应的目标变换维度,并在所述关联对象的变换维度中确定与所述目标变换维度匹配的所述第二变换维度。
可选的,所述按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新,包括:
确定所述初始属性数据对应的第一变换关系,以及确定所述关联属性数据对应的第二变换关系;
根据所述几何变换信息确定变换参数,并根据所述变换参数和所述第一变换关系对所述初始属性数据进行更新,以及根据所述变换参数和所述第二变换关系对所述关联属性数据进行更新。
可选的,所述第一变换维度包括下述至少一项:
目标对象位移维度、目标对象欧拉角维度、目标对象四元数维度、目标对象缩放维度;
相应的,所述第二变换维度包括下述至少一项:
关联对象位移维度、关联对象欧拉角维度、关联对象四元数维度、关联对象缩放维度;
相应的,所述属性数据包括下述至少一项:
位移数据、欧拉角数据、四元数数据、缩放数据。
可选的,包括:
获取发生几何变换的目标对象对应的几何变换信息;
根据所述几何变换信息确定所述目标对象的目标对象欧拉角维度,以及确定与所述目标对象位移维度具有关联关系的关联对象的关联对象欧拉角维度;
遍历所述关联对象欧拉角维度包括的欧拉角数据的变换标记,选择所述变换标记发生改变的欧拉角数据作为初始欧拉角数据;
基于预先建立的计算关系确定与所述初始欧拉角数据关联的四元数数据,并按照所述几何变换信息对所述初始欧拉角数据和所述四元数数据进行更新。
根据本说明书实施例的第二方面,提供了一种数据处理装置,包括:
获取模块,被配置为获取发生几何变换的目标对象对应的几何变换信息;
确定模块,被配置为根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度;
遍历模块,被配置为遍历所述第二变换维度包含的属性数据的变换标记,选择所述变换标记发生改变的属性数据作为初始属性数据;
更新模块,被配置为基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,并按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取发生几何变换的目标对象对应的几何变换信息;
根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度;
遍历所述第二变换维度包含的属性数据的变换标记,选择所述变换标记发生改变的属性数据作为初始属性数据;
基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,并按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述数据处理方法的步骤。
本说明书提供的数据处理方法,在获取到目标对象发生几何变换的情况下,将根据目标对象的几何变换信息确定所述目标对象的第一变换维度,并确定与目标对象具有关联关系的关联对象对应的第二变换维度,之后遍历第二变换维度包含的属性数据的变换标记,选择发生变化的变换标记的属性数据作为初始属性数据,此时基于预先建立的计算关系确定与初始属性数据关联的关联属性数据,并按照几何变换信息对初始属性数据和关联属性数据进行更新,实现了在对初始属性数据更新的同时,也对初始属性数据关联的关联属性数据进行更新,达到更加细致的优化了目标对象的几何变换中各个数据的计算,有效的提高了计算性能。
附图说明
图1是本说明书一实施例提供的一种数据处理方法的流程图;
图2a是本说明书一实施例提供的一种数据处理方法中的计算约定的示意图;
图2b是本说明书一实施例提供的一种数据处理方法中的脏标记派发关系的示意图;
图3是本说明书一实施例提供的一种数据处理方法中的计算依赖的示意图;
图4是本说明书一实施例提供的另一种数据处理方法的流程图;
图5是本说明书一实施例提供的一种应用于视频播放场景中的数据处理方法的处理流程图;
图6是本说明书一实施例提供的一种数据处理装置的结构示意图;
图7是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
三维物体:三维空间,日常生活中可指由长、宽、高三个维度所构成的空间,是我们看得见感受得到的空间。三维物体指的是,存在于三维空间的物体。
几何变换:几何变换是指从具有几何结构之集合至其自身或其他此类集合的一种对射。几何变换是一种数学解题的方法思路。在几何的解题中,当题目给出的条件显得不够或者不明显时,我们可以将图形作一定的变换,这样将有利于发现问题的隐含条件,使问题得以突破。
脏标记:就是用来表示被标记的内容是否有被修改过的一个标志位。
脏标识模式:考虑情况,当前有一组原始数据随着时间变化而改变。由这些原始数据计算出目标数据需要耗费一定的计算量。这个时候,可以用一个脏标识,来追踪目前的原始数据是否与之前的原始数据保持一致,而此脏标识会在被标记的原始数据改变时改变。那么,若这个标记没被改变,就可以使用之前缓存的目标数据,不用再重复计算。反之,若此标记已经改变,则需用新的原始数据计算目标数据。
模型矩阵:模型矩阵是一种转换矩阵,它能通过对对象进行平移、缩放、旋转来将它置于它本应该在的位置或方向。
欧拉角:(Euler angles),用来确定定点转动刚体位置的3个一组独立角参量,由章动角θ、旋进角(即进动角)ψ和自转角φ组成。
四元数:(Quaternions),是简单的超复数;四元数都是由实数加上三个虚数单位i、j、k 组成,而且它们有如下的关系:i^2 = j^2 = k^2 = -1, i^0 = j^0 = k^0 = 1 ,每个四元数都是1、i、j 和 k 的线性组合,即是四元数一般可表示为a + bi+ cj + dk,其中a、b、c 、d是实数。
在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
实际应用中,在使用3D技术向用户呈现相关内容的视频或图像时,不仅需要计算机硬件的支持,还需要3D技术所使用的引擎具有较好的优化能力才能够实现;现有技术中的大部分3D技术所使用的引擎都是利用脏标记优化了物体的模型矩阵的计算,没有最大化的优化计算性能,从而导致最终呈现给用户的观看或体验的效果是较差的,因此提升优化计算性能显着尤为重要。
图1示出了根据本说明书一实施例提供的一种数据处理方法的流程图,具体包括以下步骤:
步骤S102,获取发生几何变换的目标对象对应的几何变换信息。
本说明书提供的数据处理方法,为了能够提高用户的体验,以及提高优化计算性能,将在获取到目标对象发生几何变换的情况下,根据目标对象的几何变换信息确定所述目标对象的第一变换维度,并确定与目标对象具有关联关系的关联对象对应的第二变换维度,之后遍历第二变换维度包含的属性数据的变换标记,选择发生变化的变换标记的属性数据作为初始属性数据,此时基于预先建立的计算关系确定与初始属性数据关联的关联属性数据,并按照几何变换信息对初始属性数据和关联属性数据进行更新,实现了在对初始属性数据更新的同时,也对初始属性数据关联的关联属性数据进行更新,达到更加细致的优化了目标对象的几何变换中各个数据的计算,有效的提高了计算性能。
具体实施时,所述目标对象具体是指几何变换后需要重新计算并渲染的虚拟世界,用户可以通过该虚拟世界观看到相应的展示内容,如在导航场景中,终端所展示的3D导航画面即为用户观看的虚拟世界,而在虚拟世界中的楼房、车辆即为虚拟世界中的元素,即所述目标对象的关联对象;而当用户切换位置后,此时终端所展示的3D导航画面也需要根据切换的位置进行切换,就需要重新渲染出与切换的位置对应的3D导航画面向用户展示;此时目标对象的几何变换是通过展示角度确定的,即在同一3D展示画面中,不同的展示角度将对应不同的3D画面,此时虚拟世界相对于展示角度就发生了几何变换,就说明需要重新计算和渲染。
例如,在3D游戏场景中,游戏的数据结构不仅包含支持游戏运行的数据,还包含了游戏世界中所有物体的数据,渲染引擎可以使用物体对应的数据绘制到屏幕上进行展示,而通常情况下游戏中的场景图是分层的,即场景中的物体会绑定在另一个物体上(该物体的父物体),在这种情况下,物体在屏幕中的位置就不只与它自身的变换有关,还与它的父物体的变化有关,如用户通过控制游戏中的角色骑马进行移动,角色即为马的子物体,马即为父物体,角色最终的位置需要由在马上的位置和马的位置共同计算得到,也即是说,子物体的位置需要父物体的位置+子物体在父物体上的局部变换得到。
基于此,子物体世界变换=父物体的局部变换*子物体的局部变换;而由于游戏的自由度特性,游戏中大量物体的都会随着玩家的移动或者预先设定的需求进行移动,对于移动的物体可以理解为物体的变换,同时也会影响该物体对应的子物体的世界变换,因此为了能够充分的与玩家进行互动,最简单的方式就是每一帧都重新计算全部物体的世界变换,而这样将存在大量重复计算的问题,进一步造成CPU资源的浪费。
为了节省计算消耗以及减少渲染时间,可以通过脏标记的方式进行变化数据的监控,即为游戏世界中会在渲染画面时重新计算的数据配置脏标记,通过检测脏标记的状态是否发生变化而决定是否需要对该部分数据进行重新计算;而在该场景中,可以检测出部分脏标记由true变化为false,此时即可对脏标记为false的数据进行重新计算,检测出部分脏标记未发生变化,此时即可对脏标记未发生变化的数据保持不变,最终渲染出符合当前角色骑马移动到的指定位置的画面并展示,供用户观看。
而为了能够提高优化能力,以及提高最终展示画面的效果,可以预先建立部分数据的关联性,当重新计算脏标记为false的数据时,同时也将相关联的其他数据也进行重新计算,达到更好的优化程度,实现渲染出效果更佳的画面。
实际应用中,脏标记的状态表达形式可以根据实际应用场景进行设定,即可以将true表示当前状态,将false表示变化后的状态,也可以将false表示当前状态,将true表示变化后的状态,具体设置可以根据实际应用场景进行设定,本实施例在此不作任何限定。
步骤S104,根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度。
具体的,在上述获取到所述目标对象发生几何变换的基础上,进一步的,此时需要根据所述目标对象对应的几何变换信息确定所述目标对象的变换维度,即确定所述目标对象发生了何种几何变换,若所述目标对象发生位移变换,则确定第一变换维度为目标对象位移维度;若所述目标对象发生连续旋转变换,则确定第一变换维度为目标对象欧拉角维度;若目标对象发生绕轴旋转变换,则确定第一变换维度为目标对象四元数维度;若目标对象发生缩放变换,则确定第一变换维度为目标对象缩放维度,此外,目标对象还可能发生矩阵变换,则确定第一变换维度为目标对象矩阵维度。
基于此,若目标对象发生上述任意一种或多种的变换,都可能导致部分数据的重新优化计算,而目标对象的几何变换造成随动的对象即为与所述目标对象具有关联关系的关联对象,所述关联对象即为所述目标对象所承载的对象,如在导航场景中,虚拟世界中的车辆、楼房都可以是关联对象;或者在游戏场景中,虚拟世界中的太阳、树木、游戏角色也都可以是关联对象。
进一步的,当目标对象相对于所述关联对象发生几何变换的情况下,就表明下一个需要展示的画面中关联对象也发生了几何变换;关联对象的变换可以理解为当目标对象发生几何变换的情况下,关联对象相对于目标对象也发生了几何变换;如在导航场景中,用户跟着导航向前走了100米,此时终端所展示的3D画面应该为行进100米后的3D画面,相应的,之前距离用户100米的楼房此时出现在用户身旁,也就是说,3D画面中的楼房相对于画面中的虚拟角色来讲位移了-100米,此时即可确定楼房的变换维度为位移维度。
而在此之前,为了能够更进一步的提高计算性能以及优化效果,可以根据所述目标对象和所述关联对象的几何关系,建立所述目标对象的变换维度和所述关联对象的变换维度的关联关系,从而实现在目标对象发生几何变换的情况下,可以确定所述关联对象的第二变换维度,从而提高后续的计算优化能力,本实施例中,具体实现方式如下所述:
根据所述目标对象和所述关联对象的几何关系,建立所述目标对象的变换维度和所述关联对象的变换维度的关联关系;
基于所述关联关系确定所述第一变换维度对应的所述关联对象的目标变换维度,并将所述目标变换维度作为所述第二变换维度。
具体实施时,由于运动是相对性的,所以当目标对象发生位移变换的情况下,关联对象相对于目标对象的变换也为位移变换,或者当目标对象发生旋转变换的情况下,关联对象相对于目标对象的变换也为旋转变换;因此可以确定当目标对象的第一变换维度为目标对象位移维度的情况下,所述关联对象的第二变换维度为关联对象位移维度;当目标对象的第一变换维度为目标对象欧拉角维度的情况下,所述关联对象的第二变换维度为关联对象欧拉角维度;当目标对象的第一变换维度为目标对象四元数维度的情况下,所述关联对象的第二变换维度为关联对象四元数维度;当目标对象的第一变换维度为目标对象缩放的情况下,所述关联对象的第二变换维度为关联对象缩放维度;此外,当目标对象的第一变换维度为目标对象矩阵维度的情况下,所述关联对象的第二变换维度为关联对象矩阵维度。
实际应用中,不同的变换维度将对应不同的数据,也就是说,在确定所述关联对象的变换维度后,若确定所述关联对象的变换维度中的数据脏标记发生变化,则脏标记对应的数据也就需要进行重新计算,从而提高优化效果,其中,数据可以是位移数据、欧拉角数据、四元数数据或缩放数据。
此外,还可以根据实际需求建立所述目标对象的变换维度和所述关联对象的变换维度的关联关系,所述关联关系即为所述目标对象和关联对象的计算约定,参见图2a所示,该计算约定包括但不限于图2a所示的内容,即世界位置-位置(World position-Position),世界旋转-世界旋转四元数(World rotation-World rotation quat),世界旋转四元数-旋转四元数(World rotation quat- Rotation quat),局部矩阵-位置-缩放-旋转四元数(Local matrix- Position;Scale;Rotation quat),世界矩阵-局部矩阵(Worldmatrix-Local matrix);此外还可以包含其他自定义的计算约定,本实施例在此不作过多赘述。
基于此,当目标对象发生矩阵变换时,说明目标对象矩阵维度的数据需要重新计算,进而确定关联对象矩阵维度的数据也需要重新计算;目标对象发生缩放变换时,说明目标对象缩放维度的数据需要重新计算,进而确定关联对象缩放维度的数据也需要重新计算;目标对象发生绕轴变换时,说明目标对象四元数维度的数据需要重新计算,进而确定关联对象四元数维度的数据也需要重新计算。
但是为了能够提高优化性能的提升,可以在确定所述目标对象发生连续旋转后,对目标对象欧拉角维度的数据重新计算,同时也对目标对象四元数维度的数据也重新计算,从而提升渲染画面的展示效果。
此外,还可能存在关联对象位置发生变换,而目标对象位置未发生变换的情况,如在游戏场景中,太阳落山的过程,太阳相对于虚拟世界在移动,而虚拟世界并未发生几何变换;此时在进行相关数据重新计算时,可以确定关联对象发生矩阵变换时,确定需要对关联对象矩阵维度的数据重新计算,同时也可以对关联对象位移维度的数据、关联对象四元数维度的数据以及关联对象缩放维度的数据进行重新计算,从而更进一步的提高了计算优化性能,以及提升渲染出画面的效果。
需要说明的是,上述确定的为各个维度需要计算的数据,而在重新计算之前,还需要对各个维度的变换标记进行遍历,从而确定需要重新计算的数据再进行计算,进一步节省了计算消耗。
进一步的,由于所述目标对象的变换不仅受控于用户,还可能来自于计算机进行运算时的微调,故为了能够精准的确定所述第一变换维度,可以根据坐标之间的变换关系确定所述目标对象的所述第一变换维度,本实施例中,具体实现方式如下所述:
对所述几何变换信息进行解析,获得所述目标对象的第一坐标信息和第二坐标信息;
确定所述第一坐标信息和所述第二坐标信息的变换关系,并根据所述变换关系确定所述目标对象的所述第一变换维度。
具体的,所述第一坐标信息具体是指所述目标对象几何变换前的坐标,所述第二坐标信息具体是指所述目标对象几何变换后的坐标,通过分析所述第一坐标信息和所述第二坐标信息的变换关系,可以确定所述目标对象发生几何变换的类型,从而确定所述目标对象的所述第一变换维度。
实际应用中,在确定所述第一坐标信息和所述第二坐标信息的变换关系的过程中,由于不同的几何变换将按照不同的计算方式实现,因此可以将所述第一坐标信息代入不同变换关系的函数,若能够解算出第二坐标信息,就说明此次的几何变换遵循了该函数的计算方式,即可确定所述目标对象发生几何变换的类型,从而确定所述目标对象的第一变换维度。
更进一步的,在确定所述目标对象的第一变换维度后,为了能够提高计算优化性能,从而实现渲染画面效果的提升,可以预先建立目标对象的变换维度和关联对象的变换维度的维度关系,从而实现通过查询该对应关系即可确定关联对象的第二变换维度,本实施例中,具体实现方式如下所述:
确定与所述目标对象具有关联关系的所述关联对象,并确定所述关联对象的变换维度;
基于预设的维度关系确定所述第一变换维度对应的目标变换维度,并在所述关联对象的变换维度中确定与所述目标变换维度匹配的所述第二变换维度。
沿用上例,当用户控制游戏角色骑马移动到用户指定位置的过程中,此时可以确定路边的物体相对于游戏虚拟世界在向后位移,而游戏虚拟世界相对于路标的物体在向前位移,并且角色与马同时在向前运动,而在该场景中,角色即为关联对象,同时确定角色的变换维度包括欧拉角维度、四元数维度、矩阵维度和位移维度,在确定游戏虚拟世界的变换维度是位移变换维度的情况下,根据预设的维度关系确定角色的变换维度也为位移变换维度,即可确定角色的位移变换维度中的数据可能需要重新计算,再进行后续的脏标记遍历即可。
综上,在根据目标对象对应的几何变换信息确定其第一变换维度后,可以根据预先建立的计算约定确定关联对象的第二变换维度,从而实现在重新计算目标对象相关的数据时,可以对计算约定关联的关联对象相关的数据也进行重新计算,从而进一步提高计算优化性能,渲染出效果更好的画面。
步骤S106,遍历所述第二变换维度包含的属性数据的变换标记,选择所述变换标记发生改变的属性数据作为初始属性数据。
具体的,在上述确定所述关联对象的第二变换维度的情况下,说明所述第二变换维度中相关的数据可能需要重新计算,而为了能够减少计算消耗,可以对所述第二变换维度包含的属性数据的变换标记进行遍历,从而选择变换标记发生改变的属性数据作为初始属性数据。
其中,所述属性数据具体是指所述第二变换维度中可能随着几何变换需要重新计算的数据,如关联对象四元数维度中的四元数,关联对象欧拉角维度的欧拉角,关联对象位移维度的位移或关联对象缩放维度的缩放等;所述变换标记具体是指记录属性数据是否发生变化的标记,所述变换标记可以是脏标记;所述初始属性数据具体是指需要进行更新的属性数据。
此外,由于所述第二变换维度中包含的属性数据较多,如关联对象四元数维度中包含第一四元数,第二四元数,第三四元数;而目标对象的几何变换之后,可能只是导致关联对象的关联对象四元数维度中的第二四元数需要重新计算,则可以确定所述第二四元数为初始属性数据,而确定的方式可以根据脏标记实现,即检测各个属性数据的脏标记是否发生变化,若发生变化,即可确定为初始属性数据,若未发生变化,不作处理即可;而在此之前,为了能够检测到脏标记的变化,还需要完成脏标记的派发,从而才能够实现脏标记的检测,脏标记的派发过程参见图2b所示内容,该脏标记派发关系包括但不限于图2b所示的内容,即位置-局部矩阵(position-Local matrix),位置-(世界位置,子世界位置)-(世界矩阵,子世界矩阵)(position- World position,Child world position;World matrix,Child world matrix),旋转-局部矩阵-旋转四元数(rotation- Local matrix;Rotationquat),旋转-(世界矩阵,子世界矩阵)-(世界旋转,子世界位置)-(世界旋转四元数,子世界旋转,子世界旋转四元数)(rotation- World matrix,Child world matrix;Worldrotation,Child world position;World rotation quat,Child world rotation,ChildWorld rotation quat),旋转四元数-局部矩阵-旋转(Rotation quat- Local matrix;rotation),旋转四元数-(世界矩阵,子世界矩阵)-(世界旋转,子世界位置)-(世界旋转四元数,子世界旋转,子世界旋转四元数)(Rotation quat- World matrix,Child worldmatrix;World rotation,Child world position;World rotation quat,Child worldrotation,Child World rotation quat),缩放-局部矩阵(Scale- Local matrix),缩放-(世界矩阵,子世界矩阵)-(世界缩放,子世界位置,子世界缩放)(Scale- World matrix,Child world matrix;World scale,Child world position,Child world scale),局部矩阵-旋转四元数(local matrix- Rotation quat),局部矩阵-(世界矩阵,子世界矩阵)-(世界位置,子世界位置)-(世界旋转,子世界旋转)-(世界旋转四元数,子世界旋转四元数)-(世界缩放,子世界缩放)(Local matrix- World matrix,Child World matrix;worldposition,Child world position;World rotation,Child World rotation;Worldrotation quat,Child World rotation quat;World scale,Child World scale);此外还可以包含其他自定义的派发关系,本实施例在此不作过多限定。
沿用上例,在确定角色的位移变换维度之后,此时遍历位移变换维度中的第一位移的脏标记,第二位移的脏标记和第三位移的脏标记,确定第一位移的脏标记为true,第二位移的脏标记为true,第三位移的脏标记为false,此时即可将第三位移确定为初始属性数据,表明第三位移需要重新进行计算,从而在后续可以渲染出角色骑马向前移动的每一帧画面,并向用户进行展示。
步骤S108,基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,并按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新。
具体的,在上述确定所述初始属性数据的基础上,进一步的,为了能够提高画面的渲染效果,以及提升计算性能,可以预先建立属性数据之间的计算关系,当需要对初始属性数据进行重新计算时,也按照预先建立的计算关系对所述初始属性数据关联的关联属性数据也进行重新计算,从而实现将目标对象几何变换后对关联对象涉及的属性数据进行有效的优化,并且不需要对全部属性数据进行重新计算,提高优化性能的同时减少计算消耗,从而促进渲染效果的提升。
基于此,所述预先建立的计算关系具体是指预先建立的属性数据之间的相关关系,即当确定初始属性数据之后,将与初始属性数据关联的关联属性数据也进行重新计算;相应的,所述关联属性数据具体是指随着初始属性数据的更新也需要进行更新的属性数据,并且所述关联属性数据可以是一个或多个属性数据;如关联对象的变换维度是旋转变换维度,则说明需要对关联对象的旋转欧拉角进行重新计算,同时也可以对关联旋转欧拉角的旋转四元数和矩阵进行重新计算,从而实现更加细致的计算优化,进一步提高渲染后画面的展示效果。
进一步的,由于所述初始属性数据的更新不仅可以依赖同级别数据的计算,还可能依赖父节点对应数据的计算,则可以选择对等关系的属性数据和/或层级关系的属性数据与所述初始属性数据进行关联,从而在更新初始属性数据时也可以对关联的属性数据进行更新,本实施例中,具体实现方式如下所述:
对各个变换维度包含的属性数据进行划分,获得具有层级关系的属性数据组成的第一数据集合,以及具有对等关系的属性数据组成的第二数据集合;
建立所述第一数据集合包含的各个属性数据之间的至少一个对等计算关系,以及所述第二数据集合包含的各个属性数据之间的至少一个层级计算关系;
对至少一个所述对等计算关系和至少一个所述层级计算关系进行整合,获得所述计算关系。
具体的,在更新所述初始属性数据的过程中,为了能够提高更新效果,以及进行更加细致优化,可以将初始属性数据与其他属性数据进行依赖,从而建立属性数据之间的计算关系。
基于此,在建立所述计算关系的过程中,由于各个属性数据之间还可能存在层级关系(父节点与子节点对应的关系)和对等关系(同一层级中属性数据之间的关系),而不同的关系需要建立不同的计算关系,才能够达到提高计算优化性能的效果;需要说明的是,属性数据可以不是同一变换维度的,通过将各个变换维度的属性数据都进行划分,实现更加细致、全面的考虑需要进行更新的属性数据,从而渲染出效果更好的画面。
建立所述计算关系的具体过程是指:首先对各个变换维度包含的全部属性数据进行划分,划分出具有层级关系的属性数据组成第一数据集合,以及具有对等关系的属性数据组成第二数据集合,其次对第一数据集合中包含的各个属性数据进行对等计算关系的建立,以及对第二数据集合中包含的各个属性数据进行层级计算关系的建立,最后将所述建立的对等计算关系和层级计算关系进行整合,即可获得所述计算关系,以用于实现在计算初始属性数据的过程中,可以基于该计算关系确定与初始属性关联的关联属性数据,最后对初始属性数据和所述关联数据属性同时进行更新,即可达到更加细致的优化效果;需要说明的是,在建立各个属性数据之间的计算关系时,可以选择一对多的方式进行建立,如计算四元数时,可以同时计算欧拉角和/或位移,从而实现更加丰富的组合关系,更进一步提高优化性能。
在建立所述计算关系的过程中,可以参见图3所示的内容进行建立,即建立世界位置和世界矩阵的对等计算关系,或建立世界位置和位置的对等计算关系(World Position-(World matrix)or (Position));建立旋转和旋转四元数的对等计算关系(rotation-Rotation quat);建立世界旋转和世界旋转四元数的对等计算关系(World rotation-World rotation quat);建立旋转四元数和旋转的对等计算关系(rotation quat-rotation);建立世界旋转四元数与父节点世界旋转四元数和旋转四元数的对等计算关系,或建立世界旋转四元数和旋转四元数的对等计算关系(World rotation quat- (Parentworld rotation quat,Rotation quat) or (Rotation quat));建立损失世界缩放与世界矩阵和世界旋转四元数的对等计算关系,或建立损失世界缩放与缩放的对等计算关系(Lossy world scale-(World matrix),(World rotation quat)or(Scale));建立局部矩阵与旋转四元数和位置的对等计算关系,或建立局部矩阵和缩放的对等计算关系(Localmatrix-(Rotation quat),(Position)or(Scale)),建立世界矩阵与局部矩阵和父节点世界矩阵的对等计算关系,或建立世界矩阵与局部矩阵的对等计算关系(World matrix-(Local matrix,Parent world matrix)or(Local matrix))从而得到更加丰富的计算关系,以满足后续对渲染画面效果的提升。
进一步的,在基于所述层级计算关系和所述对等计算关系建立完成所述计算关系后,即可按照所述层级计算关系和所述对等计算关系得到与所述初始属性数据关联的所述关联属性数据,本实施例中,具体实现方式如下所述:
基于所述计算关系确定与所述初始属性数据具有对等计算关系或层级计算关系的所述关联属性数据。
具体的,在确定所述初始属性数据之后,通过查询所述计算关系即可确定与所述初始属性数据具有对等计算关系或层级计算关系的属性数据,将与所述初始属性数据具有关系的属性数据作为所述关联属性数据,以用于后续同时进行更新即可。
沿用上例,在确定第三位移为初始属性数据的基础上,通过查询预先建立的计算关系,即可确定与位移具有计算关系的关联属性数据包括欧拉角和四元数,则将角色的欧拉角和四元数作为关联属性数据,以用于后续同时对第三位移、欧拉角和四元数进行更新,实现渲染出角色骑马向前移动的每一帧画面,并向用户进行展示。
综上,通过预先建立各个属性数据之间的计算关系,实现在确定所述初始属性数据之后,可以根据该计算关系确定与所述初始属性数据关联的关联属性数据,实现可以在需要进行更新时,将关联的属性数据也同步进行更新,从而提高优化效果的同时,提高画面渲染效果,进一步提高用户的体验。
更进一步的,在确定所述关联属性数据和所述初始属性数据之后,此时将同步对所述关联属性数据和所述初始属性数据进行更新,而不同的属性数据的更新将采用不同的方式进行,因此需要根据属性数据对应的变换关系实现,并且还需要根据目标对象的几何变换信息确定相关参数,本实施例中,具体实现方式如下所述:
确定所述初始属性数据对应的第一变换关系,以及确定所述关联属性数据对应的第二变换关系;
根据所述几何变换信息确定变换参数,并根据所述变换参数和所述第一变换关系对所述初始属性数据进行更新,以及根据所述变换参数和所述第二变换关系对所述关联属性数据进行更新。
具体的,所述第一变换关系具体是指能够对所述初始属性数据进行重新计算的关系表达,可以理解为重新计算所述初始属性数据的计算公式或者函数;所述第二变换关系具体是指能够对所述关联属性数据进行重新计算的关系表达,可以理解为重新计算所述关联属性数据的计算公式或者函数;所述变换参数具体是指所述目标对象在发生几何变换时相关的参数,可以是位移距离、旋转角度等。
基于此,首先确定所述初始属性数据对应的第一变换关系,以及确定所述关联属性数据的第二变换关系,其次对所述几何变换信息进行解析,获得所述变换参数,最后根据所述变换参数和所述第一变换关系即可重新计算出目标对象几何变换后,所述初始属性数据变化后的值,以及根据所述变换参数和所述第二变换关系即可重新计算出目标对象几何变换后,所述关联属性数据变化后的值。
例如,初始属性数据为关联对象的四元数,该四元数表示为q = ((x, y, z),w) =(v, w)(其中,q表示四元数,x,y,z表示坐标,v表示向量,w表示实数);而四元数对应的变换关系式为q=((x,y,z)sinθ2,cosθ2),以此来执行此次的旋转计算;基于此,如果我们想要把空间的一个点P绕着单位向量轴u = (x, y, z)表示的旋转轴旋转θ角度,我们首先把点P扩展到四元数空间,即四元数p = (P, 0),那么,旋转后新的点对应的四元数p′=qpq−1,其中q=(cosθ2,(x,y,z)sinθ2),q−1=q∗N(q),由于u是单位向量,因此N(q)=1,即q−1=q∗1,从而实现对四元数的更新。
综上,在对所述初始属性数据和所述关联属性数据进行更新时,将按照所述几何变换信息确定的变换参数以及属性数据对应的变换关系实现,从而实现变换后的更新是基于几何变换信息计算的,进一步提高计算精准度。
此外,在完成所述初始属性数据和关联属性数据的更新之后,就需要对目标对象和所述关联对象所属的画面进行渲染,从而实现提高渲染效果的同时,避免重新计算的属性数据过多造成计算资源消耗的问题,本实施例中,具体实现方式如下所述:
根据更新结果确定所述初始属性数据对应的第一目标属性数据,以及所述关联属性数据对应的第二目标属性数据;
按照所述第一目标属性数据和所述第二目标属性数据对所述目标对象和所述关联对象进行渲染并展示。
具体的,所述第一目标属性数据具体是指所述初始属性数据更新之后的属性数据,所述第二目标属性数据具体是指所述关联属性数据更新之后的属性数据,在对所述目标对象和所述关联对象进行重新渲染的过程中,为了能够节省计算资源的消耗的同时,提高渲染效果,可以只基于所述第一目标属性数据和所述第二目标属性数据对所述目标对象和所述关联对象进行渲染,并将渲染后的画面进行展示即可。
沿用上例,当确定初始属性数据位移,以及关联属性数据欧拉角和四元数的情况下,此时确定只需要对角色的第三位移、欧拉角和四元数进行重新计算即可,画面中角色相关的其他属性数据并未发生变化,不作重新计算,最终即可实现渲染出角色骑马向前移动的每一帧画面,并向用户进行展示。
参见图4所示,本实施例以目标对象在目标对象欧拉角维度发生旋转变换为例,对所述数据处理方法进行进一步的描述,需要说明的是,部分内容均可参见上述相应的描述内容,本实施例在此不作过多赘述,具体包括步骤S1022至步骤S1028。
步骤S1022,获取发生几何变换的目标对象对应的几何变换信息。
步骤S1024,根据所述几何变换信息确定所述目标对象的目标对象欧拉角维度,以及确定与所述目标对象位移维度具有关联关系的关联对象的关联对象欧拉角维度。
步骤S1026,遍历所述关联对象欧拉角维度包括的欧拉角数据的变换标记,选择所述变换标记发生改变的欧拉角数据作为初始欧拉角数据。
步骤S1028,基于预先建立的计算关系确定与所述初始欧拉角数据关联的四元数数据,并按照所述几何变换信息对所述初始欧拉角数据和所述四元数数据进行更新。
本说明书提供的数据处理方法,在获取到目标对象发生几何变换的情况下,根据目标对象的几何变换信息确定所述目标对象的第一变换维度,并确定与目标对象具有关联关系的关联对象对应的第二变换维度,之后遍历第二变换维度包含的属性数据的变换标记,选择发生变化的变换标记的属性数据作为初始属性数据,此时基于预先建立的计算关系确定与初始属性数据关联的关联属性数据,并按照几何变换信息对初始属性数据和关联属性数据进行更新,实现了在对初始属性数据更新的同时,也对初始属性数据关联的关联属性数据进行更新,达到更加细致的优化了目标对象的几何变换中各个数据的计算,有效的提高了计算性能。
下述结合附图5,以本说明书提供的数据处理方法在视频播放场景中的应用为例,对所述数据处理方法进行进一步说明。其中,图5示出了本说明书一实施例提供的一种应用于视频播放场景中的数据处理方法的处理流程图,具体包括以下步骤:
步骤S502,获取发生几何变换的虚拟世界对应的几何变换信息。
具体的,本实施例以视频播放场景中播放画面为车辆在马路上行驶为例,对所述数据处理方法进行描述,相应的描述内容均可参见上述实施例相应的描述内容,本实施例在此不作过多赘述。
基于此,车辆行驶的操作由角色进行控制,因此确定车辆为目标对象,即虚拟世界,角色为关联对象,即局部对象;进一步的,当车辆在向前行驶的过程中,角色也需要随着车同步向前行驶,从而才能够展示出角色在开车向前行驶的画面,如果只对车进行处理,即车辆向前行驶,而不同步对角色进行处理,即角色未向前移动,则会导致角色的坐标未发生变化,而车辆的坐标在不断的向前移动,因此需要实现关联计算。
此外,当车辆承载着角色向前行驶的过程中,若只重新计算虚拟世界和局部对象的位移,可能会导致画面效果下降的问题,以及展示画面细节处理不完善的情况,因此为了达到较好的渲染画面,以及提高细节处理,具体如下所述。
步骤S504,根据几何变换信息确定虚拟世界在世界位移维度发生变换。
步骤S506,确定与虚拟世界具有关联关系的局部对象,并根据世界位移维度确定局部对象的局部位移维度。
步骤S508,检测局部位移维度中包含的局部位移对应的脏标记是否发生变化;若否,不作任何处理即可,若是,执行步骤S510。
步骤S510,根据预先建立的计算依赖确定局部位移对应的局部四元数和局部缩放。
具体的,在确定车辆发生位移变换的情况下,此时可以确定车辆中的角色也需要进行位移,才能够展示出角色操作车辆的画面效果,因此可以确定角色的变换维度为局部位移维度,之后检测局部位移维度中包含的局部位移对应的脏标记是否从true变更为false;若脏标记还是true则说明局部位移在当前帧的画面中不需要进行重新计算,则不作任何处理即可。
若脏标记变更为false则说明局部位移在当前帧的画面中需要进行重新计算,则根据预先建立的计算依赖确定局部位移的计算依赖为局部四元数和局部缩放,也就是说需要对开车的角色涉及的位移、四元数和缩放进行重新计算。
步骤S512,按照几何变换关系对局部位移、局部四元数和局部缩放进行更新,并根据更新结果渲染目标画面。
具体的,在确定需要对位移、四元数和缩放进行重新计算的情况下,此时将按照虚拟世界的几何变换信息对局部对象的位移、四元数和缩放进行计算,从而实现只对具有计算依赖的参数进行重新计算,达到渲染画面时可以不对画面的全部内容进行重新计算,只对具有计算依赖关系的参数计算不仅可以节省计算效果,还能够保证细致的优化,从而提高画面的展示效果。
本说明书提供的数据处理方法,在获取到目标对象的发生几何变换的情况下,根据目标对象的几何变换信息确定所述目标对象的第一变换维度,并确定与目标对象具有关联关系的关联对象对应的第二变换维度,之后遍历第二变换维度包含的属性数据的变换标记,选择发生变化的变换标记的属性数据作为初始属性数据,此时基于预先建立的计算关系确定与初始属性数据关联的关联属性数据,并按照几何变换信息对初始属性数据和关联属性数据进行更新,实现了在对初始属性数据更新的同时,也对初始属性数据关联的关联属性数据进行更新,达到更加细致的优化了目标对象的几何变换中各个数据的计算,有效的提高了计算性能。
与上述方法实施例相对应,本说明书还提供了数据处理装置实施例,图6示出了本说明书一实施例提供的一种数据处理装置的结构示意图。如图6所示,该装置包括:
获取模块602,被配置为获取发生几何变换的目标对象对应的几何变换信息;
确定模块604,被配置为根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度;
遍历模块606,被配置为遍历所述第二变换维度包含的属性数据的变换标记,选择所述变换标记发生改变的属性数据作为初始属性数据;
更新模块608,被配置为基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,并按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新。
一个可选的实施例中,所述数据处理装置,还包括:
确定目标属性数据模块,被配置为根据更新结果确定所述初始属性数据对应的第一目标属性数据,以及所述关联属性数据对应的第二目标属性数据;
渲染展示模块,被配置为按照所述第一目标属性数据和所述第二目标属性数据对所述目标对象和所述关联对象进行渲染并展示。
一个可选的实施例中,所述数据处理装置,还包括:
建立关联关系模块,被配置为根据所述目标对象和所述关联对象的几何关系,建立所述目标对象的变换维度和所述关联对象的变换维度的关联关系;
相应的,所述确定模块604进一步被配置为:
基于所述关联关系确定所述第一变换维度对应的所述关联对象的目标变换维度,并将所述目标变换维度作为所述第二变换维度。
一个可选的实施例中,所述数据处理装置,还包括:
属性数据划分模块,被配置为对各个变换维度包含的属性数据进行划分,获得具有层级关系的属性数据组成的第一数据集合,以及具有对等关系的属性数据组成的第二数据集合;
建立计算关系模块,被配置为建立所述第一数据集合包含的各个属性数据之间的至少一个对等计算关系,以及所述第二数据集合包含的各个属性数据之间的至少一个层级计算关系;
整合计算关系模块,被配置为对至少一个所述对等计算关系和至少一个所述层级计算关系进行整合,获得所述计算关系。
一个可选的实施例中,所述更新模块608进一步被配置为:
基于所述计算关系确定与所述初始属性数据具有对等计算关系或层级计算关系的所述关联属性数据。
一个可选的实施例中,所述确定模块604,包括:
解析信息单元,被配置为对所述几何变换信息进行解析,获得所述目标对象的第一坐标信息和第二坐标信息;
第一确定变换关系单元,被配置为确定所述第一坐标信息和所述第二坐标信息的变换关系,并根据所述变换关系确定所述目标对象的所述第一变换维度。
一个可选的实施例中,所述确定模块604,包括:
确定关联对象单元,被配置为确定与所述目标对象具有关联关系的所述关联对象,并确定所述关联对象的变换维度;
确定第二变换维度单元,被配置为基于预设的维度关系确定所述第一变换维度对应的目标变换维度,并在所述关联对象的变换维度中确定与所述目标变换维度匹配的所述第二变换维度。
一个可选的实施例中,所述更新模块608,包括:
第二确定变换关系单元,被配置为确定所述初始属性数据对应的第一变换关系,以及确定所述关联属性数据对应的第二变换关系;
更新数据单元,被配置为根据所述几何变换信息确定变换参数,并根据所述变换参数和所述第一变换关系对所述初始属性数据进行更新,以及根据所述变换参数和所述第二变换关系对所述关联属性数据进行更新。
一个可选的实施例中,所述第一变换维度包括下述至少一项:
目标对象位移维度、目标对象欧拉角维度、目标对象四元数维度、目标对象缩放维度;
相应的,所述第二变换维度包括下述至少一项:
关联对象位移维度、关联对象欧拉角维度、关联对象四元数维度、关联对象缩放维度;
相应的,所述属性数据包括下述至少一项:
位移数据、欧拉角数据、四元数数据、缩放数据。
一个可选的实施例中,所述数据处理装置,包括:
获取几何变换信息模块,被配置为获取发生几何变换的目标对象对应的几何变换信息;
确定欧拉角维度模块,被配置为根据所述几何变换信息确定所述目标对象的目标对象欧拉角维度,以及确定与所述目标对象位移维度具有关联关系的关联对象的关联对象欧拉角维度;
遍历欧拉角维度模块,被配置为遍历所述关联对象欧拉角维度包括的欧拉角数据的变换标记,选择所述变换标记发生改变的欧拉角数据作为初始欧拉角数据;
更新数据模块,被配置为基于预先建立的计算关系确定与所述初始欧拉角数据关联的四元数数据,并按照所述几何变换信息对所述初始欧拉角数据和所述四元数数据进行更新。
本实施例提供的数据处理装置,在获取到目标对象发生几何变换的情况下,根据目标对象的几何变换信息确定所述目标对象的第一变换维度,并确定与目标对象具有关联关系的关联对象对应的第二变换维度,之后遍历第二变换维度包含的属性数据的变换标记,选择发生变化的变换标记的属性数据作为初始属性数据,此时基于预先建立的计算关系确定与初始属性数据关联的关联属性数据,并按照几何变换信息对初始属性数据和关联属性数据进行更新,实现了在对初始属性数据更新的同时,也对初始属性数据关联的关联属性数据进行更新,达到更加细致的优化了目标对象的几何变换中各个数据的计算,有效的提高了计算性能。
上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
图7示出了根据本说明书一实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,处理器720用于执行如下计算机可执行指令:
获取发生几何变换的目标对象对应的几何变换信息;
根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度;
遍历所述第二变换维度包含的属性数据的变换标记,选择所述变换标记发生改变的属性数据作为初始属性数据;
基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,并按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
获取发生几何变换的目标对象对应的几何变换信息;
根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度;
遍历所述第二变换维度包含的属性数据的变换标记,选择所述变换标记发生改变的属性数据作为初始属性数据;
基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,并按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (13)

1.一种数据处理方法,包括:
获取发生几何变换的目标对象对应的几何变换信息;
根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度,所述关联对象为所述目标对象所承载的对象;
遍历所述第二变换维度包含的属性数据的变换标记,选择所述变换标记发生改变的属性数据作为初始属性数据;
基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,并按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新。
2.根据权利要求1所述的数据处理方法,所述按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新步骤执行之后,还包括:
根据更新结果确定所述初始属性数据对应的第一目标属性数据,以及所述关联属性数据对应的第二目标属性数据;
按照所述第一目标属性数据和所述第二目标属性数据对所述目标对象和所述关联对象进行渲染并展示。
3.根据权利要求1所述的数据处理方法,所述根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度步骤执行之前,还包括:
根据所述目标对象和所述关联对象的几何关系,建立所述目标对象的变换维度和所述关联对象的变换维度的关联关系;
相应的,所述确定与所述第一变换维度具有关联关系的关联对象的第二变换维度,包括:
基于所述关联关系确定所述第一变换维度对应的所述关联对象的目标变换维度,并将所述目标变换维度作为所述第二变换维度。
4.根据权利要求1所述的数据处理方法,所述基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据步骤执行之前,还包括:
对各个变换维度包含的属性数据进行划分,获得具有层级关系的属性数据组成的第一数据集合,以及具有对等关系的属性数据组成的第二数据集合;
建立所述第一数据集合包含的各个属性数据之间的至少一个对等计算关系,以及所述第二数据集合包含的各个属性数据之间的至少一个层级计算关系;
对至少一个所述对等计算关系和至少一个所述层级计算关系进行整合,获得所述计算关系。
5.根据权利要求4所述的数据处理方法,所述基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,包括:
基于所述计算关系确定与所述初始属性数据具有对等计算关系或层级计算关系的所述关联属性数据。
6.根据权利要求1所述的数据处理方法,所述根据所述几何变换信息确定所述目标对象的第一变换维度,包括:
对所述几何变换信息进行解析,获得所述目标对象的第一坐标信息和第二坐标信息;
确定所述第一坐标信息和所述第二坐标信息的变换关系,并根据所述变换关系确定所述目标对象的所述第一变换维度。
7.根据权利要求1所述的数据处理方法,所述确定与所述第一变换维度具有关联关系的关联对象的第二变换维度,包括:
确定与所述目标对象具有关联关系的所述关联对象,并确定所述关联对象的变换维度;
基于预设的维度关系确定所述第一变换维度对应的目标变换维度,并在所述关联对象的变换维度中确定与所述目标变换维度匹配的所述第二变换维度。
8.根据权利要求1所述的数据处理方法,所述按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新,包括:
确定所述初始属性数据对应的第一变换关系,以及确定所述关联属性数据对应的第二变换关系;
根据所述几何变换信息确定变换参数,并根据所述变换参数和所述第一变换关系对所述初始属性数据进行更新,以及根据所述变换参数和所述第二变换关系对所述关联属性数据进行更新。
9.根据权利要求1所述的数据处理方法,所述第一变换维度包括下述至少一项:
目标对象位移维度、目标对象欧拉角维度、目标对象四元数维度、目标对象缩放维度;
相应的,所述第二变换维度包括下述至少一项:
关联对象位移维度、关联对象欧拉角维度、关联对象四元数维度、关联对象缩放维度;
相应的,所述属性数据包括下述至少一项:
位移数据、欧拉角数据、四元数数据、缩放数据。
10.根据权利要求9所述的数据处理方法,包括:
获取发生几何变换的目标对象对应的几何变换信息;
根据所述几何变换信息确定所述目标对象的目标对象欧拉角维度,以及确定与所述目标对象位移维度具有关联关系的关联对象的关联对象欧拉角维度,所述关联对象为所述目标对象所承载的对象;
遍历所述关联对象欧拉角维度包括的欧拉角数据的变换标记,选择所述变换标记发生改变的欧拉角数据作为初始欧拉角数据;
基于预先建立的计算关系确定与所述初始欧拉角数据关联的四元数数据,并按照所述几何变换信息对所述初始欧拉角数据和所述四元数数据进行更新。
11.一种数据处理装置,包括:
获取模块,被配置为获取发生几何变换的目标对象对应的几何变换信息;
确定模块,被配置为根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度,所述关联对象为所述目标对象所承载的对象;
遍历模块,被配置为遍历所述第二变换维度包含的属性数据的变换标记,选择所述变换标记发生改变的属性数据作为初始属性数据;
更新模块,被配置为基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,并按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新。
12.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现下述方法:
获取发生几何变换的目标对象对应的几何变换信息;
根据所述几何变换信息确定所述目标对象的第一变换维度,以及确定与所述第一变换维度具有关联关系的关联对象的第二变换维度,所述关联对象为所述目标对象所承载的对象;
遍历所述第二变换维度包含的属性数据的变换标记,选择所述变换标记发生改变的属性数据作为初始属性数据;
基于预先建立的计算关系确定与所述初始属性数据关联的关联属性数据,并按照所述几何变换信息对所述初始属性数据和所述关联属性数据进行更新。
13.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至10任意一项所述数据处理方法的步骤。
CN202011264395.8A 2020-11-13 2020-11-13 数据处理方法及装置 Active CN112070910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011264395.8A CN112070910B (zh) 2020-11-13 2020-11-13 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011264395.8A CN112070910B (zh) 2020-11-13 2020-11-13 数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN112070910A CN112070910A (zh) 2020-12-11
CN112070910B true CN112070910B (zh) 2021-03-05

Family

ID=73655227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011264395.8A Active CN112070910B (zh) 2020-11-13 2020-11-13 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN112070910B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103679792A (zh) * 2013-12-24 2014-03-26 Tcl集团股份有限公司 一种三维模型的渲染方法和系统
CN108564661A (zh) * 2018-01-08 2018-09-21 佛山市超体软件科技有限公司 一种基于增强现实场景的记录方法
CN111652831A (zh) * 2020-06-28 2020-09-11 腾讯科技(深圳)有限公司 对象融合方法、装置、计算机可读存储介质及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508990B (zh) * 2011-09-28 2016-01-06 北京像素软件科技股份有限公司 一种网络游戏的数据更新方法
EP3246879A1 (en) * 2016-05-20 2017-11-22 Thomson Licensing Method and device for rendering an image of a scene comprising a real object and a virtual replica of the real object
CN111739135B (zh) * 2020-07-30 2023-03-21 腾讯科技(深圳)有限公司 虚拟角色的模型处理方法、装置及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103679792A (zh) * 2013-12-24 2014-03-26 Tcl集团股份有限公司 一种三维模型的渲染方法和系统
CN108564661A (zh) * 2018-01-08 2018-09-21 佛山市超体软件科技有限公司 一种基于增强现实场景的记录方法
CN111652831A (zh) * 2020-06-28 2020-09-11 腾讯科技(深圳)有限公司 对象融合方法、装置、计算机可读存储介质及电子设备

Also Published As

Publication number Publication date
CN112070910A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
KR102635705B1 (ko) 목적지 위치들을 조직하고 공유하기 위한 인터페이스들
US8769437B2 (en) Method, apparatus and computer program product for displaying virtual media items in a visual media
CN111095353B (zh) 实时跟踪补偿图像效果
CN115443641A (zh) 将第一用户界面内容组合到第二用户界面中
US20180276882A1 (en) Systems and methods for augmented reality art creation
US11995781B2 (en) Messaging system with neural hair rendering
US20230316613A1 (en) Hair styles system for rendering hair strands based on hair spline data
US11393158B2 (en) Utilizing voxel feature transformations for deep novel view synthesis
Ruzinoor et al. A review on 3D terrain visualization of GIS data: techniques and software
JP2013534656A (ja) 適応的で革新的なモバイルデバイスのストリートビュー
CN115428034A (zh) 消息传送系统中的包括3d数据的增强现实内容生成器
US11822766B2 (en) Encoded image based messaging system
CN116964547A (zh) 用于浏览目的地的增强现实内容生成器
CN116261710A (zh) 用于目的地活动的增强现实内容生成器
EP4143787A1 (en) Photometric-based 3d object modeling
KR20230162107A (ko) 증강 현실 콘텐츠에서의 머리 회전들에 대한 얼굴 합성
CN116109765A (zh) 标注对象的三维渲染方法、装置、计算机设备、存储介质
CN112070910B (zh) 数据处理方法及装置
CN115953504A (zh) 特效处理方法、装置、电子设备及存储介质
US20220207786A1 (en) Flow-guided motion retargeting
JP2022050463A (ja) ビデオ通話のための顔に基づくフレームレートのアップサンプリング
JP2000148126A (ja) 画像表示装置及び方法
CN116883563B (zh) 标注点渲染方法、装置、计算机设备、存储介质
US20230419655A1 (en) Controlled image manipulations using semantic labels
US20240193855A1 (en) Spatially disentangled generative radiance fields for controllable 3d-aware scene synthesis

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231114

Address after: 801-11, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province, 310013

Patentee after: Alipay (Hangzhou) Information Technology Co.,Ltd.

Address before: 801-12, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province, 310013

Patentee before: Ant Zhixin (Hangzhou) Information Technology Co.,Ltd.