CN116168131B - 布料的渲染处理方法、装置、电子设备及存储介质 - Google Patents

布料的渲染处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116168131B
CN116168131B CN202211584852.0A CN202211584852A CN116168131B CN 116168131 B CN116168131 B CN 116168131B CN 202211584852 A CN202211584852 A CN 202211584852A CN 116168131 B CN116168131 B CN 116168131B
Authority
CN
China
Prior art keywords
grid
node
proxy
cloth
nodes
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
CN202211584852.0A
Other languages
English (en)
Other versions
CN116168131A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202211584852.0A priority Critical patent/CN116168131B/zh
Publication of CN116168131A publication Critical patent/CN116168131A/zh
Application granted granted Critical
Publication of CN116168131B publication Critical patent/CN116168131B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

本公开提供了一种布料的渲染处理方法、装置、电子设备及存储介质,涉及人工智能技术领域,具体为增强现实、虚拟现实、计算机视觉、深度学习等技术领域,可应用于元宇宙、虚拟数字人等场景。具体实现方案为:获取代理网格中代理节点的运动位置,代理网格的代理节点能够驱动布料网格的节点的运动;基于预配置的关联关系、节点的坐标信息以及代理节点的运动位置,获取布料网格中的所述节点的运动位置;基于布料网格中的节点的运动位置,对布料网格进行渲染处理,实现对布料网格对应的布料的渲染处理。本公开的技术,能够有效地提高布料运动的渲染效率。

Description

布料的渲染处理方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机技术领域,具体涉及人工智能技术领域,具体为增强现实、虚拟现实、计算机视觉、深度学习等技术领域,可应用于元宇宙、虚拟数字人等场景,尤其涉及一种布料的渲染处理方法、装置、电子设备及存储介质。
背景技术
在虚拟现实、增强现实、数字人形象等涉及到的人物渲染过程中,布料模拟系统对提升渲染人物或数字人形象的动态表现力有重要的作用。
现有主流的布料模拟方案,在布料模拟中,可以解算每帧图像内布料上的各点的运动位置,进而基于各点的运动位置,对布料进行渲染处理。
发明内容
本公开提供了一种布料的渲染处理方法、装置、电子设备及存储介质。
根据本公开的一方面,提供了一种布料运动的渲染处理方法,包括:
获取代理网格中代理节点的运动位置,所述代理网格为基于布料网格配置的面状网格,所述代理网格的代理节点能够驱动所述布料网格的节点的运动;
基于预配置的关联关系、所述节点的坐标信息以及所述代理节点的运动位置,获取所述布料网格中的所述节点的运动位置;所述关联关系为所述布料网格中的节点与所述代理网格中预设数量的所述代理节点之间的关联关系;所述节点的坐标信息为所述节点在关联的各所述代理节点的切线空间中的坐标信息;
基于所述布料网格中的所述节点的运动位置,对所述布料网格进行渲染处理,实现对所述布料网格对应的布料的渲染处理。
根据本公开的另一方面,提供了一种布料的渲染处理装置,包括:
第一位置获取模块,用于获取代理网格中代理节点的运动位置,所述代理网格为基于布料网格配置的面状网格,所述代理网格的代理节点能够驱动所述布料网格的节点的运动;
第二位置获取模块,用于基于预配置的关联关系、所述节点的坐标信息以及所述代理节点的运动位置,获取所述布料网格中的所述节点的运动位置;所述关联关系为所述布料网格中的节点与所述代理网格中预设数量的所述代理节点之间的关联关系;所述节点的坐标信息为所述节点在关联的各所述代理节点的切线空间中的坐标信息;
渲染模块,用于基于所述布料网格中的所述节点的运动位置,对所述布料网格进行渲染处理,实现对所述布料网格对应的布料的渲染处理。
根据本公开的再一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方面和任一可能的实现方式的方法。
根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的方面和任一可能的实现方式的方法。
根据本公开的再另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方面和任一可能的实现方式的方法。
根据本公开的技术,能够有效地提高布料运动的渲染效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开第二实施例的示意图;
图3是本公开提供的一种代理网格的部分的切向示意图;
图4是本公开提供的一种代理网格的部分的俯视示意图;
图5是本公开提供的关联关系示意图;
图6是本公开提供的布料运动后的关联示意图;
图7是根据本公开第三实施例的示意图;
图8是根据本公开第四实施例的示意图;
图9是用来实现本公开实施例的方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
需要说明的是,本公开实施例中所涉及的终端设备可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(TabletComputer)等智能设备;显示设备可以包括但不限于个人电脑、电视等具有显示功能的设备。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
现有的布料运动的渲染处理方案中,无法精准地表达特殊情况下布料的运动,例如接缝位置处的布料、带有褶皱的布料或者带有厚度的布料等的运动,在现有的渲染方案中,都无法准确地表达,因此,现有的布料运动的渲染效率较低。
图1是根据本公开第一实施例的示意图;如图1所示,本实施例提供一种布料的渲染处理方法,具体可以包括如下步骤:
S101、获取代理网格中代理节点的运动位置,该代理网格为基于布料网格配置的面状网格,代理网格的代理节点能够驱动布料网格的节点的运动;
本实施例的布料的渲染处理方法,可以应用于移动端的渲染引擎中,实现对布料运动中每一帧图像中的布料进行渲染处理。例如,可以应用于元宇宙的数字人的渲染中,实现对每一帧数字人穿着的服饰的布料进行渲染处理。也可以用于虚拟现实中的虚拟人物的渲染。还可以应用于增强现实等各种领域中,对穿着有服饰的人物进行渲染。
本实施例中的布料网格,可以为基于数字人的服饰抽象的网格,该布料网格为对数字人的服饰布料物理模拟的网格。而代理网格不是用于模拟真实的物理布料,而是用于驱动布料网格的节点运动的网格。由于代理网格不代表真实的物理布料网格,可以是一个光滑无接缝的整体,可以是最标准、最简单的布料物理体,模拟成本极低,可靠性强。
本实施例中,由于代理网格可以驱动布料网格的运动,所以,要获取布料网格的节点的运动位置,需要先获取代理网格的代理节点的运动位置。具体地,本实施例中,对于某一帧图像的布料运动的位置进行渲染处理时,为了能够准确地渲染布料网格中每个节点的运动位置,此时可以获取代理网格中的所有代理节点的运动位置。
S102、基于预配置的关联关系、节点的坐标信息以及代理节点的运动位置,获取布料网格中的节点的运动位置;
其中,关联关系可以为布料网格中的节点与代理网格中预设数量的代理节点之间的关联关系;节点的坐标信息为节点在关联的各代理节点的切线空间中的坐标信息。
本实施例中,对于布料网格中的各节点,预先配置有该节点与代理网格中预设数量的代理节点之间的关联关系,这样,可以由预设数量的代理节点的运动,驱动布料网格中关联的节点的运动,以模拟布料网格的真实运动情况。
代理网格中的各代理节点具有各自的切线空间,对于布料网格中的各节点,可以获取该节点在关联的各代理节点的切线空间中的坐标信息,该坐标信息可以表示该节点相对于各代理节点的偏移。
本实施例中,对于布料网格中的各节点,可以基于该节点与预设数量的代理节点之间的关联关系、以及该节点在关联的各代理节点的切线空间中的坐标信息以及关联的各代理节点的运动位置,获取布料网格中的该节点的运动位置。基于此方式,可以获取到当前要渲染的帧图像中的布料网格中的每一个节点的运动位置。
S103、基于布料网格中的节点的运动位置,对布料网格进行渲染处理,实现对布料网格对应的布料的渲染处理。
在确定布料网格中的每一个节点的运动位置后,便可以基于每一个节点的运动位置,对布料网格进行渲染处理,即实现对布料网格对应的布料进行渲染。本实施例中,布料运动过程中的每一帧图像,对应布料网格运动后的一个位置,采用该方式,可以实现对布料运动的过程中每一帧图像中的布料的运动情况进行模拟,进而实现对布料运动的渲染。
本实施例的布料运动的渲染处理方法,通过引入代理网格,基于布料网格中的节点与代理网格中预设数量的代理节点之间的关联关系、以及布料网格中的节点在关联的各代理节点的切线空间中的坐标信息以及关联的各代理节点的运动位置,获取布料网格中的节点的运动位置;进而基于布料网格中的节点的运动位置,进行渲染处理,实现通过代理网格的代理节点驱动布料网格的节点的运动,进而可以更加真实地模拟布料网格中节点的运动情况,进而能够对运动中的布料网格进行更加准确地渲染,有效地提高运动中的布料的渲染效率。
本实施例的技术方案,只需要预配置布料网格中节点与代理网格中预设数量的节点的关联关系,便可以通过关联的代理节点驱动对应节点的运动,进而准确地模拟布料网格中节点的运动,无论是带有褶皱的布料,还是针对布料的接缝位置、或者带有厚度的布料,按照本实施例的上述方式,都可以精准地获取到布料网格中节点的运动位置,进而可以基于布料网格中的节点的运动位置,进行精准、有效地渲染处理。因此,本实施例的技术方案,能够实现对布料运动的各个位置进行精准、有效地渲染,有效地提高运动中的布料的渲染效率。例如,在元宇宙领域中,通过使用本实施例的技术方案,能够极大地提高数字人形象的渲染表现力。
图2是根据本公开第二实施例的示意图;本实施例的布料的渲染处理方法,在上述图1所示实施例的技术方案的基础上,进一步更加详细地介绍本公开的技术方案。如图2所示,本实施例的布料运动的渲染处理方法,具体可以包括如下步骤:
S201、基于待渲染的服饰的属性信息,配置布料网格;
具体地,可以基于数字人或者真实人的待渲染的服饰的表面结构,配置布料网格。例如,可以直接在布料表面均匀地划分网格,得到布料网格。该方式配置的布料网格,能够非常清楚、合理地表征服饰的表面结构,以便于对布料进行有效地渲染。
S202、配置代理网格,使得代理网格穿设在布料网格中,代理网格的代理节点部署在一个面上;在布料网格的切向上,代理节点位于布料网格的最高位置的节点和最低位置的节点之间;且在俯视方向上,代理网格中的代理节点与布料网格中的节点互相嵌套;
例如,图3是本公开提供的一种代理网格的部分的切向示意图;如图3所示,图中实线和实心节点所标识的网格的是一段布料网格。如图3中的形状所示,为一块包括两段褶皱的百褶裙的布料的侧视图。如图3所示,布料网格的节点均匀部署在布料的表面。如图3所示,虚线和空心节点所标识的网格是代理网格,代理网格穿设在布料网格中,与布料网格互相嵌套。具体地,代理网格的节点部署在布料网格的切向上的最高位置的节点如节点1和最低位置的节点如节点2之间的面上。也就是说,代理网格可以为一个面状结构,而且由于布料网格是基于布料的属性信息如表面设置的,而服饰的布料的表面为不规则形状,该代理网格是基于布料网格配置的,该代理网格则不会是平面结构,必然是一个曲面结构,按照上述方式,曲面结构的代理网格穿设在布料网格中。
图4是本公开提供的一种代理网格的部分的俯视示意图;如图4所示,可以为图3所示的百褶裙的一段布料的布料网格和代理网格的俯视图。如图4所示,实线和实心节点所标识的网格是一段布料网格,而空心节点对应为代理网格中的代理节点。如图4所示,在俯视方向上,代理网格中的代理节点与布料网格中的节点互相嵌套,避免代理网格中的代理节点与布料网格中的节点在垂直于布料表面的方向上在一条直线上,这样可以便于建立布料网格中的节点与代理网格中的代理节点之间的关联关系。
实际应用中,为了更均匀地关联布料网格,从俯视角度,代理网格的代理节点应该尽可能平均地分布于布料网格的节点的缝隙中,以利于加权关联。从侧视角度,代理网格的代理节点应尽量分布在布料网格的褶皱的最高点和最低点之间,避免出现布料网格的节点严重高过或低于代理网格的节点,导致的渲染游离于物理运动之外的错误效果。
采用上述方式配置的代理网格非常合理,能够准确地进行物理运动的模拟,并能够合理地驱动布料网格的运动。
S203、对于布料网格中的各节点,从代理网格中获取与该节点最近邻的预设数量的代理节点;
具体实现时,可以遍历布料网格中的每个节点,获取每个节点最近邻的预设数量的代理节点,以便于后续建立关联。例如本实施例的预设数量可以为4个。
S204、建立该节点与预设数量的代理节点之间的关联关系;
S205、获取关联关系中的节点在各代理节点的切线空间中的坐标信息,并存储在该节点的属性信息中;
该步骤S203-S206为布料网络中的节点与代理网格中的预设数量的代理节点的关联过程。该过程属于一个线下的准备步骤。在实际应用中,该步骤S203-S205与上述步骤S201和步骤S202都是准备过程。在布料运动的渲染处理之前,仅执行一遍,便固定每个节点与预设数量的代理节点的关联关系,后续不再发生变化。该方式建立的关联关系,非常合理,准确,以便于后续更加准确地实现代理节点对节点的驱动。
本实施例中,预设数量可以为4个,具体可以取每个节点最近邻的4个代理节点,与该节点建立关联关系。例如,图4中的布料网格中的节点P可以与最近邻的4个代理节点P0、P1、P2、和P3建立关联关系。4个代理节点P0、P1、P2、和P3,各自带有一个切线空间T,如T0、T1、T2、和T3。分别以3个正交基t、b、n的形式存于模型文件中。并计算各自正交基下布料网格中的节点P的坐标信息,并存储在节点P的属性信息中。图5是本公开提供的关联关系示意图。如图4所示,以代理节点P0为例,向量在代理节点P0的切线空间T0中可以表达为:
于是,可以求解代理节点P0的切线空间T0中,向量的坐标信息d0可以表示为:
其中t0、b0、n0为空间T0的3个正交基;[xp yp zp]T为世界坐标系下代理节点P0和节点P的坐标信息。同理,按照上述类似的计算方式,可以依次得到d1、d2、和d3
按照上述方式,可以将布料网格中的每个节点均与最近邻的4个代理节点建立关联关系。然后,在布料网格上的每个节点上都记录有4组坐标信息d0、d1、d2、和d3,分别代表该节点相对于关联的4个最近邻的代理节点的偏移。
S206;采用解算器基于外力计算、位置积分、约束解算、以及碰撞检测与解决,解算代理网格中代理节点的运动位置;
具体计算过程,可以参考现有的布料网格的节点的运动位置的计算方式,实现原理相同,在此不再赘述。采用该方式,可以准确地计算到代理网格中每一个代理节点的运动位置。
S207、基于布料网格中的节点与代理网格中预设数量的代理节点之间的关联关系、以及节点在关联的各代理节点的切线空间中的坐标信息,计算得到各代理节点的权重;
具体地,可以从各节点的属性信息中获取到该节点与预设数量的代理节点之间的关联关系,以及该节点在关联的各代理节点的切线空间中的坐标信息。并采用如下公式,计算每个代理点Pi的权重wi
基于上述公式,可以得知,与节点P的距离越近的代理节点所占的权重越大,反之,与节点P的距离越远的代理节点所占的权重越小。
采用该步骤,可以准确地计算布料网格中,每一个节点关联的预设数量的代理节点中,各代理节点的权重,用于后续估算节点的运动位置。
S208、基于各代理节点的运动位置,对代理网格进行表面重建,获得表面重建后的各代理节点的切线空间;
本实施例中,在每一帧图像的渲染过程中,布料运动发生,代理节点的运动位置发生变化,均需要对代理网格进行表面重建,其中包括各代理节点的t、b、n的重建,并对应更新各代理节点的切线空间Ti
S209、基于各代理节点的权重、各代理节点的切线空间、各代理节点的运动位置以及该节点在关联的各代理节点的切线空间中的坐标信息,计算得到布料网格中节点的运动位置;
例如,对于布料网格中的任一节点P,运动后的新位置可以依靠加权计算得到,具体可以采用如下公式计算节点P的运动位置:
其中,向量由原/>随着相应切线空间Ti移动所得,例如,可以表示为:
基于此,节点P的运动位置可以表示为:
例如,图6是本公开提供的布料运动后的关联示意图。如图6所示,布料运动后,基于上述步骤S206的计算,可以计算到代理节点P0移动到P0 ,代理节点P1移动到P1 ,代理节点P2移动到P2 ,代理节点P3移动到P3 。对于布料网格中任一当前节点P,按照本实施例的上述方式,可以基于关联的各代理节点移动后的运动位置、各代理节点的权重、各代理节点的切线空间、以及当前节点在关联的各代理节点的切线空间中的坐标信息,获取布料网格中的当前节点的运动位置。基于该方式,可以准确地获取到布料网格中的每一个节点的运动位置。
S210、基于布料网格中的节点的运动位置,对布料网格进行表面重建,并更新布料网格得节点的切线空间;
S211、基于布料网格中的节点的切线空间,对布料网格进行渲染处理,实现对布料网格对应的布料的渲染处理。
获取到布料网格中各节点的运动位置后,需要对布料网格的表面进行重建,包括各节点的t、b、n的重建,以及各节点的切线空间的更新。然后,便可以基于各节点的切线空间,对布料网格进行渲染处理,进而实现对布料网格模拟的布料进行渲染处理。
基于以上所述,可以得知,本公开中,以建立代理网格并模拟代理网格的方法,大幅简化布料模拟的网格表达和运算量。代理网格采用单层结构,且比较平整,可以用传统布料模拟方案模拟。在本公开的方案中,代理网格用于物理模拟,布料网格用于实际渲染。由代理网格的运动驱动布料网格的运动。采用本实施例的方式,可以实现对布料运动的每一帧图像中的布料网格的进行准确、高效地渲染,进而实现布料运动的准确、高效地渲染。
本公开的代理网格可以是一个光滑无接缝的整体,属于最标准简单的布料物理体,模拟成本极低,可靠性强。本公开,可以通过将褶皱、接缝、厚度等复杂的待渲染的布料网格的结构,在初始化阶段逐节点、一次性地关联到代理网格的数个代理节点上。让代理网格具备驱动复杂的布料网格结构的能力。本公开的方案,可以将网格结构信息与物理模型解耦,将结构信息逐节点编码进4个向量中。物理模拟与结构信息重建以互不干涉的状态串行地进行,一方面大幅减小了物理解算的压力,另一方面让渲染的布料网格不再受制于物理模型,极大提升渲染表现力。
本实施例的布料的渲染方法,通过采用上述代理网格,使用简单结构的代理网格驱动复杂的布料网格,进而可以基于代理网格的运动,更加精准地获取布料网格中各节点的运动位置,进而可以准确地实现布料运动的渲染,提高布料运动的渲染效率,提升布料运动的渲染表现力。而且本实施例的技术方案,无论针对于布料网格的边缘接缝处的运动,还是褶皱的布料网格或者具有一定厚度的布料网格,代理网格驱动布料网格的运动原理都相同,均能够准确地获取到布料网格中各节点的运动位置,进而可以准确地实现运动中的布料的高效渲染,准确性非常高,通用性非常强。
图7是根据本公开第三实施例的示意图;如图7所示,本实施例提供一种布料的渲染处理装置700,可以应用于渲染引擎中,包括:
第一位置获取模块701,用于获取代理网格中代理节点的运动位置,所述代理网格为基于布料网格配置的面状网格,所述代理网格的代理节点能够驱动所述布料网格的节点的运动;
第二位置获取模块702,用于基于预配置关联关系、所述节点的坐标信息以及代理节点的运动位置,获取所述布料网格中的所述节点的运动位置;所述关联关系为所述布料网格中的节点与所述代理网格中预设数量的所述代理节点之间的关联关系;所述节点的坐标信息为所述节点在关联的各所述代理节点的切线空间中的坐标信息;
渲染模块703,用于基于所述布料网格中的所述节点的运动位置,对所述布料网格进行渲染处理,实现对所述布料网格对应的布料的渲染处理。
本实施例的布料的渲染处理装置700,通过采用上述模块实现布料运动的渲染处理的实现原理以及技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关实施例的记载,在此不再赘述。
图8是根据本公开第四实施例的示意图;如图8所示,本实施例提供一种布料的渲染处理装置800,包括上述图7所示的同名同功能模块:第一位置获取模块801、第二位置获取模块802以及渲染模块803。
本实施例中,第一位置获取模块801,用于:
采用解算器基于外力计算、位置积分、约束解算、以及碰撞检测与解决,解算所述代理网格中所述代理节点的运动位置。
如图8所示,在本公开的一个实施例中,布料运动的渲染处理装置800还包括:
配置模块804,用于配置所述代理网格,使得所述代理网格穿设在所述布料网格中,所述代理网格的所述代理节点部署在一个面上,在所述布料网格的切向上,所述代理节点位于所述布料网格的最高位置的节点和最低位置的节点之间;且在俯视方向上,所述代理网格中的所述代理节点与所述布料网格中的所述节点互相嵌套。
进一步可选地,在本公开的一个实施例中,配置模块804,还用于:
基于待渲染的服饰的属性信息,配置所述布料网格。
如图8所示,在本公开的一个实施例中,布料运动的渲染处理装置800还包括:关联建立模块805,用于:
对于所述布料网格中的各所述节点,从所述代理网格中获取与所述节点最近邻的预设数量的所述代理节点;
建立所述节点与所述预设数量的所述代理节点之间的关联关系;
获取所述关联关系中的所述节点在各所述代理节点的切线空间中的坐标信息,并存储在所述节点的属性信息中。
进一步可选地,在本公开的一个实施例中,第二位置获取模块802,用于:
基于关联关系、以及所述节点的坐标信息,计算得到各所述代理节点的权重;
基于各所述代理节点的运动位置,对所述代理网格进行表面重建,获得表面重建后的各所述代理节点的切线空间;
基于各所述代理节点的权重、各所述代理节点的切线空间、各所述代理节点的运动位置以及所述节点的坐标信息,计算得到所述布料网格中所述节点的运动位置。
进一步可选地,在本公开的一个实施例中,渲染模块803,用于:
基于所述布料网格中的所述节点的运动位置,更新所述节点的切线空间;
基于所述布料网格中的所述节点的切线空间,对所述布料网格进行渲染处理,实现对所述布料网格对应的布料的渲染处理。
本实施例的布料的渲染处理装置800,通过采用上述模块实现布料运动的渲染处理的实现原理以及技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关实施例的记载,在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如本公开的上述方法。例如,在一些实施例中,本公开的上述方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的本公开的上述方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开的上述方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (16)

1.一种布料的渲染处理方法,包括:
获取代理网格中代理节点的运动位置,所述代理网格为基于布料网格配置的面状网格,所述代理网格的代理节点能够驱动所述布料网格的节点的运动;
基于预配置的关联关系、所述节点的坐标信息以及所述代理节点的运动位置,获取所述布料网格中的所述节点的运动位置;所述关联关系为所述布料网格中的节点与所述代理网格中预设数量的所述代理节点之间的关联关系;所述节点的坐标信息为所述节点在关联的各所述代理节点的切线空间中的坐标信息;
基于所述布料网格中的所述节点的运动位置,对所述布料网格进行渲染处理,实现对所述布料网格对应的布料的渲染处理。
2.根据权利要求1所述的方法,其中,获取代理网格中代理节点的运动位置,包括:
采用解算器基于外力计算、位置积分、约束解算、以及碰撞检测与解决,解算所述代理网格中所述代理节点的运动位置。
3.根据权利要求1所述的方法,所述方法还包括:
配置所述代理网格,使得所述代理网格穿设在所述布料网格中,所述代理网格的所述代理节点部署在一个面上;在所述布料网格的切向上,所述代理节点位于所述布料网格的最高位置的节点和最低位置的节点之间;且在俯视方向上,所述代理网格中的所述代理节点与所述布料网格中的所述节点互相嵌套。
4.根据权利要求3所述的方法,所述方法还包括:
基于待渲染的服饰的属性信息,配置所述布料网格。
5.根据权利要求3所述的方法,所述方法还包括:
对于所述布料网格中的各所述节点,从所述代理网格中获取与所述节点最近邻的预设数量的所述代理节点;
建立所述节点与所述预设数量的所述代理节点之间的关联关系;
获取所述关联关系中的所述节点在各所述代理节点的切线空间中的坐标信息,并存储在所述节点的属性信息中。
6.根据权利要求1-5中任一所述的方法,其中,基于预配置的关联关系、以及所述节点的坐标信息以及各所述代理节点的运动位置,获取所述布料网格中的所述节点的运动位置,包括:
基于所述关联关系、以及所述节点的坐标信息,计算得到各所述代理节点的权重;
基于各所述代理节点的运动位置,对所述代理网格进行表面重建,获得表面重建后的各所述代理节点的切线空间;
基于各所述代理节点的权重、各所述代理节点的切线空间、各所述代理节点的运动位置以及所述节点的坐标信息,计算得到所述布料网格中所述节点的运动位置。
7.根据权利要求1-5中任一所述的方法,其中,基于所述布料网格中的所述节点的运动位置,对所述布料网格进行渲染处理,实现对所述布料网格对应的布料的渲染处理,包括:
基于所述布料网格中的所述节点的运动位置,更新所述节点的切线空间;
基于所述布料网格中的所述节点的切线空间,对所述布料网格进行渲染处理,实现对所述布料网格对应的布料的渲染处理。
8.一种布料的渲染处理装置,包括:
第一位置获取模块,用于获取代理网格中代理节点的运动位置,所述代理网格为基于布料网格配置的面状网格,所述代理网格的代理节点能够驱动所述布料网格的节点的运动;
第二位置获取模块,用于基于预配置的关联关系、所述节点的坐标信息以及所述代理节点的运动位置,获取所述布料网格中的所述节点的运动位置;所述关联关系为所述布料网格中的节点与所述代理网格中预设数量的所述代理节点之间的关联关系;所述节点的坐标信息为所述节点在关联的各所述代理节点的切线空间中的坐标信息;
渲染模块,用于基于所述布料网格中的所述节点的运动位置,对所述布料网格进行渲染处理,实现对所述布料网格对应的布料的渲染处理。
9.根据权利要求8所述的装置,其中,所述第一位置获取模块,用于:
采用解算器基于外力计算、位置积分、约束解算、以及碰撞检测与解决,解算所述代理网格中所述代理节点的运动位置。
10.根据权利要求8所述的装置,其中,所述装置还包括:
配置模块,用于配置所述代理网格,使得所述代理网格穿设在所述布料网格中,所述代理网格的所述代理节点部署在一个面上,在所述布料网格的切向上,所述代理节点位于所述布料网格的最高位置的节点和最低位置的节点之;且在俯视方向上,所述代理网格中的所述代理节点与所述布料网格中的所述节点互相嵌套。
11.根据权利要求10所述的装置,其中,所述配置模块,还用于:
基于待渲染的服饰的属性信息,配置所述布料网格。
12.根据权利要求10所述的装置,其中,所述装置还包括关联建立模块,用于:
对于所述布料网格中的各所述节点,从所述代理网格中获取与所述节点最近邻的预设数量的所述代理节点;
建立所述节点与所述预设数量的所述代理节点之间的关联关系;
获取所述关联关系中的所述节点在各所述代理节点的切线空间中的坐标信息,并存储在所述节点的属性信息中。
13.根据权利要求8-12中任一所述的装置,其中,所述第二位置获取模块,用于:
基于所述关联关系、以及所述节点的坐标信息,经过计算得到各所述代理节点的权重;
基于各所述代理节点的运动位置,对所述代理网格进行表面重建,获得表面重建后的各所述代理节点的切线空间;
基于各所述代理节点的权重、各所述代理节点的切线空间、各所述代理节点的运动位置以及所述节点的坐标信息,经过计算得到所述布料网格中所述节点的运动位置。
14.根据权利要求8-12中任一所述的装置,其中,所述渲染模块,用于:
基于所述布料网格中的所述节点的运动位置,更新所述节点的切线空间;
基于所述布料网格中的所述节点的切线空间,对所述布料网格进行渲染处理,实现对所述布料网格对应的布料的渲染处理。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
CN202211584852.0A 2022-12-09 2022-12-09 布料的渲染处理方法、装置、电子设备及存储介质 Active CN116168131B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211584852.0A CN116168131B (zh) 2022-12-09 2022-12-09 布料的渲染处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211584852.0A CN116168131B (zh) 2022-12-09 2022-12-09 布料的渲染处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116168131A CN116168131A (zh) 2023-05-26
CN116168131B true CN116168131B (zh) 2023-11-21

Family

ID=86420956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211584852.0A Active CN116168131B (zh) 2022-12-09 2022-12-09 布料的渲染处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116168131B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519775B1 (ko) * 2014-01-13 2015-05-12 인천대학교 산학협력단 오브젝트의 모션 인식 기반 애니메이션 생성 방법 및 장치
CN111028320A (zh) * 2019-12-11 2020-04-17 腾讯科技(深圳)有限公司 布料动画的生成方法、装置、计算机可读存储介质
CN111951360A (zh) * 2020-08-14 2020-11-17 腾讯科技(深圳)有限公司 动画模型处理方法、装置、电子设备及可读存储介质
WO2021228031A1 (zh) * 2020-05-09 2021-11-18 华为技术有限公司 渲染方法、设备以及系统
CN114565705A (zh) * 2022-02-28 2022-05-31 百果园技术(新加坡)有限公司 一种虚拟人物的仿真、直播方法、装置、设备及存储介质
CN114792359A (zh) * 2022-06-24 2022-07-26 北京百度网讯科技有限公司 渲染网络训练和虚拟对象渲染方法、装置、设备及介质
CN115018992A (zh) * 2022-06-29 2022-09-06 北京百度网讯科技有限公司 发型模型的生成方法、装置、电子设备及存储介质
CN115063517A (zh) * 2022-06-07 2022-09-16 网易(杭州)网络有限公司 游戏中的闪光效果渲染方法及装置、存储介质和电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020191206A1 (en) * 2001-06-18 2002-12-19 Anderson Jeff M. Rendering broker service and method
US9704288B2 (en) * 2010-05-04 2017-07-11 Disney Enterprises, Inc. Stable spaces for rendering character garments in real-time
WO2015175730A1 (en) * 2014-05-13 2015-11-19 Nant Vision, Inc. Augmented reality content rendering via albedo models, systems and methods
US9928643B2 (en) * 2015-09-28 2018-03-27 Douglas Rogers Hierarchical continuous level of detail for three-dimensional meshes
GB2546286B (en) * 2016-01-13 2020-02-12 Sony Interactive Entertainment Inc Apparatus and method of image rendering
US11803674B2 (en) * 2019-11-18 2023-10-31 Autodesk, Inc. Dual mode post processing
EP4189530A1 (en) * 2020-07-25 2023-06-07 Silver Spoon Animation Inc. System and method for populating a virtual crowd in real-time using augmented and virtual reality
US20220375163A1 (en) * 2021-05-14 2022-11-24 Unity Technologies Sf Computationally-Efficient Generation of Simulations of Cloth-Like Materials Using Bilinear Element Models

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519775B1 (ko) * 2014-01-13 2015-05-12 인천대학교 산학협력단 오브젝트의 모션 인식 기반 애니메이션 생성 방법 및 장치
CN111028320A (zh) * 2019-12-11 2020-04-17 腾讯科技(深圳)有限公司 布料动画的生成方法、装置、计算机可读存储介质
WO2021228031A1 (zh) * 2020-05-09 2021-11-18 华为技术有限公司 渲染方法、设备以及系统
CN111951360A (zh) * 2020-08-14 2020-11-17 腾讯科技(深圳)有限公司 动画模型处理方法、装置、电子设备及可读存储介质
CN114565705A (zh) * 2022-02-28 2022-05-31 百果园技术(新加坡)有限公司 一种虚拟人物的仿真、直播方法、装置、设备及存储介质
CN115063517A (zh) * 2022-06-07 2022-09-16 网易(杭州)网络有限公司 游戏中的闪光效果渲染方法及装置、存储介质和电子设备
CN114792359A (zh) * 2022-06-24 2022-07-26 北京百度网讯科技有限公司 渲染网络训练和虚拟对象渲染方法、装置、设备及介质
CN115018992A (zh) * 2022-06-29 2022-09-06 北京百度网讯科技有限公司 发型模型的生成方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于PhysX物理引擎的布料仿真技术的研究与实现;苏新新;李学庆;祁斌;;计算机应用(第12期);3445-3448 *

Also Published As

Publication number Publication date
CN116168131A (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
CN113643412A (zh) 虚拟形象的生成方法、装置、电子设备及存储介质
CN113129450B (zh) 虚拟试衣方法、装置、电子设备和介质
CN112785674A (zh) 纹理贴图的生成方法、渲染方法、装置、设备及存储介质
CN114842123B (zh) 三维人脸重建模型训练和三维人脸形象生成方法及装置
CN111710035B (zh) 人脸重建方法、装置、计算机设备及存储介质
CN115049799A (zh) 3d模型和虚拟形象的生成方法和装置
CN116310000B (zh) 蒙皮数据生成方法、装置、电子设备及存储介质
CN115147265A (zh) 虚拟形象生成方法、装置、电子设备和存储介质
CN113409430A (zh) 可驱动三维人物生成方法、装置、电子设备及存储介质
CN116342782A (zh) 生成虚拟形象渲染模型的方法和装置
CN114549728A (zh) 图像处理模型的训练方法、图像处理方法、装置及介质
CN112784102B (zh) 视频检索方法、装置和电子设备
CN116168131B (zh) 布料的渲染处理方法、装置、电子设备及存储介质
CN115222895B (zh) 图像生成方法、装置、设备以及存储介质
CN113327311B (zh) 基于虚拟角色的显示方法、装置、设备、存储介质
CN116524162A (zh) 三维虚拟形象迁移方法、模型更新方法及相关设备
CN115082298A (zh) 图像生成方法、装置、电子设备以及存储介质
CN114581586A (zh) 一种模型基底的生成方法、装置、电子设备及存储介质
CN113112398A (zh) 图像处理方法和装置
CN115147578B (zh) 风格化三维人脸生成方法、装置、电子设备及存储介质
CN114327346B (zh) 显示方法、显示装置、电子设备以及存储介质
CN113538644B (zh) 人物动态视频生成方法、装置、电子设备以及存储介质
CN114820908B (zh) 虚拟形象生成方法、装置、电子设备和存储介质
CN116051694B (zh) 虚拟形象生成方法、装置、电子设备以及存储介质
CN115147681B (zh) 服饰生成模型的训练、生成服饰图像的方法和装置

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