CN112258653A - 弹性对象的渲染方法、装置、设备及存储介质 - Google Patents
弹性对象的渲染方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112258653A CN112258653A CN202011169108.5A CN202011169108A CN112258653A CN 112258653 A CN112258653 A CN 112258653A CN 202011169108 A CN202011169108 A CN 202011169108A CN 112258653 A CN112258653 A CN 112258653A
- Authority
- CN
- China
- Prior art keywords
- point
- speed
- affected
- deformation
- elastic object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000009877 rendering Methods 0.000 title claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 16
- 230000005484 gravity Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 23
- 230000008569 process Effects 0.000 abstract description 14
- 238000004088 simulation Methods 0.000 abstract description 12
- 230000003993 interaction Effects 0.000 abstract description 8
- 230000005489 elastic deformation Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 239000002245 particle Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000011859 microparticle Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012876 topography Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229920001971 elastomer Polymers 0.000 description 1
- 239000000806 elastomer Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000001483 mobilizing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Abstract
本公开涉及弹性对象的渲染方法、装置、设备及存储介质,方法包括:通过构建弹性对象的网格模型,响应于针对弹性对象的形变触发操作,确定弹性对象的网格模型中在形变触发操作下的受作用点的形变位置和速度,基于受作用点的形变位置和速度以及弹性对象的网格模型中各网格点的弹性约束,确定弹性对象的网格模型中各网格点的运动轨迹,基于弹性对象的网格模型中各网格点的运动轨迹,调动弹性对象的网格模型进行弹性运动。其能够实现对弹性对象因受力发生弹性形变的整个过程进行模拟并进行动态显示,可以提供逼真的弹性效果,提高与用户的可互动性,提高用户体验。
Description
技术领域
本公开实施例涉及图像渲染技术领域,尤其涉及一种弹性对象的渲染方法、装置、设备及存储介质。
背景技术
相关技术实现动态特效的方法主要包括骨骼动画、混合变形(或者称为BlendShape)和顶点动画三种方法。但是这三种方法无法提供逼真的弹性效果,且用户无法参与互动,用户体验较差。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种弹性对象的渲染方法、装置、设备及存储介质。
本公开实施例的第一方面提供了一种弹性对象的渲染方法,包括:
构建弹性对象的网格模型;
响应于针对所述弹性对象的形变触发操作,确定所述弹性对象的网格模型中在所述形变触发操作下的受作用点的形变位置和速度,其中,所述形变触发操作用于触发所述弹性对象因受作用而发生形变,所述受作用点为所述弹性对象中因受作用而离开原始位置的网格点;
基于所述受作用点的形变位置和速度以及所述弹性对象的网格模型中各网格点的弹性约束,确定所述弹性对象的网格模型中各网格点的运动轨迹;
基于所述弹性对象的网格模型中各网格点的运动轨迹,调动所述弹性对象的网格模型进行弹性运动。
本公开实施例的第二方面提供了一种渲染装置,包括:
模型构建模块,用于构建弹性对象的网格模型;
第一确定模块,用于响应于针对所述弹性对象的形变触发操作,确定所述弹性对象的网格模型中在所述形变触发操作下的受作用点的形变位置和速度,其中,所述形变触发操作用于触发所述弹性对象因受作用而发生形变,所述受作用点为所述弹性对象中因受作用而离开原始位置的网格点;
第二确定模块,用于基于所述受作用点的形变位置和速度以及所述弹性对象的网格模型中各网格点的弹性约束,确定所述弹性对象的网格模型中各网格点的运动轨迹;
执行模块,用于基于所述弹性对象的网格模型中各网格点的运动轨迹,调动所述弹性对象的网格模型进行弹性运动。
本公开实施例的第三方面提供了一种终端设备,该终端设备包括存储器和处理器,其中,存储器中存储有计算机程序,当该计算机程序被处理器执行时,可以实现上述第一方面的方法。
本公开实施例的第四方面提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,当该计算机程序被处理器执行时,可以实现上述第一方面的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供的技术方案,通过构建弹性对象的网格模型,响应于针对弹性对象的形变触发操作,确定弹性对象的网格模型中在形变触发操作下的受作用点的形变位置和速度,基于受作用点的形变位置和速度以及弹性对象的网格模型中各网格点的弹性约束,确定弹性对象的网格模型中各网格点的运动轨迹,基于弹性对象的网格模型中各网格点的运动轨迹,调动弹性对象的网格模型进行弹性运动。本公开实施例提供的方案可以实现对弹性对象因受力发生弹性形变的整个过程进行模拟并进行动态显示,可以提供逼真的弹性效果,提高与用户的可互动性,提高用户体验。
本公开实施例提供的技术方案仅将构成对应物的点中部分具有代表性的点(如对应物表面的点,或描绘对应物轮廓线的点),投射到虚拟世界中,作为弹性对象的网格模型上的网格点,其可以大大减小网格模型中网格点的数量,降低后续计算的复杂程度,降低计算对硬件性能的依赖程度,尤其适用于手机、智能手表等小型化,计算能力弱的设备。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种弹性对象的渲染方法的流程图;
图2为本公开实施例提供的一种弹性对象的形状示意图;
图3为在图2中标注网格点后的示意图;
图4为本公开实施例提供的一种用户执行触摸滑动操作的示意图;
图5为本公开实施例提供的另一种用户执行触摸滑动操作的示意图;
图6为本公开实施例提供的另一种用户执行触摸滑动操作的示意图;
图7为本公开实施例提供的另一种弹性对象的渲染方法的流程图;
图8为本公开实施例提供的一种渲染装置的结构框图;
图9是本公开实施例中的一种终端设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
图1是本公开实施例提供的一种弹性对象的渲染方法的流程图,该方法可以由一种终端设备来执行。该终端设备可以示例性的理解为诸如手机、平板电脑、笔记本电脑、台式机、智能电视等具有视频或动画播放能力的设备。在一些实施例中,本实施例所称的终端设备上可以搭载显示设备和人机交互设备,终端设备可以通过人机交互设备接收用户指令,并基于用户指令借助显示设备呈现适当的响应结果,如通过显示设备显示特定的动态3D弹性特效。本公开提供的技术方案可以应用于对视频进行录制、编辑的情况,还可以应用于多人通过终端互动(如进行视频通话)的情况。当然,本公开提供的技术方案还可以应用其他情况,本公开对此不作限制。
如图1所示,本实施例提供的方法包括如下步骤:
步骤110、构建弹性对象的网格模型。
本实施例中,弹性对象的网格模型可以基于弹性对象的3D模型数据构建得到,其中弹性对象的3D模型数据可以预先配置得到。
在本步骤中,弹性对象被渲染在终端设备的界面上,其中,界面是指终端的显示界面。具体地,界面可以为终端上安装的某个应用程序的使用界面。如为视频通话界面或视频录制界面,视频编辑界面以及视频播放界面等。
弹性对象是指在界面中显示的能够响应用户的操作并展示弹性动态效果的对象。示例性,若界面为视频编辑界面、视频通话界面或视频播放界面,弹性对象可以为作为特效添加的道具。在一些实施例中,可以设置弹性对象能够与现实世界中具体的物体(以下简称对应物)对应。示例性地,弹性对象为帽子形道具、围巾形道具、头套形道具以及皮球形道具等。
从微观角度来看,现实世界中具体的物体由数目众多的粒子、原子或分子等微观粒子构成。由于这些微观粒子间存在相互作用力,使得物体在发生形变后,能恢复原来大小和形状,即具有弹性。通过设置弹性对象能够与现实世界中具体的物体对应,实质上是将现实世界的具体物体投射到虚拟世界中,或者称为用弹性对象模拟现实世界的具体物体,使得用户感受更加真实,引起用户共鸣。
本领域技术人员可以理解,现实世界中,如果将对应物视作为点的集合。当拉扯对应物时,对应物发生形变。形变的本质是构成对应物的多个点之间的相对位置发生变化。基于此,可以设置弹性对象包括多个网格点。网格点用于描绘弹性对象的形貌。
进一步地,在现实世界中,对应物是立体的,因此构成对应物的点包括描绘对应物表面的点和描绘对应物内部的点。只有描绘对应物表面的点和描绘对应物内部的点共同作用,才能构成对应物。
而在本公开技术方案中,由于在实际使用时,弹性对象主要起到对图像进行修饰,其往往不需要关注其内部结构。例如,如果为界面中某个人物图像带帽子,只需要将帽子的图片叠加到人物的图片上即可,不需要完全展示帽子内部情况。因此,可选地,在本公开中,仅选择具有代表性的点作为网格点即可。即在确定网格点时,仅将构成对应物的点中部分具有代表性的点投射到虚拟世界中,作为弹性对象的网格点。其中“具有代表性的点”可以为描述具体对应物表面的点,或可以描绘对应物轮廓线的点。
由于在后续计算中,主要是以网格点为对象,计算各网格点的速度和位置,最终得到弹性对象的整个动态效果。通过设置仅将构成对应物的点中部分具有代表性的点投射到虚拟世界中,作为弹性对象的网格点,其可以大大减小网格点的数量,降低后续计算的复杂程度,降低计算对硬件性能的依赖程度,尤其适用于手机、智能手表等小型化,计算能力弱的设备。
进一步地,由于在现实世界中,构成对应物的微观粒子间存在相互力。为了模拟现实世界对应物中微观粒子间的相互作用力,设置不同网格点之间存在弹性约束。其弹性约束具体可以使用约束规则和/或限定条件予以表示。约束规则和/或限定条件可以根据弹性对象在现实世界中对应物进行力学分析结果确定。
网格点的具体设置方法有多种,本申请对此不作限制。示例性地,图2为本公开实施例提供的一种弹性对象的形状示意图。在图2中,该弹性对象为形状为帽子的道具。图3为在图2中标注网格点后的示意图。对比图2和图3,网格点的设置方法包括:在弹性对象的表面绘制网格,将构成网格的边线的交点作为网格点。其中,用于绘制网格的线可以为直线,也可以为曲线。不同网格的形状可以相同,也可以不同。
本步骤的具体实现方法可以为:获取用户输入的弹性对象添加指令;响应于该弹性对象添加指令,构建弹性对象的网格模型,并在待编辑的界面上显示添加的弹性对象。
步骤120、响应于针对弹性对象的形变触发操作,确定弹性对象的网格模型中在形变触发操作下的受作用点的形变位置和速度;
本步骤的形变触发操作作用于弹性对象使得弹性对象因受作用而发生形变,受作用点为弹性对象中因受作用而离开原始位置的网格点。
受作用点的运动可以视作为,直接因用户的形变触发操作(比如,拉扯操作)而产生的运动。弹性对象的网格模型中的网格点,除受作用点外,其他的网格点的运动,为因该受作用点的运动以及预设弹性约束的限制而产生的运动。
用户对弹性对象的形变触发操作可以通过触控屏等设备获得。可选地,若终端中显示设备复用触控屏,用户可以直接在显示设备上执行形变触发操作。
在上述技术方案的基础上,可选地,用户对受作用点的形变触发操作包括触摸滑动操作,触摸滑动操作对应的触摸点用于确定受作用点,滑动触摸操作对应的滑动轨迹用于确定受作用点的形变位置和速度。示例性地,用户执行对弹性对象的形变触发操作的方法是,用户用手指触摸显示设备上某一区域(以下简称触摸区域),并向某一方向移动手指。需要说明的是,在实际中,用户触摸和滑动的过程中,可以向显示设备施加压力,也可以不向显示设备施加压力。若用户对显示设备施加压力,可以调用压力传感器对用户的触控操作进行识别。若用户对显示设备不施加压力,可以调用光感传感器对用户的触控操作进行识别。
在实际中,若采用触摸滑动的方式触发受作用点偏离原始位置移动,其主要包括两种情况:
情况一,用户触摸区域与弹性对象覆盖的区域不重合。即触摸滑动操作对应的触摸点不在弹性对象上,而是触摸界面中除弹性对象所覆盖的区域以外的其他区域上。此种情况下,可以设置受作用点为弹性对象上的预设网格点;用户作用在界面上的触摸滑动操作被映射到预设网格点上。
图4为本公开实施例提供的一种用户执行触摸滑动操作的示意图。参见图4,可以预先规定该弹性对象中网格点b为预设网格点。用户的实际操作为先触摸点a,并沿X方向移动。将该实际操作映射后,可以视作为用户触摸点b,并沿X方向移动。
情况二,用户触摸区域与弹性对象覆盖区域至少部分重合。即触摸滑动操作对应的触摸点在弹性对象上。此种情况下,可以设置受作用点为弹性对象的网格模型中与触摸点对应的网格点;用户作用在界面上的触摸滑动操作被映射到该网格点上。
图5为本公开实施例提供的另一种用户执行触摸滑动操作的示意图。参见图5,用户输入对弹性对象的拉扯指令的实际操作为触摸点d,并沿X方向移动。由于点d本身为弹性对象的一个网格点,因此可以将点d作为受作用点。
需要说明的是,针对情况二,由于在实际中,触摸时,用户手指与显示设备的接触面较大,可能存在用户触摸区域内包括多个网格点。此种情况下,可以选择该区域内的全部或部分网格点作为受作用点。本公开对此不作限制。进一步地,如果选择该区域内的部分网格点作为受作用点,选择的方法可以为,根据各网格点在屏幕中的物理位置处所检测到的压力值,确定受作用点。如将压力值最大的物理位置处的网格点作为受作用点。或者,还可以先确定用户触摸区域的几何中心,根据各网格点距几何中心的距离确定受作用点。如将距几何中心的距离最近的网格点作为受作用点。
由于在本申请中,是针对弹性对象进行动态渲染,而弹性的定义是发生形变后,能恢复原来大小和形状。因此在弹性对象发生形变的整个过程中,分为两个阶段。第一阶段,用户触摸显示设备,通过触摸滑动操作促使弹性对象发生形变。第二阶段,用户手指离开显示设备,不再作用于弹性对象,弹性对象恢复初始形状。
图6为本公开实施例提供的另一种用户执行触摸滑动操作的示意图。示例性地,参见图6,假设手指触摸区域覆盖该帽子形弹性对象的网格点e,将网格点e作为受作用点。第一阶段A对应用户触摸后沿X方向移动手指,到达点n后停止滑动,手指离开显示设备。在这一阶段,显示设备的显示效果为帽子形弹性对象的网格点e随手指移动到点n,帽子形弹性对象整体形状发生变化。第二阶段B,用户手指离开显示设备,帽子形弹性对象在“弹性”作用下,恢复原状。
针对于第一阶段,可选地,可以设置在用户执行触摸滑动操作时,将用户的滑动速度和滑动距离映射到受作用点上,获得受作用点的速度和形变位置。
从微观上看,滑动轨迹为手指在不同运动时刻所处位置的点的集合。因此,按照时间先后顺序,将手指所处位置顺序连接,即可得到滑动轨迹。继续参见图6,假设手指沿X方向滑动,点e、点f、点g、……以及点n均为滑动轨迹上的点,并且点e为滑动的初始时刻手指的位置点。手指到达点e时的时刻为T1,到达点f时的时刻为T2,到达点e时的时刻为T3,……,到达点n时的时刻为Tm。只要知道手指到达各点的时间(即T1、T2、T3、……Tm的具体取值),以及各点的位置坐标,即可以得到用户在各时刻的滑动速度以及截止到各时刻用户的滑动距离。示例性地,可以利用显示设备中的压力传感器或光学传感器检测手指到达各点的时间以及各点的位置坐标。这是因为具有触控功能或光感功能的显示设备,其内部往往分散地设置数目众多的压力传感器或光学传感器,不同压力传感器或光学传感器具有不同的位置坐标。在用户触摸显示设备时,只有手指所覆盖区域的压力传感器或光学传感器才会响应,输出电信号。
还需要说明的是,在实际中,由于需要将用户的滑动速度和滑动距离映射到受作用点上,在映射的过程中,可以设置比例参数,基于比例参数计算受作用点的滑动速度和滑动距离,完成映射操作。示例性地,继续参见图6,假设点e到点n的距离为5cm,比例参数为1,当用户手指从点e滑到点n时,根据点e确定的网格点的移动距离为1×5cm=5cm。在实际中比例参数的取值可以是任意的,例如可以为大于1的数,也可以为小于1的正数,还可以设置为负数。可选地,还可以设置比例参数的取值为随机数。例如,针对同一弹性对象,相邻两次采用本公开提供的弹性对象的渲染方法时,比例参数取值不同。通过设置比例参数可以增加特效的趣味性。类似地,还可以设置拉扯前后,受作用点可以移动的最大距离和最小距离等。
针对于第二阶段,受作用点在停止滑动时刻之后的各运动时刻的速度和形变位置的确定方法有多种。例如预先设置停止滑动时刻之后各运动时刻的速度和/或形变位置。
可选地,在用户抬起手指停止触摸滑动操作时,根据受作用点在触摸操作停止时的速度和形变位置,确定得到受作用点在停止触摸滑动时刻之后的各运动时刻的速度和形变位置。这样设置的实质是基于停止触摸滑动时刻受作用点的速度和形位置,推断其之后的速度和形变位置,这样可以使得其所呈现的弹性效果更佳自然、真实。
用于实现基于停止触摸滑动时刻受作用点的速度和形变位置,推断其之后的速度和形变位置的方法有多种。示例性地,下面给出两种方法。
方法一,根据受作用点在停止触摸滑动时刻的形变位置、速度,以及受作用点的预设重力,确定得到受作用点在停止触摸滑动时刻之后的速度和位置。
在现实世界中,具体的物体是有质量的,在空间中其会受到重力作用。由于在本公开中,利用网格点描绘弹性对象的形貌,可以为各网格点赋予预设重力值,以实现对真实世界中对应物的模仿。在实际设置时,不同网格点的预设重力值可以相同,也可以不同,本申请对此不作限制。并且不同情况(如调整终端摆放角度前后)下,同一网格点的预设重力值可以相同,也可以不同。示例性地。若终端水平放置(即终端显示面与地面平行),所有网格点的预设重力值相同。若终端竖直放置(即终端显示面与地面垂直),距地面距离越小的网格点的预设重力值越大。
方法一充分考虑了重力对弹性对象在恢复初始形状的过程的影响,其可以使得弹性对象在第二阶段所呈现的弹性效果更佳自然、真实。
方法二,根据受作用点在停止触摸滑动时刻的形变位置以及受作用点与其他网格点之间的弹性约束,确定受作用点在该位置上的受力信息;根据受作用点在停止触摸滑动时刻的形变位置、速度以及受力信息,确定得到受作用点在停止触摸滑动时刻之后的速度和形变位置。
如前,在现实世界中,构成物体的微观粒子间的相互作用力,使得物体在发生形变后,能恢复原来大小和形状,即具有弹性。方法二的本质是充分考虑了弹性约束对弹性对象在恢复初始形状的过程的影响,其可以使得弹性对象在第二阶段所呈现的弹性效果更佳自然、真实。
可选地,在实际中,还可以将方法一与方法二相结合,来确定受作用点在停止触摸滑动时刻之后的各运动时刻的速度和位置,以进一步使得弹性对象在第二阶段所呈现的弹性效果更佳自然、真实。
可选地,在上述方法二的基础上,在执行“根据受作用点在停止触摸滑动时刻的形变位置、速度以及受力信息,确定得到受作用点在停止触摸滑动时刻之后的速度和位置”时,具体可以在停止触摸滑动时刻之后,基于受作用点前一时刻的形变位置、速度以及受力信息,确定受作用点后一时刻的形变位置、速度以及受力信息。示例性地,继续参见图6,基于时刻Tm+p的形变位置、速度以及受力信息,确定时刻Tm+p+1的形变位置、速度以及受力信息。基于时刻Tm+p+1的形变位置、速度以及受力信息,确定时刻Tm+p+2的形变位置、速度以及受力信息。如此反复,最终计算第二阶段各运动时刻受作用点的速度和形变位置。这样设置的实质是利用迭代和循环的思想,计算各运动时刻受作用点的速度和形变位置。
此外,在实际中,若直接使用三角形网格(triangle mesh)进行仿真,会导致模型过于柔软,弹性不足。上述在停止触摸滑动时刻之后,基于受作用点前一时刻的形变位置、速度以及受力信息,确定受作用点后一时刻的形变位置、速度以及受力信息的方法,其可以实现将每次求解拆分为若干子计算步骤(simulation substep),并为三角形网格增加其他位置附加约束(rest pose attachment constraints)(如与其他网格点之间的弹性约束),其可以显著增强弹性效果。
步骤130、基于受作用点的形变位置和速度以及弹性对象的网格模型中各网格点的弹性约束,确定弹性对象的网格模型中各网格点的运动轨迹。
由于弹性约束的本质是对现实世界具体物体中微观粒子间作用力的模拟结果。本步骤的具体实现方法可以为:
针对第一阶段,即在用户执行形变触发操作,使得弹性对象的网格模型上的受作用点偏离原始位置时,根据受作用点在各运动时刻的形变位置和速度,以及弹性对象上各网格点之间的预设弹性约束,确定除受作用点外其他网格点(以下简称其他网格点)的形变位置和速度。
针对第二阶段,即在用户抬起手指停止执行形变触发操作时,根据受作用点在停止执行形变触发操作后的各运动时刻的形变位置和速度,以及弹性对象上各网格点之间的预设弹性约束,确定除受作用点外其他网格点在停止执行形变触发操作后的各运动时刻的形变位置和速度。或者,根据其他网格点在用户停止执行形变触发操作时刻的速度和形变位置,以及弹性对象上各网格点之间的预设弹性约束,确定其他网格点的形变位置和速度。
基于网格模型上各网格点在不同运动时刻的形变位置和速度,即可获得各网格点的运动轨迹。
步骤140、基于弹性对象的网格模型中各网格点的运动轨迹,调动弹性对象的网格模型进行弹性运动。
本步骤的实质是,根据网格模型上各网格点在不同运动时刻的形变位置和速度,按照各运动时刻的先后顺序,顺次调整各网格点的形变位置和速度,并将其效果呈现在显示设备中。
本步骤的实现方法有多种,本公开对此不作限制。示例性地,首先,获取当前终端显示的刷新频率,其中终端显示的刷新频率是指显示设备每秒所能显示的图像次数;其次,基于当前终端显示的刷新频率,确定每一次显示图像时,该弹性对象的网格模型中各网格点的形变位置和速度;再次,确定每一次显示图像时该弹性对象的网格模型中各网格点对应的像素单元;最后,调整各像素单元的像素电压,最终实现通过显示设备显示弹性对象的形变过程。
上述技术方案中,通过构建弹性对象的网格模型,响应于针对弹性对象的形变触发操作,确定弹性对象的网格模型中在形变触发操作下的受作用点的形变位置和速度,基于受作用点的形变位置和速度以及弹性对象的网格模型中各网格点的弹性约束,确定弹性对象的网格模型中各网格点的运动轨迹,基于弹性对象的网格模型中各网格点的运动轨迹,调动弹性对象的网格模型进行弹性运动,其可以实现对弹性对象因受力发生弹性形变的整个过程进行模拟并进行动态显示,可以提供逼真的弹性效果,提高与用户的可互动性,提高用户体验。
此外,上述技术方案仅将构成对应物的点中部分具有代表性的点(如描述具体对应物表面的点,或描绘对应物轮廓线的点),投射到虚拟世界中,作为弹性对象的网格点,其可以大大减小网格点的数量,降低后续计算的复杂程度,降低计算对硬件性能的依赖程度,尤其适用于手机、智能手表等小型化,计算能力弱的设备。
图7为本公开实施例提供的另一种弹性对象的渲染方法的流程图。图7为将图1中的弹性对象的渲染方法应用于视频通讯界面的一个具体示例。参见图7,该弹性对象的渲染方法包括:
步骤S201、启动终端中视频通讯应用,进入视频通讯界面,选择联系人建立端对端网络通讯连接。
步骤S202、选择一种3D头套贴纸,以利用该3D头套贴纸对界面中人物进行修饰。
此处3D头套贴纸即为弹性对象。
可选地,该3D头套贴纸可以对界面中本端或对端的人物进行修饰。
可选地,在用户选择一种3D头套贴纸后,启动人脸追踪功能,将3D头套显示于人脸上。
步骤S203、设置弹性对象仿真物理参数,启动弹性体仿真求解器。
此处,弹性对象仿真物理参数具体可以为前文提及的用于完成映射操作的比例参数,或者用于作为受作用点的预设网格点,或者为弹性对象各网格点的预设重力值,或者各网格点之间的弹性约束等。
弹性体仿真求解器用于响应于用户针对3D头套贴纸执行触摸滑动操作,完成本公开图1中步骤120-步骤130。
步骤S204、响应于用户对头套的触摸滑动操作,弹性体仿真求解器得到头套的网格模型中各网格点在各运动时刻的形变位置和速度,并发送给对端用户。
示例性地,识别用户在屏幕的滑动信息,弹性体仿真求解器基于该滑动信息,确定位于头套的网格模型中的受作用点,进而得到网格模型中各网格点在各运动时刻的形变位置和速度。将网格模型中各网格点在各运动时刻的形变位置和速度作为特效数据,发送给对端用户。
步骤S205、本端终端和/或对端终端重新定位人脸位置,基于接收到的特效数据在屏幕上渲染头套的形变过程,以为用户展现逼真的动态弹性效果。
上述技术方案可以增加通话双方的互动趣味性,提高用户体验。
可选地,在整个视频通话的过程中,S204-S205可重复执行多次。
本公开实施例还提供一种渲染装置。图8为本公开实施例提供的一种渲染装置的结构框图。参见图8,该渲染装置包括:
模型构建模块310,用于用于构建弹性对象的网格模型;
第一确定模块320,用于响应于针对所述弹性对象的形变触发操作,确定所述弹性对象的网格模型中在所述形变触发操作下的受作用点的形变位置和速度,其中,所述形变触发操作用于触发所述弹性对象因受作用而发生形变,所述受作用点为所述弹性对象中因受作用而离开原始位置的网格点;
第二确定模块330,用于基于所述受作用点的形变位置和速度以及所述弹性对象的网格模型中各网格点的弹性约束,确定所述弹性对象的网格模型中各网格点的运动轨迹;
执行模块340,用于基于所述弹性对象的网格模型中各网格点的运动轨迹,调动所述弹性对象的网格模型进行弹性运动。
可选地,所述所述形变触发操作具体为触摸滑动操作,所述触摸滑动操作对应的触摸点用于确定所述受作用点,所述滑动触摸操作对应的滑动轨迹用于确定所述受作用点的形变位置和速度。
可选地,当所述触摸滑动操作对应的触摸点不在所述弹性对象上时,所述受作用点为所述弹性对象的网格模型上的预设网格点。
可选地,当所述触摸滑动操作对应的触摸点在所述弹性对象上时,所述受作用点为所述网格模型上与所述触摸点对应的网格点。
可选地,所述第一确定模块,包括:
第一确定子模块,用于在所述用户执行所述触摸滑动操作时,将所述用户的滑动速度和滑动距离映射到所述受作用点上,获得所述受作用点的形变位置和速度。
可选地,所述第一确定模块,还包括:
第二确定子模块,用于根据所述受作用点在触摸操作停止时的速度和形变位置,确定得到所述受作用点在触摸操作停止之后的速度和形变位置。
可选地,所述第二确定子模块,包括:
第一确定子单元,用于用于根据所述受作用点在所述触摸操作停止时的形变位置、速度,以及所述受作用点的预设重力,确定得到所述受作用点在触摸操作停止之后的速度和位置。
可选地,所述第二确定子模块,包括:
第二确定子单元,用于根据所述受作用点在所述触摸操作停止时的形变位置以及所述受作用点与其他网格点之间的弹性约束,确定所述受作用点在所述形变位置上的受力信息;
第三确定子单元,用于根据所述受作用点在所述触摸操作停止时的形变位置、速度以及受力信息,确定得到所述受作用点在触摸操作停止之后的速度和形变位置。
可选地,所述第三确定子单元,用于:
在触摸操作停止之后,基于所述受作用点前一时刻的形变位置、速度以及受力信息,确定所述受作用点后一时刻的形变位置、速度以及受力信息。
由于本公开实施例提供的渲染装置,可以用于执行本公开实施例提供的任意一种弹性对象的渲染方法,其具有其所可执行的渲染方法相同或相应的有益效果,此处不再赘述。
本公开实施例还提供一种终端设备,该终端设备包括处理器和存储器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时可以实现上述图1-图7中任一实施例的方法。
示例的,图9是本公开实施例中的一种终端设备的结构示意图。下面具体参考图9,其示出了适于用来实现本公开实施例中的终端设备1000的结构示意图。本公开实施例中的终端设备1000可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图9示出的终端设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,终端设备1000可以包括处理装置(例如中央处理器、图形处理器等)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储装置1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有终端设备1000操作所需的各种程序和数据。处理装置1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
通常,以下装置可以连接至I/O接口1005:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1006;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1007;包括例如磁带、硬盘等的存储装置1008;以及通信装置1009。通信装置1009可以允许终端设备1000与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的终端设备1000,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1009从网络上被下载和安装,或者从存储装置1008被安装,或者从ROM 1002被安装。在该计算机程序被处理装置1001执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述终端设备中所包含的;也可以是单独存在,而未装配入该终端设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该终端设备执行时,使得该终端设备:构建弹性对象的网格模型;响应于针对所述弹性对象的形变触发操作,确定所述弹性对象的网格模型中在所述形变触发操作下的受作用点的形变位置和速度,其中,所述形变触发操作用于触发所述弹性对象因受作用而发生形变,所述受作用点为所述弹性对象中因受作用而离开原始位置的网格点;基于所述受作用点的形变位置和速度以及所述弹性对象的网格模型中各网格点的弹性约束,确定所述弹性对象的网格模型中各网格点的运动轨迹;基于所述弹性对象的网格模型中各网格点的运动轨迹,调动所述弹性对象的网格模型进行弹性运动。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本公开实施例还提供一种计算机可读存储介质,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时可以实现上述图1-图7任一实施例的方法,其执行方式和有益效果类似,在这里不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (20)
1.一种弹性对象的渲染方法,其特征在于,包括:
构建弹性对象的网格模型;
响应于针对所述弹性对象的形变触发操作,确定所述弹性对象的网格模型中在所述形变触发操作下的受作用点的形变位置和速度,其中,所述形变触发操作用于触发所述弹性对象因受作用而发生形变,所述受作用点为所述弹性对象中因受作用而离开原始位置的网格点;
基于所述受作用点的形变位置和速度以及所述弹性对象的网格模型中各网格点的弹性约束,确定所述弹性对象的网格模型中各网格点的运动轨迹;
基于所述弹性对象的网格模型中各网格点的运动轨迹,调动所述弹性对象的网格模型进行弹性运动。
2.根据权利要求1所述的方法,其特征在于,所述形变触发操作具体为触摸滑动操作,所述触摸滑动操作对应的触摸点用于确定所述受作用点,所述滑动触摸操作对应的滑动轨迹用于确定所述受作用点的形变位置和速度。
3.根据权利要求2所述的方法,其特征在于,当所述触摸滑动操作对应的触摸点不在所述弹性对象上时,所述受作用点为所述弹性对象的网格模型上的预设网格点。
4.根据权利要求2所述的方法,其特征在于,当所述触摸滑动操作对应的触摸点在所述弹性对象上时,所述受作用点为所述网格模型上与所述触摸点对应的网格点。
5.根据权利要求2所述的方法,其特征在于,所述确定所述弹性对象的网格模型中在所述形变触发操作下的受作用点的形变位置和速度,包括:
在所述用户执行所述触摸滑动操作时,将所述用户的滑动速度和滑动距离映射到所述受作用点上,获得所述受作用点的形变位置和速度。
6.根据权利要求5所述的方法,其特征在于,所述确定所述弹性对象的网格模型中在所述形变触发操作下的受作用点的形变位置和速度,包括:
根据所述受作用点在触摸操作停止时的速度和形变位置,确定得到所述受作用点在触摸操作停止之后的速度和形变位置。
7.根据权利要求6所述的方法,其特征在于,所述根据所述受作用点在所述触摸操作停止时的速度和形变位置,确定得到所述受作用点在触摸操作停止之后的速度和形变位置,包括:
根据所述受作用点在所述触摸操作停止时的形变位置、速度,以及所述受作用点的预设重力,确定得到所述受作用点在触摸操作停止之后的速度和位置。
8.根据权利要求6所述的方法,其特征在于,所述根据所述受作用点在所述触摸操作停止时的速度和形变位置,确定得到所述受作用点在触摸操作停止之后的速度和形变位置,包括:
根据所述受作用点在所述触摸操作停止时的形变位置以及所述受作用点与其他网格点之间的弹性约束,确定所述受作用点在所述形变位置上的受力信息;
根据所述受作用点在所述触摸操作停止时的形变位置、速度以及受力信息,确定得到所述受作用点在触摸操作停止之后的速度和形变位置。
9.根据权利要求8所述的方法,其特征在于,所述根据所述受作用点在所述触摸操作停止时的形变位置、速度以及受力信息,确定得到所述受作用点在触摸操作停止之后的速度和形变位置,包括:
在触摸操作停止之后,基于所述受作用点前一时刻的形变位置、速度以及受力信息,确定所述受作用点后一时刻的形变位置、速度以及受力信息。
10.一种渲染装置,其特征在于,包括:
模型构建模块,用于构建弹性对象的网格模型;
第一确定模块,用于响应于针对所述弹性对象的形变触发操作,确定所述弹性对象的网格模型中在所述形变触发操作下的受作用点的形变位置和速度,其中,所述形变触发操作用于触发所述弹性对象因受作用而发生形变,所述受作用点为所述弹性对象中因受作用而离开原始位置的网格点;
第二确定模块,用于基于所述受作用点的形变位置和速度以及所述弹性对象的网格模型中各网格点的弹性约束,确定所述弹性对象的网格模型中各网格点的运动轨迹;
执行模块,用于基于所述弹性对象的网格模型中各网格点的运动轨迹,调动所述弹性对象的网格模型进行弹性运动。
11.根据权利要求10所述的装置,其特征在于,所述形变触发操作具体为触摸滑动操作,所述触摸滑动操作对应的触摸点用于确定所述受作用点,所述滑动触摸操作对应的滑动轨迹用于确定所述受作用点的形变位置和速度。
12.根据权利要求11所述的装置,其特征在于,当所述触摸滑动操作对应的触摸点不在所述弹性对象上时,所述受作用点为所述弹性对象的网格模型上的预设网格点。
13.根据权利要求11所述的装置,其特征在于,当所述触摸滑动操作对应的触摸点在所述弹性对象上时,所述受作用点为所述网格模型上与所述触摸点对应的网格点。
14.根据权利要求11所述的装置,其特征在于,所述第一确定模块,包括:
第一确定子模块,用于在所述用户执行所述触摸滑动操作时,将所述用户的滑动速度和滑动距离映射到所述受作用点上,获得所述受作用点的形变位置和速度。
15.根据权利要求14所述的装置,其特征在于,所述第一确定模块,还包括:
第二确定子模块,用于根据所述受作用点在触摸操作停止时的速度和形变位置,确定得到所述受作用点在触摸操作停止之后的速度和形变位置。
16.根据权利要求15所述的装置,其特征在于,所述第二确定子模块,包括:
第一确定子单元,用于根据所述受作用点在所述触摸操作停止时的形变位置、速度,以及所述受作用点的预设重力,确定得到所述受作用点在触摸操作停止之后的速度和位置。
17.根据权利要求15所述的装置,其特征在于,所述第二确定子模块,包括:
第二确定子单元,用于根据所述受作用点在所述触摸操作停止时的形变位置以及所述受作用点与其他网格点之间的弹性约束,确定所述受作用点在所述形变位置上的受力信息;
第三确定子单元,用于根据所述受作用点在所述触摸操作停止时的形变位置、速度以及受力信息,确定得到所述受作用点在触摸操作停止之后的速度和形变位置。
18.根据权利要求17所述的装置,其特征在于,所述第三确定子单元,用于:
在触摸操作停止之后,基于所述受作用点前一时刻的形变位置、速度以及受力信息,确定所述受作用点后一时刻的形变位置、速度以及受力信息。
19.一种终端设备,其特征在于,包括:
存储器和处理器,其中,所述存储器上存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-9中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1-9中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011169108.5A CN112258653A (zh) | 2020-10-28 | 2020-10-28 | 弹性对象的渲染方法、装置、设备及存储介质 |
PCT/CN2021/115591 WO2022088928A1 (zh) | 2020-10-28 | 2021-08-31 | 弹性对象的渲染方法、装置、设备及存储介质 |
US18/034,325 US20230386137A1 (en) | 2020-10-28 | 2021-08-31 | Elastic object rendering method and apparatus, device, and storage medium |
EP21884660.8A EP4207083A1 (en) | 2020-10-28 | 2021-08-31 | Elastic object rendering method and apparatus, device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011169108.5A CN112258653A (zh) | 2020-10-28 | 2020-10-28 | 弹性对象的渲染方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112258653A true CN112258653A (zh) | 2021-01-22 |
Family
ID=74262555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011169108.5A Pending CN112258653A (zh) | 2020-10-28 | 2020-10-28 | 弹性对象的渲染方法、装置、设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230386137A1 (zh) |
EP (1) | EP4207083A1 (zh) |
CN (1) | CN112258653A (zh) |
WO (1) | WO2022088928A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112991444A (zh) * | 2021-02-10 | 2021-06-18 | 北京字跳网络技术有限公司 | 位置确定方法及设备 |
CN113096225A (zh) * | 2021-03-19 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 一种图像特效的生成方法、装置、电子设备及存储介质 |
WO2022088928A1 (zh) * | 2020-10-28 | 2022-05-05 | 北京字跳网络技术有限公司 | 弹性对象的渲染方法、装置、设备及存储介质 |
CN115035277A (zh) * | 2022-05-30 | 2022-09-09 | 广东时谛智能科技有限公司 | 鞋子模型动态展示方法、装置、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115034052A (zh) * | 2022-05-30 | 2022-09-09 | 广东时谛智能科技有限公司 | 鞋底模型弹性展示方法、装置、设备及存储介质 |
CN114722447B (zh) * | 2022-06-09 | 2022-11-01 | 广东时谛智能科技有限公司 | 多指触控展示鞋子模型方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8902222B2 (en) * | 2012-01-16 | 2014-12-02 | Autodesk, Inc. | Three dimensional contriver tool for modeling with multi-touch devices |
CN106504329B (zh) * | 2016-09-27 | 2021-01-08 | 西安科技大学 | 一种基于牙体长轴的质点弹簧模型的牙龈变形仿真方法 |
CN110069195B (zh) * | 2019-01-31 | 2020-06-30 | 北京字节跳动网络技术有限公司 | 图像拖拽变形方法和装置 |
CN110069191B (zh) * | 2019-01-31 | 2021-03-30 | 北京字节跳动网络技术有限公司 | 基于终端的图像拖拽变形实现方法和装置 |
CN110555798B (zh) * | 2019-08-26 | 2023-10-17 | 北京字节跳动网络技术有限公司 | 图像变形方法、装置、电子设备及计算机可读存储介质 |
CN112258653A (zh) * | 2020-10-28 | 2021-01-22 | 北京字跳网络技术有限公司 | 弹性对象的渲染方法、装置、设备及存储介质 |
-
2020
- 2020-10-28 CN CN202011169108.5A patent/CN112258653A/zh active Pending
-
2021
- 2021-08-31 US US18/034,325 patent/US20230386137A1/en active Pending
- 2021-08-31 EP EP21884660.8A patent/EP4207083A1/en active Pending
- 2021-08-31 WO PCT/CN2021/115591 patent/WO2022088928A1/zh unknown
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022088928A1 (zh) * | 2020-10-28 | 2022-05-05 | 北京字跳网络技术有限公司 | 弹性对象的渲染方法、装置、设备及存储介质 |
CN112991444A (zh) * | 2021-02-10 | 2021-06-18 | 北京字跳网络技术有限公司 | 位置确定方法及设备 |
WO2022171180A1 (zh) * | 2021-02-10 | 2022-08-18 | 北京字跳网络技术有限公司 | 位置确定方法及设备 |
CN113096225A (zh) * | 2021-03-19 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 一种图像特效的生成方法、装置、电子设备及存储介质 |
CN113096225B (zh) * | 2021-03-19 | 2023-11-21 | 北京达佳互联信息技术有限公司 | 一种图像特效的生成方法、装置、电子设备及存储介质 |
CN115035277A (zh) * | 2022-05-30 | 2022-09-09 | 广东时谛智能科技有限公司 | 鞋子模型动态展示方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4207083A1 (en) | 2023-07-05 |
WO2022088928A1 (zh) | 2022-05-05 |
US20230386137A1 (en) | 2023-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112258653A (zh) | 弹性对象的渲染方法、装置、设备及存储介质 | |
EP4163777A1 (en) | Image processing method and apparatus, electronic device, and storage medium | |
CN111638791B (zh) | 虚拟角色的生成方法、装置、电子设备及存储介质 | |
CN112965780B (zh) | 图像显示方法、装置、设备及介质 | |
CN110069191B (zh) | 基于终端的图像拖拽变形实现方法和装置 | |
US20130297281A1 (en) | Methods and systems of providing items to customers via a network | |
CN112700518B (zh) | 拖尾视觉效果的生成方法、视频的生成方法、电子设备 | |
CN113289327A (zh) | 移动终端的显示控制方法及装置、存储介质及电子设备 | |
EP4050898A1 (en) | Method and apparatus for displaying object in video, and electronic device and computer readable storage medium | |
CN112766215A (zh) | 人脸融合方法、装置、电子设备及存储介质 | |
CN113052078A (zh) | 空中书写轨迹识别方法、装置、存储介质及电子设备 | |
CN112581635A (zh) | 一种通用的快速换脸方法、装置、电子设备和存储介质 | |
CN111652675A (zh) | 展示方法、装置和电子设备 | |
CN114693876A (zh) | 数字人生成方法、装置、存储介质和电子设备 | |
CN114119829A (zh) | 虚拟场景的素材处理方法及装置、电子设备和存储介质 | |
CN114067030A (zh) | 动态流体效果处理方法、装置、电子设备和可读介质 | |
CN110197459B (zh) | 图像风格化生成方法、装置及电子设备 | |
CN114494658B (zh) | 特效展示方法、装置、设备和存储介质 | |
CN111627106B (zh) | 人脸模型重构方法、装置、介质和设备 | |
CN114116081B (zh) | 交互式动态流体效果处理方法、装置及电子设备 | |
CN114723600A (zh) | 美妆特效的生成方法、装置、设备、存储介质和程序产品 | |
KR101630257B1 (ko) | 3d 이미지 제공 시스템 및 그 제공방법 | |
CN115222854A (zh) | 虚拟形象的碰撞处理方法、装置、电子设备和存储介质 | |
US20240087202A1 (en) | Dynamic fluid display method and apparatus, electronic device, and readable medium | |
US20240153211A1 (en) | Methods, apparatuses, terminals and storage media for display control based on extended reality |
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 |