数据管理方法、装置、计算机及存储介质与流程

未命名 08-15 阅读:86 评论:0


1.本技术涉及计算机技术领域,尤其涉及一种数据管理方法、装置、计算机及存储介质。


背景技术:

2.随着游戏行业的发展,对于游戏应用的需求也越来越多,人们对于游戏应用中的游戏角色的要求也越来越高,如游戏角色更加真实等。而头发作为游戏角色的一个重要组成部分,对于头发的模拟极为重要。目前,一般是不做映射,直接进行头发模拟,而这一方式需要对所有的发丝进行处理,会导致头发密度不足,头发模拟效果差,真实性及准确性较低;或者,针对每根发丝进行复制,得到多根发丝,这就导致了映射的头发造型必须与被映射的头发一致,无法应对造型需求,如将一缕蜷曲的头发映射到一根模拟的头发上,降低了头发渲染的真实性及准确性。


技术实现要素:

3.本技术实施例提供了一种数据管理方法、装置、计算机及存储介质,可以提高对象渲染的真实性、准确性及效率。
4.本技术实施例一方面提供了一种数据管理方法,该方法包括:为关键对象添加物理作用约束,基于物理作用约束确定关键对象的位置数据;获取依赖对象与关键对象之间的相对位置信息,基于相对位置信息及关键对象的位置数据,确定依赖对象的位置数据;获取从属对象与依赖对象之间的对象偏移量,基于对象偏移量及依赖对象的位置数据,确定从属对象的位置数据;对象偏移量是指在对依赖对象进行偏移生成从属对象时所偏移的距离;基于关键对象的位置数据、依赖对象的位置数据及从属对象的位置数据,渲染目标对象。
5.本技术实施例一方面提供了一种数据管理装置,该装置包括:关键处理模块,用于为关键对象添加物理作用约束,基于物理作用约束确定关键对象的位置数据;相对确定模块,用于获取依赖对象与关键对象之间的相对位置信息;依赖处理模块,用于基于相对位置信息及关键对象的位置数据,确定依赖对象的位置数据;偏移获取模块,用于获取从属对象与依赖对象之间的对象偏移量;从属处理模块,用于基于对象偏移量及依赖对象的位置数据,确定从属对象的位置数据;对象偏移量是指在对依赖对象进行偏移生成从属对象时所偏移的距离;对象渲染模块,用于基于关键对象的位置数据、依赖对象的位置数据及从属对象的位置数据,渲染目标对象。
6.其中,物理作用约束的数量为n,n为正整数;该装置还包括:约束排序模块,用于根据n个物理作用约束的约束关联关系,对n个物理作用约束进行排序组合,得到m个约束序列;m为正整数,每个约束序列包括n个物理作用约束,不同约束序列中所包括的n个物理作用约束的顺序不同;约束模拟模块,用于采用m个约束序列分别对样本对象进行物理作用模拟,得到样本对象在m个约束序列下分别对应的对象模拟效果,将最好的对象模拟效果所对应的约束序列确定为目标约束序列;该关键处理模块,包括:序列约束单元,用于采用目标约束序列为关键对象添加n个物理作用约束,获取关键对象在n个物理作用约束下的位置数据。
7.其中,物理作用约束包括质点物理作用约束、运动物理作用约束及碰撞物理作用约束;该关键处理模块,包括:质点处理单元,用于为关键对象添加质点物理作用约束,确定组成关键对象的关键对象质点的质点关联信息,以及关键对象的对象形状信息;物理处理单元,用于为关键对象添加运动物理作用约束,确定关键对象所产生的加速度;碰撞处理单元,用于采用碰撞物理作用约束对关键对象进行碰撞检测,得到碰撞偏移数据;关键确定单元,用于在关键对象的历史位置数据基础上,采用质点关联信息、对象形状信息、关键对象所产生的加速度,以及碰撞偏移数据,确定关键对象的位置数据。
8.其中,该依赖处理模块,包括:初始更新单元,用于基于相对位置信息及关键对象的位置数据,确定依赖对象的初始更新位置数据;依赖碰撞单元,用于基于初始更新位置数据对依赖对象进行碰撞处理,得到依赖对象的位置数据。
9.其中,该装置还包括:对象获取模块,用于获取关键对象及依赖对象;位置确定模块,用于获取依赖对象与关键对象之间的相对位置信息;相对位置信息用于在关键对象基础上,渲染依赖对象;从属生成模块,用于对依赖对象进行偏移处理,生成从属对象;偏移记录模块,用于记录由依赖对象至从属对象的对象偏移量;对象偏移量用于在依赖对象基础上,渲染从属对象;对象生成模块,用于将关键对象、依赖对象及从属对象,组成目标对象。
10.其中,该对象获取模块,包括:标签确定单元,用于获取第一候选对象对应的对象标签,将对象标签为关键标签的第一候选对象确定为关键对象,将对象标签为依赖标签的第一候选对象确定为依赖对象;或者,邻近确定单元,用于获取第二候选对象,获取关键对象,对第二候选对象与关键对
象进行邻近检测,确定第二候选对象中的依赖对象。
11.其中,该对象获取模块,包括:类型划分单元,用于获取对象类型,基于对象类型确定h个对象生成区域,基于h个对象生成区域将第三候选对象划分为h个对象集合;h为正整数;集合确定单元,用于从h个对象集合分别包括的第三候选对象中,确定h个对象集合分别对应的关键对象及依赖对象。
12.其中,关键对象的数量为c,依赖对象的数量为d;c为正整数,d为正整数;该位置确定模块,包括:对象关联单元,用于将d个依赖对象与c个关键对象组成d个对象对;每个对象对包括一个依赖对象及该依赖对象所关联的关键对象;不同对象对所包括的依赖对象不同;距离确定单元,用于将每个对象对之间的距离,确定为该对象对所包括的依赖对象及关键对象之间的相对位置信息。
13.其中,该对象关联单元,具体用于:获取第i个依赖对象分别与c个关键对象之间的距离,将最大的距离所对应的关键对象与第i个依赖对象组成第i个对象对;i为小于d的自然数;或者,将第i个依赖对象与第i%c个关键对象组成第i个对象对。
14.其中,该从属生成模块,包括:对象复制单元,用于复制依赖对象,得到依赖对象副本,获取依赖对象的对象附着体;对象偏移单元,用于将依赖对象副本附着于对象附着体上,固定依赖对象副本在对象附着体上的附着点,对依赖对象副本进行偏移处理,生成从属对象。
15.其中,该从属生成模块,包括:切线确定单元,用于获取组成依赖对象的依赖对象质点,确定依赖对象质点的切线方向;质点处理单元,用于基于依赖对象质点的切线方向,对依赖对象质点进行偏移处理,得到从属对象质点,将从属对象质点进行连接,生成从属对象。
16.本技术实施例一方面提供了一种计算机设备,包括处理器、存储器、输入输出接口;处理器分别与存储器和输入输出接口相连,其中,输入输出接口用于接收数据及输出数据,存储器用于存储计算机程序,处理器用于调用该计算机程序,以使包含该处理器的计算机设备执行本技术实施例一方面中的数据管理方法。
17.本技术实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本技术实施例一方面中的数据管理方法。
18.本技术实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例一方面中的各种可选方式中提供的方法。换句话说,该计算机指令被处理器执行时实现本技术实施例一方面中的各种可选方式中提供的方法。
19.实施本技术实施例,将具有如下有益效果:在本技术实施例中,可以为关键对象添加物理作用约束,基于物理作用约束确定关键对象的位置数据;获取依赖对象与关键对象之间的相对位置信息,基于相对位置信息及关键对象的位置数据,确定依赖对象的位置数据;获取从属对象与依赖对象之间的对象偏移量,基于对象偏移量及依赖对象的位置数据,确定从属对象的位置数据;对象偏移量是指在对依赖对象进行偏移生成从属对象时所偏移的距离;基于关键对象的位置数据、依赖对象的位置数据及从属对象的位置数据,渲染目标对象。通过以上过程,采用了三级映射实现目标对象的渲染,即关键对象、依赖对象及从属对象,既能满足对象说合计的复杂和特殊造型的需求,也就是以关键对象与依赖对象为基础,实现了造型,以从属对象增加了对象密度,使得目标对象的渲染更加的自然和真实,且仅需对关键对象进行物理处理,其他的对象皆在生成时的数据基础上直接进行位置偏移确定,提高了目标对象的模拟效率。同时,关键对象、依赖对象及从属对象依次关联,而且针对关键对象进行了细致精确的模拟,在此基础上,保障了整体(即目标对象)渲染的准确性及真实性,又提高了目标对象渲染的效率。
附图说明
20.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是本技术实施例提供的一种数据管理的网络交互架构图;图2是本技术实施例提供的一种数据管理场景示意图;图3是本技术实施例提供的一种数据管理的方法流程图;图4是本技术实施例提供的一种对象生成的方法流程图;图5是本技术实施例提供的一种从属对象生成场景示意图;图6是本技术实施例提供的另一种从属对象生成场景示意图;图7是本技术实施例提供的一种目标对象的显示效果示意图;图8是本技术实施例提供的另一种目标对象的显示效果示意图;图9是本技术实施例提供的一种数据管理装置示意图;图10是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
22.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.其中,若在本技术中需要收集对象(如用户等)数据,则在收集前、收集中,显示提示界面或者弹窗,该提示界面或者弹窗用于提示用户当前正在搜集某些数据,如关键对象或依赖对象等,仅仅在获取到用户对该提示界面或者弹窗发出确认操作后,开始执行数据获取的相关的步骤,否则结束。而且,对于获取到的用户数据,会在合理合法的场景或用途
等上进行使用。可选的,在一些需要使用用户数据但未得到用户授权的场景中,还可以向用户请求授权,在授权通过时,再使用用户数据。其中,对于用户数据的使用,符合法律法规的相关规定。
24.在本技术实施例中,请参见图1,图1是本技术实施例提供的一种数据管理的网络交互架构图,如图1所示,计算机设备101可以进行目标对象的生成及渲染,当然可选的,目标对象的生成及渲染可以在不同的设备中实现。例如,计算机设备101可以基于获取到的基础数据生成目标对象,并且可以渲染该目标对象,其中,该基础数据是指用于生成目标对象所需要的初始数据,该基础数据可以是计算机设备101从本地存储空间中获取到的,也可以是从任意一个业务设备中获取到的,如业务设备102a、业务设备102b或业务设备102c等。或者,计算机设备101可以生成目标对象,将目标对象发送至一个或多个业务设备中,该一个或多个业务设备可以对获取到的目标对象进行渲染等。举例来说,如图1中所示,假定业务设备102a向计算机设备101发送基础数据,计算机设备101基于该基础数据生成目标对象,将该目标对象发送至业务设备102a,业务设备102a可以渲染该目标对象1021等。其中,该目标对象可以认为是具有多个子对象的对象,该目标对象会受到物理作用约束,是一种柔软物体,如头发(hair)或流苏等,在此不做限制,如,组成头发的子对象为发丝(strand),组成流苏的子对象可以记为垂丝等,以下主要以目标对象为头发进行举例。
25.具体的,请参见图2,图2是本技术实施例提供的一种数据管理场景示意图。如图2所示,计算机设备可以为关键对象2011添加物理作用约束202,包括但不限于重力约束2021及风力约束2022等,基于物理作用约束202确定关键对象2011的位置数据,使得可以充分考虑到目标对象所受到的物理作用约束,可以提高目标对象的真实性及准确性,使得目标对象更为自然,而关键对象2011的数量很少,也就是需要基于物理作用约束处理的数据很少,极大减少了目标对象渲染所需耗费的时间和资源,提高目标对象渲染的效率。在此基础上,只需要基于事先存储的依赖对象2012与关键对象2011之间的相对位置信息,确定依赖对象2012的位置数据,基于从属对象2013与依赖对象2012之间的对象偏移量,确定从属对象2013的位置数据,而这一过程只需耗费极少的时间和资源,即使依赖对象2012与从属对象2013的数量较多,也不会增加太多需要耗费的时间和资源,从而既可以提高对象渲染的真实性及自然性,又可以提高对象渲染的效率。
26.简单来说,也就是采用三级映射实现对象模拟,其中,关键对象是对象模拟的核心,参与目标对象的物理模拟,可以模拟目标对象的各种物理作用约束。依赖对象是在关键对象的基础上变换的,它们的形态可以与关键对象不一样,位置与关键对象保持相对位置(即相对位置信息),但是不参与物理模拟,用来填充目标对象,增加目标对象的对象密度和真实感,并且可以支持复杂的对象类型(如目标对象为头发时的头发样式)。从属对象是在依赖对象基础上生成的,它们的形态和位置都与依赖对象相对应,也不进行物理模拟,进一步增加目标对象的对象密度,使得目标对象的效果更为自然和真实。
27.其中,假定目标对象为头发时,该目标对象所包括的子对象可以认为包括三类,分别为关键头发(main hair)、依赖头发(depend hair)及从属头发(follow hair),对目标对象的对象模拟可以记作头发模拟。其中,头发模拟是一种基于物理学原理的计算机图形学技术,用于模拟头发或其他细长柔软物体的动态行为。它使用弹簧质点系统来描述每根发丝或毛发,并考虑到重力、风力等外部因素对其的影响。在这个系统中,每个质点都有一个
位置和速度向量,并与相邻质点之间通过弹簧连接。当外部力作用于这些质点时,它们会产生运动和变形。
28.可以理解的是,本技术实施例中所提及的业务设备也可以认为是一种计算机设备,本技术实施例中的计算机设备包括但不限于终端设备或服务器。换句话说,计算机设备可以是服务器或终端设备,也可以是服务器和终端设备组成的系统。其中,以上所提及的终端设备可以是一种电子设备,包括但不限于手机、平板电脑、台式电脑、笔记本电脑、掌上电脑、车载设备、增强现实/虚拟现实(augmented reality/virtual reality,ar/vr)设备、头盔显示器、智能电视、可穿戴设备、智能音箱、数码相机、摄像头及其他具备网络接入能力的移动互联网设备(mobile internet device,mid),或者火车、轮船、飞行等场景下的终端设备等。如图1中所示,终端设备可以是一种笔记本电脑(如业务设备102b所示)、手机(如业务设备102c所示)或车载设备(如业务设备102a所示)等,图1仅例举出部分的设备,可选的,该对象设备102a是指位于交通工具103中的设备。其中,以上所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、车路协同、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
29.可选的,本技术实施例中所涉及的数据可以存储在计算机设备中,或者可以基于云存储技术或区块链网络对该数据进行存储,在此不做限制。
30.进一步地,请参见图3,图3是本技术实施例提供的一种数据管理的方法流程图。如图3所示,该数据管理过程包括如下步骤:步骤s301,为关键对象添加物理作用约束,基于物理作用约束确定关键对象的位置数据。
31.在本技术实施例中,计算机设备可以为关键对象添加物理作用约束,基于物理作用约束确定关键对象的位置数据,以实现对关键对象的物理特性的模拟。其中,物理作用约束的数量为n,n为正整数。其中,n个物理作用约束可以包括但不限于重力约束(gravity constraints)、全局形态约束(global shape constraints)、质点运动策略(velocity shock propagation)、局部形态约束(local shape constraints,lsc)、风力约束(wind constraints)、边缘长度约束(edge length constraints)、碰撞(collision)等。其中,重力约束用于为目标对象添加重力的作用,会使得目标对象产生向下的加速度;全局形态约束,用于约束目标对象的形态和位置等,如关键头发的长度和卷曲程度等;质点运动策略用于为目标对象添加冲击波的影响,也就是说目标对象在跟随对象附着体运动时,受到对象附着体对目标对象的牵连,会为目标对象添加牵连加速度;局部形态约束用于影响目标对象的形态和位置,如关键头发的卷曲程度和分叉情况等,局部形态约束用于表示组成目标对象的目标对象质点,受到的相邻目标对象质点的影响等,该局部形态约束遵循弹簧质点模型;风力约束用于为目标对象添加在风场中所受到的风力,会使得目标对象产生受到的风力的风向所指示的加速度或者说偏移;边缘长度约束用于约束目标对象的长度,保持目标对象的长度不变;碰撞用于表示目标对象所受到的碰撞的作用,如目标对象为头发时,头发与角色身体的碰撞,目标对象为流苏时,流苏与佩戴该流苏的物体之间的碰撞等。其中,对象附着体是指目标对象所附着的载体等,如头发所附着的角色(actor)或头发附着体
(hair-attached object),牵引加速度是指由于对象附着体的运动,牵引着目标对象进行运动所产生的加速度。弹簧质点模型是指将子对象看作是由一系列连续的对象线段(segment)组成,每个对象线段的端点作为一个质点,各个对象线段可以看作用于连接质点的弹簧,通过模拟子对象中的各个质点以及弹簧的运动,实现对该子对象的运动模拟。
32.当然,目标对象所包括的所有子对象都会受到上述n个物理作用约束,但是在本技术中,仅针对关键对象添加n个物理作用约束。
33.具体的,计算机设备可以采用目标约束序列为关键对象添加n个物理作用约束,获取关键对象在n个物理作用约束下的位置数据,该目标约束序列用于表示n个物理作用约束及n个物理作用约束的顺序。其中,计算机设备可以根据n个物理作用约束的约束关联关系,对n个物理作用约束进行随机排序,得到目标约束序列。其中,该n个物理作用约束的约束关联关系,用于表示n个物理作用约束中可能存在的至少两个物理作用约束之间的执行不可逆的关系,如,假定全局形态约束必须在局部形态约束之前执行,则表示全局形态约束与局部形态约束之间存在执行不可逆的关系等;当然,若是n个物理作用约束不存在约束关联关系,则可以直接对n个物理作用约束进行随机排序,得到目标约束序列。
34.或者,计算机设备可以根据n个物理作用约束的约束关联关系,对n个物理作用约束进行排序组合,得到m个约束序列;m为正整数,每个约束序列包括n个物理作用约束,不同约束序列中所包括的n个物理作用约束的顺序不同。进一步,采用m个约束序列分别对样本对象进行物理作用模拟,得到样本对象在m个约束序列下分别对应的对象模拟效果,将最好的对象模拟效果所对应的约束序列确定为目标约束序列。
35.当然,以上仅为可选的几种目标约束序列的获取方式,本技术并不限制其他目标约束序列的获取方式。例如,可以获取管理对象(即管理人员)所预设的目标约束序列。或者,可以获取对象模拟场景中的历史模拟效果,将最好的历史模拟效果所采用的历史模拟序列,确定为目标约束序列等。
36.可选的,该物理作用约束可以包括质点物理作用约束、运动物理作用约束及碰撞物理作用约束等。例如,该质点物理作用约束可以包括但不限于全局形态约束、质点运动策略、局部形态约束及边缘长度约束等;该运动物理作用约束可以包括但不限于重力约束及风力约束等;碰撞物理作用约束可以包括但不限于碰撞。进一步地,可以为关键对象添加质点物理作用约束,确定组成关键对象的关键对象质点的质点关联信息,以及关键对象的对象形状信息。该质点关联信息用于表示关键对象的关键对象质点之间相互影响,对关键对象所造成的形态和位置等的变化情况,如质点运动策略及局部形态约束等对关键对象所造成的变化情况等;该对象形状信息用于表示关键对象在渲染时的形态,包括但不限于全局形态、局部形态及尺寸信息等,如全局形态约束、局部形态约束及边缘长度约束等,对关键对象的长度及卷曲程度等的约束。为关键对象添加运动物理作用约束,确定关键对象所产生的加速度,例如,重力约束下对关键对象造成的向下(向地心)的加速度,风力约束对关键对象造成的风向所指示的加速度等,即该加速度可以包括但不限于重力加速度及风力加速度等。采用碰撞物理作用约束对关键对象进行碰撞检测,得到碰撞偏移数据。其中,上述质点物理作用约束、运动物理作用约束及碰撞物理作用约束等的处理过程的顺序可以进行调换。在关键对象的历史位置数据基础上,采用质点关联信息、对象形状信息、关键对象所产生的加速度,以及碰撞偏移数据,确定关键对象的位置数据。其中,历史位置数据是指关键
对象在上一次渲染时的位置数据,包括但不限于关键对象的形态和位置等。
37.可选的,可以基于目标约束序列,基于n个物理作用约束所属的约束类型,为关键对象添加n个物理作用约束,确定关键对象的位置数据。具体的,假定该目标约束序列为“重力约束—》全局形态约束—》质点运动策略—》局部形态约束—》风力约束—》边缘长度约束—》碰撞”,可以认为该过程为,采用重力约束(记作apply gravity),确定关键对象所产生的重力加速度;采用韦尔莱算法(verlet integration)对关键对象进行物理模拟,得到关键对象的对象速度;采用全局形态约束,记作apply gsc(global shape constraints),确定关键对象的全局形态;采用质点运动策略,记作apply vsp(velocity shock propagation),确定在对象附着体针对关键对象所产生的牵连加速度基础上,关键对象的变化情况;采用局部形态约束,确定关键对象的局部形态,记作while interaction do{apply lsc(local shape constraints)};采用风力约束(记作apply wind),确定关键对象所产生的风力加速度;采用边缘长度约束,确定关键对象的尺寸信息,可以记作while interaction do{apply elc(edge length constraints)};碰撞处理,得到关键对象的碰撞偏移数据,记作collision handling等。在关键对象的历史位置数据基础上,采用重力加速度、关键对象的对象速度、全局形态、牵连加速度所造成的关键对象的变化情况、局部形态风力加速度、尺寸信息及碰撞偏移数据,确定关键对象的位置数据。
38.可选的,在采用目标约束序列为关键对象添加n个物理作用约束,获取关键对象在n个物理作用约束下的位置数据时,也可以是每添加一个物理作用约束,就更新一次关键对象的位置数据,直至添加完n个物理作用约束,得到最终的关键对象的位置数据。
39.其中,该关键对象的位置数据可以包括但不限于关键对象的形态和位置等,其中,该关键对象的位置可以包括组成该关键对象的关键对象质点的质点位置等。
40.步骤s302,获取依赖对象与关键对象之间的相对位置信息,基于相对位置信息及关键对象的位置数据,确定依赖对象的位置数据。
41.在本技术实施例中,相对位置信息是指在目标对象生成过程中进行缓存的数据。可以直接在关键对象的位置数据基础上,添加相对位置信息,得到依赖对象的位置数据,也就是可以采用相对位置信息进行空间变换,得到依赖对象的位置数据,可以提高对象渲染的效率和精度。或者,可以基于相对位置信息及关键对象的位置数据,确定依赖对象的初始更新位置数据;基于初始更新位置数据对依赖对象进行碰撞处理,得到依赖对象的位置数据,也就是在相对位置信息的基础上,对依赖对象进行进一步的碰撞处理,可以在提高对象渲染效率的基础上,进一步提高对象渲染的精确度。其中,依赖对象的位置数据包括但不限于依赖对象的形态和位置等。
42.步骤s303,获取从属对象与依赖对象之间的对象偏移量,基于对象偏移量及依赖对象的位置数据,确定从属对象的位置数据。
43.在本技术实施例中,对象偏移量是指在对依赖对象进行偏移生成从属对象时所偏移的距离。计算机设备可以直接在依赖对象的位置数据基础上,添加对象偏移量,得到从属对象的位置数据。或者,基于对象偏移量及依赖对象的位置数据,确定从属对象的偏移位置数据;基于偏移位置数据对从属对象进行碰撞处理,得到从属对象的位置数据。其中,从属对象的位置数据可以包括但不限于从属对象的形态和位置等。
44.步骤s304,基于关键对象的位置数据、依赖对象的位置数据及从属对象的位置数
据,渲染目标对象。
45.在本技术实施例中,得到了关键对象、依赖对象及从属对象分别对应的用于渲染的数据,也就是上述各个位置数据,可以基于关键对象的位置数据渲染关键对象,基于依赖对象的位置数据渲染依赖对象,基于从属对象的位置数据渲染从属对象,其中,渲染的关键对象、依赖对象及从属对象,组成了目标对象。
46.进一步地,针对目标对象的渲染过程,可以获取目标对象的静止状态数据(rest-state value),也就是目标对象在开始时的位置数据,包括关键对象的静止数据、依赖对象的静止数据及从属对象的静止数据等。可以将该静止状态数据作为历史位置数据,也就是,将关键对象的静止数据作为关键对象的历史位置数据,将依赖对象的静止数据作为依赖对象的历史位置数据,将从属对象的静止数据作为从属对象的历史位置数据。当进行对象模拟时,针对目标对象执行上述步骤s301至步骤s304,渲染目标对象,将步骤s301至步骤s304中所得到的关键对象的位置数据确定为关键对象的历史位置数据,将依赖对象的位置数据确定为依赖对象的历史位置数据,将从属对象的位置数据确定为从属对象的历史位置数据等。
47.可选的,可以采用计算着色器(compute shader)执行上述图3所示的步骤,也就是可以通过图形处理器(graphics processing unit,gpu)实现,从而可以利用gpu的并行处理特性,提高对象模拟的效率。可选的,上述各个碰撞处理,可以基于有符号距离场(signed distance field,sdf)实现,sdf用于在三维(3d)或二维(2d)空间中,将位置映射到其最近平面或边缘的距离,可以用于碰撞处理、网格表示等。
48.其中,本技术可以应用到任意一个需要进行对象渲染的应用中,该应用可以是网站、网址或应用程序(application)等,如游戏应用及视频编辑应用等。例如,在游戏应用中,对游戏应用中的虚拟对象(也就是游戏角色等)的头发进行渲染,对视频编辑应用中的角色的头发进行动画处理等。例如,在视频编辑应用中,对角色进行动画处理,在生成每一帧动画画面时,会对角色的头发随着动画处理进行对象渲染等。例如,在游戏应用中,基于虚拟对象的行为,确定虚拟对象所在的游戏帧数据,其中,该游戏帧数据包括目标对象的待渲染对象数据,可以采用上述步骤s301至步骤s304,模拟虚拟对象的头发,得到虚拟对象的头发的待渲染对象数据,包括关键对象的位置数据、依赖对象的位置数据及从属对象的位置数据等。
49.在本技术实施例中,可以为关键对象添加物理作用约束,基于物理作用约束确定关键对象的位置数据;获取依赖对象与关键对象之间的相对位置信息,基于相对位置信息及关键对象的位置数据,确定依赖对象的位置数据;获取从属对象与依赖对象之间的对象偏移量,基于对象偏移量及依赖对象的位置数据,确定从属对象的位置数据;对象偏移量是指在对依赖对象进行偏移生成从属对象时所偏移的距离;基于关键对象的位置数据、依赖对象的位置数据及从属对象的位置数据,渲染目标对象。通过以上过程,采用了三级映射实现目标对象的渲染,即关键对象、依赖对象及从属对象,既能满足对象说合计的复杂和特殊造型的需求,也就是以关键对象与依赖对象为基础,实现了造型,以从属对象增加了对象密度,使得目标对象的渲染更加的自然和真实,且仅需对关键对象进行物理处理,其他的对象皆在生成时的数据基础上直接进行位置偏移确定,提高了目标对象的模拟效率。同时,关键对象、依赖对象及从属对象依次关联,而且针对关键对象进行了细致精确的模拟,在此基础
上,保障了整体(即目标对象)渲染的准确性及真实性,又提高了目标对象渲染的效率。
50.进一步地,请参见图4,图4是本技术实施例提供的一种对象生成的方法流程图。如图4所示,该对象生成过程可以包括如下步骤:步骤s401,获取关键对象及依赖对象,获取依赖对象与关键对象之间的相对位置信息。
51.在本技术实施例中,相对位置信息用于在关键对象基础上,渲染依赖对象。
52.具体的,一种关键对象及依赖对象确定方式,计算机设备可以获取第一候选对象对应的对象标签,将对象标签为关键标签的第一候选对象确定为关键对象,将对象标签为依赖标签的第一候选对象确定为依赖对象,也就是说,该关键对象与依赖对象可以是由业务对象(即业务人员,如美工等)直接绘制并设定的,通过关键对象进行物理模拟,通过依赖对象维持对象类型,如发型等,从而使得在此基础上生成的目标对象,既可以通过关键对象的物理模拟直接应用于目标对象,又可以通过依赖对象实现对象类型的设计,提高对象模拟的效率和精度。其中,由于关键对象及依赖对象的数量都较少,因此,即使人工绘制并设定,也不会耗费太多的时间和资源,也在一定程度上提高了目标对象的生成效率。
53.或者,一种关键对象及依赖对象确定方式,可以获取第二候选对象,获取关键对象,对第二候选对象与关键对象进行邻近检测,确定第二候选对象中的依赖对象。通过这一方式,实现了依赖对象的自动选取,减少了手动制作的工作量,提高对象生成效率。
54.可选的,可以获取对象类型,该对象类型用于表示所需生成的目标对象的类型,如发型等。基于对象类型确定h个对象生成区域,如鬓角区域、底部细发区域、刘海区域及马尾区域等,可以基于h个对象生成区域将第三候选对象划分为h个对象集合;h为正整数,不同的对象生成区域的形态等可能有所不同,通过区域划分,提高对象生成的灵活性,如目标对象为头发时,可以满足不同头发造型的需求,提高头发模拟的效果和应用范围等。进一步,可以从h个对象集合分别包括的第三候选对象中,确定h个对象集合分别对应的关键对象及依赖对象,每个对象集合所对应的关键对象及依赖对象的确定方式,可以参见上述各个关键对象及依赖对象确定方式。
55.进一步地,可以获取依赖对象与关键对象之间的相对位置信息,并缓存该相对位置信息。其中,该相对位置信息用于表示依赖对象与该依赖对象所关联的关键对象之间的相对位置。具体的,可以认为关键对象的数量为c,依赖对象的数量为d;c为正整数,d为正整数,一般情况下c是小于d的。将d个依赖对象与c个关键对象组成d个对象对;每个对象对包括一个依赖对象及该依赖对象所关联的关键对象;不同对象对所包括的依赖对象不同。将每个对象对之间的距离,确定为该对象对所包括的依赖对象及关键对象之间的相对位置信息,也就是说,可以得到d个依赖对象分别关联的关键对象,以及d个依赖对象分别对应的相对位置信息。
56.其中,在将d个依赖对象与c个关键对象组成d个对象对时,可以获取第i个依赖对象分别与c个关键对象之间的距离,将最大的距离所对应的关键对象与第i个依赖对象组成第i个对象对;i为小于d的自然数,通过这一方式,可以得到d个对象对,每个对象对包括一个依赖对象及该依赖对象所关联的关键对象。或者,可以将第i个依赖对象与第i%c个关键对象组成第i个对象对,当然,i也可以取小于或等于d的正整数,这一方式的实现,就是将c个关键对象依次循环关联于d个依赖对象,也就是说,c个关键对象依次与d个依赖对象进行
关联,在c个关键对象处理完,重新对c个关键对象依次与剩下的依赖对象进行关联,直至确定d个依赖对象分别关联的关键对象,即i只是用于表示关联顺序;例如,c为5,d为25,将依赖索引0~4的依赖对象,依次关联于关键索引0~4的关键对象,如依赖索引为0的依赖对象与关键索引为0的关键对象关联,依赖索引为1的依赖对象与关键索引为1的关键对象关联等;将依赖索引5~9的依赖对象,依次关联于关键索引0~4的关键对象;

;将依赖索引20~24的依赖对象,依次关联于关键索引0~4的关键对象,通过这一方式,可以使得依赖对象所关联的关键对象是均匀交叉的,可以提高对象模拟的层次性和随机性,从而提高对象模拟的真实性和准确性。或者,可以基于c个关键对象将d个依赖对象划分为c个依赖组,将c个依赖组与c个关键对象一一关联,将一个依赖组中包括的依赖对象关联于该依赖组所关联的关键对象,例如,依赖组1与关键索引1的关键对象关联,该依赖组1包括依赖索引0~4,则表示依赖组1中的依赖索引0~4分别对应的依赖对象,均关联于该关键索引1的关键对象。
57.可选的,可以基于c个关键对象与d个依赖对象,确定组单位数量,基于组单位数量将d个依赖对象划分为c个依赖组,该组单位数量用于表示一个依赖组中所包括的依赖对象的最大数量,其中,可以是对d个依赖对象随机划分为c个依赖组,或者,可以将d个依赖对象进行连续划分,得到c个依赖组,也就是,每个依赖组中所包括的依赖对象是连续的等,在此不做限制。当然可选的,也可以在c个关键对象中,确定d个依赖对象分别关联的关键对象,其中,一个关键对象可以关联一个或多个依赖对象,或者,也可以存在未关联依赖对象的关键对象。
58.其中,上述得到的相对位置信息可以记作《依赖索引,关键索引,相对位置信息》,如《1,0,5mm》表示依赖索引为1的依赖对象关联于关键索引为0的关键对象,且两者之间的相对位置信息为5毫米(mm)。当然,此处的5mm仅为一种简单示例,实际应用中,关键对象与依赖对象之间的相对位置信息并不是简单的数值,如,该相对位置信息可以是指对应的对象对中,依赖对象的依赖对象质点与关键对象的关键对象质点之间的距离;或者是对应的对象对中,依赖对象与关键对象之间的空间相对位置等。
59.步骤s402,对依赖对象进行偏移处理,生成从属对象,记录由依赖对象至从属对象的对象偏移量。
60.在本技术实施例中,对象偏移量用于在依赖对象基础上,渲染从属对象。
61.具体的,一种从属对象生成方式中,可以复制依赖对象,得到依赖对象副本,获取依赖对象的对象附着体;将依赖对象副本附着于对象附着体上,固定依赖对象副本在对象附着体上的附着点,对依赖对象副本进行偏移处理,生成从属对象。例如,参见图5,图5是本技术实施例提供的一种从属对象生成场景示意图,如图5所示,计算机设备可以复制依赖对象501,得到依赖对象副本503,获取依赖对象的对象附着体502,该对象附着体502可以是关键对象附着的对象,或者是生成目标对象的支撑对象。将依赖对象副本503附着于对象附着体502上,对依赖对象副本503进行偏移处理,生成从属对象504。其中,对依赖对象副本503的偏移处理,可以是获取组成依赖对象的依赖对象质点,生成针对每个依赖对象质点的随机均匀偏移量,采用针对每个依赖对象质点的随机均匀偏移量,对依赖对象副本进行偏移处理,生成从属对象。其中,一个从属对象相对于依赖对象的各个依赖对象质点的随机均匀偏移量,可以是根据对象间偏移规律生成的,如该对象间偏移规律是从对象附着点开始渐渐变大,到一个值时均匀偏移等,在此不做限制。其中,从属对象可以与其对应的依赖对象
之间近似平行。
62.或者,一种从属对象生成方式中,可以获取组成依赖对象的依赖对象质点,确定依赖对象质点的切线方向;基于依赖对象质点的切线方向,对依赖对象质点进行偏移处理,得到从属对象质点,将从属对象质点进行连接,生成从属对象。例如,参见图6,图6是本技术实施例提供的另一种从属对象生成场景示意图。如图6所示,计算机设备可以获取组成依赖对象601的依赖对象质点602,确定依赖对象601在依赖对象质点602处的切线方向;对依赖对象质点602进行偏移处理,得到从属对象质点603;基于依赖对象601在依赖对象质点602处的切线方向,对从属对象质点603进行连接,生成从属对象。
63.其中,一个依赖对象可以生成一个或多个从属对象。可选的,可以获取发型需求,获取该发型需求所对应的对象数量要求(如发量要求),基于该对象数量要求确定从属数据量,基于从属数据量及依赖对象,生成从属对象。其中,每个从属对象的生成方式,均可以参见上述从属对象生成方式。
64.步骤s403,将关键对象、依赖对象及从属对象,组成目标对象。
65.其中,目标对象的生成,可以应用于任意一种应用中,例如,在游戏应用中,可以通过上述步骤s401至步骤s403,生成各种对象类型下的目标对象,并在游戏应用中输出目标对象。可以响应针对目标对象中的被选择对象的选中操作,获取该选中操作的请求虚拟对象,将该被选择对象关联渲染至请求虚拟对象上。本技术还可以用于在游戏角色建模阶段中,为游戏角色生成头发等。
66.在本技术实施例中,通过main-depend-follow三级映射方案,可以更加逼真地模拟目标对象的动态效果,使得目标对象更为自然和真实。而且,通过从属对象填充目标对象,可以增加目标对象的对象密度和真实感,提高目标对象的渲染效果。通过依赖对象,支持各种对象类型,如头发中的卷发、直发或长发等,可以提高对象模拟的灵活性及多样性。同时,可以降低制作成本,提高制作效率等。
67.其中,通过本技术所生成的目标对象更为自然和真实,例如,参见图7,图7是本技术实施例提供的一种目标对象的显示效果示意图。如图7所示,以关键对象7011的数量为1为例,采用上述图4所示的方案,确定依赖对象7021,在依赖对象基础上生成从属对象7031,该关键对象7011、依赖对象7021及从属对象7031组成了目标对象704,可以看出,该目标对象的显示效果自然、真实且精确。以关键对象7012的数量为多个为例,采用上述图4所示的方案,确定依赖对象7022,在依赖对象基础上生成从属对象7032,该关键对象7012、依赖对象7022及从属对象7032组成了目标对象704,当然,两种方式下,关键对象的数量较多时,会比数量较少的情况下所生成的目标对象的显示效果更为精确,可以基于显示效果与对象模拟效率的需求,确定关键对象的数量。进一步,通过本技术的图3所示的方案,对目标对象704进行位置更新,得到更新后的目标对象705,也可以看出,可以本技术在虚拟对象等的运动状态下(如跑步等)的显示效果也很自然真实。参见图8,图8是本技术实施例提供的另一种目标对象的显示效果示意图。如图8所示,另一种实验中,以关键对象8011、依赖对象8012及从属对象8013组成目标对象802,可以看出,目标对象802精度高、层数多,样式复杂,显示效果很好。
68.进一步地,请参见图9,图9是本技术实施例提供的一种数据管理装置示意图。该数据管理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码等),例如该数据
管理装置可以为一个应用软件;该装置可以用于执行本技术实施例提供的方法中的相应步骤。如图9所示,该数据管理装置900可以用于图3所对应实施例中的计算机设备,具体的,该装置可以包括:关键处理模块11、相对确定模块12、依赖处理模块13、偏移获取模块14、从属处理模块15及对象渲染模块16。
69.关键处理模块11,用于为关键对象添加物理作用约束,基于物理作用约束确定关键对象的位置数据;相对确定模块12,用于获取依赖对象与关键对象之间的相对位置信息;依赖处理模块13,用于基于相对位置信息及关键对象的位置数据,确定依赖对象的位置数据;偏移获取模块14,用于获取从属对象与依赖对象之间的对象偏移量;从属处理模块15,用于基于对象偏移量及依赖对象的位置数据,确定从属对象的位置数据;对象偏移量是指在对依赖对象进行偏移生成从属对象时所偏移的距离;对象渲染模块16,用于基于关键对象的位置数据、依赖对象的位置数据及从属对象的位置数据,渲染目标对象。
70.其中,物理作用约束的数量为n,n为正整数;该装置900还包括:约束排序模块17,用于根据n个物理作用约束的约束关联关系,对n个物理作用约束进行排序组合,得到m个约束序列;m为正整数,每个约束序列包括n个物理作用约束,不同约束序列中所包括的n个物理作用约束的顺序不同;约束模拟模块18,用于采用m个约束序列分别对样本对象进行物理作用模拟,得到样本对象在m个约束序列下分别对应的对象模拟效果,将最好的对象模拟效果所对应的约束序列确定为目标约束序列;该关键处理模块11,包括:序列约束单元11a,用于采用目标约束序列为关键对象添加n个物理作用约束,获取关键对象在n个物理作用约束下的位置数据。
71.其中,物理作用约束包括质点物理作用约束、运动物理作用约束及碰撞物理作用约束;该关键处理模块11,包括:质点处理单元11b,用于为关键对象添加质点物理作用约束,确定组成关键对象的关键对象质点的质点关联信息,以及关键对象的对象形状信息;物理处理单元11c,用于为关键对象添加运动物理作用约束,确定关键对象所产生的加速度;碰撞处理单元11d,用于采用碰撞物理作用约束对关键对象进行碰撞检测,得到碰撞偏移数据;关键确定单元11e,用于在关键对象的历史位置数据基础上,采用质点关联信息、对象形状信息、关键对象所产生的加速度,以及碰撞偏移数据,确定关键对象的位置数据。
72.其中,该依赖处理模块13,包括:初始更新单元13a,用于基于相对位置信息及关键对象的位置数据,确定依赖对象的初始更新位置数据;依赖碰撞单元13b,用于基于初始更新位置数据对依赖对象进行碰撞处理,得到依
赖对象的位置数据。
73.其中,该装置900还包括:对象获取模块19,用于获取关键对象及依赖对象;位置确定模块20,用于获取依赖对象与关键对象之间的相对位置信息;相对位置信息用于在关键对象基础上,渲染依赖对象;从属生成模块21,用于对依赖对象进行偏移处理,生成从属对象;偏移记录模块22,用于录由依赖对象至从属对象的对象偏移量;对象偏移量用于在依赖对象基础上,渲染从属对象;对象生成模块23,用于将关键对象、依赖对象及从属对象,组成目标对象。
74.其中,该对象获取模块19,包括:标签确定单元19a,用于获取第一候选对象对应的对象标签,将对象标签为关键标签的第一候选对象确定为关键对象,将对象标签为依赖标签的第一候选对象确定为依赖对象;或者,邻近确定单元19b,用于获取第二候选对象,获取关键对象,对第二候选对象与关键对象进行邻近检测,确定第二候选对象中的依赖对象。
75.其中,该对象获取模块19,包括:类型划分单元19c,用于获取对象类型,基于对象类型确定h个对象生成区域,基于h个对象生成区域将第三候选对象划分为h个对象集合;h为正整数;集合确定单元19d,用于从h个对象集合分别包括的第三候选对象中,确定h个对象集合分别对应的关键对象及依赖对象。
76.其中,关键对象的数量为c,依赖对象的数量为d;c为正整数,d为正整数;该位置确定模块20,包括:对象关联单元20a,用于将d个依赖对象与c个关键对象组成d个对象对;每个对象对包括一个依赖对象及该依赖对象所关联的关键对象;不同对象对所包括的依赖对象不同;距离确定单元20b,用于将每个对象对之间的距离,确定为该对象对所包括的依赖对象及关键对象之间的相对位置信息。
77.其中,该对象关联单元20a,具体用于:获取第i个依赖对象分别与c个关键对象之间的距离,将最大的距离所对应的关键对象与第i个依赖对象组成第i个对象对;i为小于d的自然数;或者,将第i个依赖对象与第i%c个关键对象组成第i个对象对。
78.其中,该从属生成模块21,包括:对象复制单元21a,用于复制依赖对象,得到依赖对象副本,获取依赖对象的对象附着体;对象偏移单元21b,用于将依赖对象副本附着于对象附着体上,固定依赖对象副本在对象附着体上的附着点,对依赖对象副本进行偏移处理,生成从属对象。
79.其中,该从属生成模块21,包括:切线确定单元21c,用于获取组成依赖对象的依赖对象质点,确定依赖对象质点的切线方向;
质点处理单元21d,用于基于依赖对象质点的切线方向,对依赖对象质点进行偏移处理,得到从属对象质点,将从属对象质点进行连接,生成从属对象。
80.本技术实施例提供了一种数据管理装置,该装置可以为关键对象添加物理作用约束,基于物理作用约束确定关键对象的位置数据;获取依赖对象与关键对象之间的相对位置信息,基于相对位置信息及关键对象的位置数据,确定依赖对象的位置数据;获取从属对象与依赖对象之间的对象偏移量,基于对象偏移量及依赖对象的位置数据,确定从属对象的位置数据;对象偏移量是指在对依赖对象进行偏移生成从属对象时所偏移的距离;基于关键对象的位置数据、依赖对象的位置数据及从属对象的位置数据,渲染目标对象。通过以上过程,采用了三级映射实现目标对象的渲染,即关键对象、依赖对象及从属对象,既能满足对象说合计的复杂和特殊造型的需求,也就是以关键对象与依赖对象为基础,实现了造型,以从属对象增加了对象密度,使得目标对象的渲染更加的自然和真实,且仅需对关键对象进行物理处理,其他的对象皆在生成时的数据基础上直接进行位置偏移确定,提高了目标对象的模拟效率。同时,关键对象、依赖对象及从属对象依次关联,而且针对关键对象进行了细致精确的模拟,在此基础上,保障了整体(即目标对象)渲染的准确性及真实性,又提高了目标对象渲染的效率。
81.参见图10,图10是本技术实施例提供的一种计算机设备的结构示意图。如图10所示,本技术实施例中的计算机设备可以包括:一个或多个处理器1001、存储器1002和输入输出接口1003。该处理器1001、存储器1002和输入输出接口1003通过总线1004连接。存储器1002用于存储计算机程序,该计算机程序包括程序指令,输入输出接口1003用于接收数据及输出数据,如用于计算机设备与业务设备之间进行数据交互;处理器1001用于执行存储器1002存储的程序指令。
82.其中,该处理器1001可以执行如下操作:为关键对象添加物理作用约束,基于物理作用约束确定关键对象的位置数据;获取依赖对象与关键对象之间的相对位置信息,基于相对位置信息及关键对象的位置数据,确定依赖对象的位置数据;获取从属对象与依赖对象之间的对象偏移量,基于对象偏移量及依赖对象的位置数据,确定从属对象的位置数据;对象偏移量是指在对依赖对象进行偏移生成从属对象时所偏移的距离;基于关键对象的位置数据、依赖对象的位置数据及从属对象的位置数据,渲染目标对象。
83.在一些可行的实施方式中,该处理器1001可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
84.该存储器1002可以包括只读存储器和随机存取存储器,并向处理器1001和输入输出接口1003提供指令和数据。存储器1002的一部分还可以包括非易失性随机存取存储器。例如,存储器1002还可以存储设备类型的信息。
85.具体实现中,该计算机设备可通过其内置的各个功能模块执行如该图3或图4中各个步骤所提供的实现方式,具体可参见该图3或图4中各个步骤所提供的实现方式,在此不再赘述。
86.本技术实施例通过提供一种计算机设备,包括:处理器、输入输出接口、存储器,通过处理器获取存储器中的计算机程序,执行该图3中所示方法的各个步骤,进行数据管理操作。本技术实施例实现了可以为关键对象添加物理作用约束,基于物理作用约束确定关键对象的位置数据;获取依赖对象与关键对象之间的相对位置信息,基于相对位置信息及关键对象的位置数据,确定依赖对象的位置数据;获取从属对象与依赖对象之间的对象偏移量,基于对象偏移量及依赖对象的位置数据,确定从属对象的位置数据;对象偏移量是指在对依赖对象进行偏移生成从属对象时所偏移的距离;基于关键对象的位置数据、依赖对象的位置数据及从属对象的位置数据,渲染目标对象。通过以上过程,采用了三级映射实现目标对象的渲染,即关键对象、依赖对象及从属对象,既能满足对象说合计的复杂和特殊造型的需求,也就是以关键对象与依赖对象为基础,实现了造型,以从属对象增加了对象密度,使得目标对象的渲染更加的自然和真实,且仅需对关键对象进行物理处理,其他的对象皆在生成时的数据基础上直接进行位置偏移确定,提高了目标对象的模拟效率。同时,关键对象、依赖对象及从属对象依次关联,而且针对关键对象进行了细致精确的模拟,在此基础上,保障了整体(即目标对象)渲染的准确性及真实性,又提高了目标对象渲染的效率。
87.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序适于由该处理器加载并执行图3或图4中各个步骤所提供的数据管理方法,具体可参见该图3或图4中各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。作为示例,计算机程序可被部署为在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
88.该计算机可读存储介质可以是前述任一实施例提供的数据管理装置或者该计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
89.本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图3或图4中的各种可选方式中所提供的方法,实现了采用三级映射实现目标对象的渲染,即关键对象、依赖对象及从属对象,既能满足对象说合计的复杂和特殊造型的需求,也就是以关键对象与依赖对象为基础,实现了造型,以从属对象增加了对象密度,使得目标对象的渲染更加的自然和真实,且仅需对关键对象进行物理处理,其他的对象皆在生成时的数据基础上直接进行位置偏移确定,提高了目标对象的模拟效率。同时,关键对象、
依赖对象及从属对象依次关联,而且针对关键对象进行了细致精确的模拟,在此基础上,保障了整体(即目标对象)渲染的准确性及真实性,又提高了目标对象渲染的效率。
90.本技术实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
91.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在该说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
92.本技术实施例提供的方法及相关装置是参照本技术实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据管理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据管理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据管理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据管理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
93.本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
94.本技术实施例装置中的模块可以根据实际需要进行合并、划分和删减。
95.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。

技术特征:
1.一种数据管理方法,其特征在于,所述方法包括:为关键对象添加物理作用约束,基于所述物理作用约束确定所述关键对象的位置数据;获取依赖对象与所述关键对象之间的相对位置信息,基于所述相对位置信息及所述关键对象的位置数据,确定所述依赖对象的位置数据;获取从属对象与所述依赖对象之间的对象偏移量,基于所述对象偏移量及所述依赖对象的位置数据,确定所述从属对象的位置数据;所述对象偏移量是指在对所述依赖对象进行偏移生成所述从属对象时所偏移的距离;基于所述关键对象的位置数据、所述依赖对象的位置数据及所述从属对象的位置数据,渲染目标对象。2.如权利要求1所述的方法,其特征在于,所述物理作用约束的数量为n,n为正整数;所述方法还包括:根据n个物理作用约束的约束关联关系,对所述n个物理作用约束进行排序组合,得到m个约束序列;m为正整数,每个约束序列包括所述n个物理作用约束,不同约束序列中所包括的n个物理作用约束的顺序不同;采用所述m个约束序列分别对样本对象进行物理作用模拟,得到所述样本对象在所述m个约束序列下分别对应的对象模拟效果,将最好的对象模拟效果所对应的约束序列确定为目标约束序列;所述为关键对象添加物理作用约束,基于所述物理作用约束确定所述关键对象的位置数据,包括:采用所述目标约束序列为关键对象添加所述n个物理作用约束,获取所述关键对象在所述n个物理作用约束下的位置数据。3.如权利要求1所述的方法,其特征在于,所述物理作用约束包括质点物理作用约束、运动物理作用约束及碰撞物理作用约束;所述为关键对象添加物理作用约束,基于所述物理作用约束确定所述关键对象的位置数据,包括:为关键对象添加所述质点物理作用约束,确定组成所述关键对象的关键对象质点的质点关联信息,以及所述关键对象的对象形状信息;为所述关键对象添加所述运动物理作用约束,确定所述关键对象所产生的加速度;采用所述碰撞物理作用约束对所述关键对象进行碰撞检测,得到碰撞偏移数据;在所述关键对象的历史位置数据基础上,采用所述质点关联信息、所述对象形状信息、所述关键对象所产生的加速度,以及所述碰撞偏移数据,确定所述关键对象的位置数据。4.如权利要求1所述的方法,其特征在于,所述基于所述相对位置信息及所述关键对象的位置数据,确定所述依赖对象的位置数据,包括:基于所述相对位置信息及所述关键对象的位置数据,确定所述依赖对象的初始更新位置数据;基于所述初始更新位置数据对所述依赖对象进行碰撞处理,得到所述依赖对象的位置数据。5.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述关键对象及所述依赖对象,获取所述依赖对象与所述关键对象之间的相对位置信息;所述相对位置信息用于在所述关键对象基础上,渲染所述依赖对象;对所述依赖对象进行偏移处理,生成所述从属对象,记录由所述依赖对象至所述从属对象的对象偏移量;所述对象偏移量用于在所述依赖对象基础上,渲染所述从属对象;将所述关键对象、所述依赖对象及所述从属对象,组成所述目标对象。6.如权利要求5所述的方法,其特征在于,所述获取所述关键对象及所述依赖对象,包括:获取第一候选对象对应的对象标签,将所述对象标签为关键标签的第一候选对象确定为所述关键对象,将所述对象标签为依赖标签的第一候选对象确定为所述依赖对象;或者,获取第二候选对象,获取所述关键对象,对所述第二候选对象与所述关键对象进行邻近检测,确定所述第二候选对象中的所述依赖对象。7.如权利要求5所述的方法,其特征在于,所述获取所述关键对象及所述依赖对象,包括:获取对象类型,基于所述对象类型确定h个对象生成区域,基于所述h个对象生成区域将第三候选对象划分为h个对象集合;h为正整数;从所述h个对象集合分别包括的第三候选对象中,确定所述h个对象集合分别对应的关键对象及依赖对象。8.如权利要求5所述的方法,其特征在于,所述关键对象的数量为c,所述依赖对象的数量为d;c为正整数,d为正整数;所述获取所述依赖对象与所述关键对象之间的相对位置信息,包括:将d个依赖对象与c个关键对象组成d个对象对;每个对象对包括一个依赖对象及该依赖对象所关联的关键对象;不同对象对所包括的依赖对象不同;将每个对象对之间的距离,确定为该对象对所包括的依赖对象及关键对象之间的相对位置信息。9.如权利要求8所述的方法,其特征在于,所述将d个依赖对象与c个关键对象组成d个对象对,包括:获取第i个依赖对象分别与c个关键对象之间的距离,将最大的距离所对应的关键对象与所述第i个依赖对象组成第i个对象对;i为小于d的自然数;或者,将第i个依赖对象与第i%c个关键对象组成第i个对象对。10.如权利要求5所述的方法,其特征在于,所述对所述依赖对象进行偏移处理,生成所述从属对象,包括:复制所述依赖对象,得到依赖对象副本,获取所述依赖对象的对象附着体;将所述依赖对象副本附着于所述对象附着体上,固定所述依赖对象副本在所述对象附着体上的附着点,对所述依赖对象副本进行偏移处理,生成所述从属对象。11.如权利要求5所述的方法,其特征在于,所述对所述依赖对象进行偏移处理,生成所述从属对象,包括:获取组成所述依赖对象的依赖对象质点,确定所述依赖对象质点的切线方向;基于所述依赖对象质点的切线方向,对所述依赖对象质点进行偏移处理,得到从属对象质点,将所述从属对象质点进行连接,生成所述从属对象。
12.一种数据管理装置,其特征在于,所述装置包括:关键处理模块,用于为关键对象添加物理作用约束,基于所述物理作用约束确定所述关键对象的位置数据;相对确定模块,用于获取依赖对象与所述关键对象之间的相对位置信息;依赖处理模块,用于基于所述相对位置信息及所述关键对象的位置数据,确定所述依赖对象的位置数据;偏移获取模块,用于获取从属对象与所述依赖对象之间的对象偏移量;从属处理模块,用于基于所述对象偏移量及所述依赖对象的位置数据,确定所述从属对象的位置数据;所述对象偏移量是指在对所述依赖对象进行偏移生成所述从属对象时所偏移的距离;对象渲染模块,用于基于所述关键对象的位置数据、所述依赖对象的位置数据及所述从属对象的位置数据,渲染目标对象。13.一种计算机设备,其特征在于,包括处理器、存储器、输入输出接口;所述处理器分别与所述存储器和所述输入输出接口相连,其中,所述输入输出接口用于接收数据及输出数据,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-11任一项所述的方法。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-11任一项所述的方法。

技术总结
本申请实施例公开了一种数据管理方法、装置、计算机及存储介质,该方法包括:为关键对象添加物理作用约束,基于物理作用约束确定关键对象的位置数据;获取依赖对象与关键对象之间的相对位置信息,基于相对位置信息及关键对象的位置数据,确定依赖对象的位置数据;获取从属对象与依赖对象之间的对象偏移量,基于对象偏移量及依赖对象的位置数据,确定从属对象的位置数据;对象偏移量是指在对依赖对象进行偏移生成从属对象时所偏移的距离;基于关键对象的位置数据、依赖对象的位置数据及从属对象的位置数据,渲染目标对象。采用本申请,可以提高对象渲染的真实性、准确性及效率。准确性及效率。准确性及效率。


技术研发人员:李垚
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2023.07.12
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐