CN114880053A - 一种界面中对象的动画生成方法、电子设备及存储介质 - Google Patents

一种界面中对象的动画生成方法、电子设备及存储介质 Download PDF

Info

Publication number
CN114880053A
CN114880053A CN202110169797.8A CN202110169797A CN114880053A CN 114880053 A CN114880053 A CN 114880053A CN 202110169797 A CN202110169797 A CN 202110169797A CN 114880053 A CN114880053 A CN 114880053A
Authority
CN
China
Prior art keywords
parameters
generating
motion
color
animation
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
Application number
CN202110169797.8A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110169797.8A priority Critical patent/CN114880053A/zh
Priority to PCT/CN2021/140952 priority patent/WO2022166456A1/zh
Publication of CN114880053A publication Critical patent/CN114880053A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请实施例提供一种界面中对象的动画生成方法、电子设备及存储介质,涉及人机交互技术领域,可以基于界面中对象之间的外观差异,生成差异化的对象动画,提高用户的交互体验。该方法包括:用户界面显示第一对象和第二对象,所述第一对象和所述第二对象的类型相同、外观不同;响应于作用在所述第一对象上的第一操作,生成所述第一对象的第一运动动画;响应于作用在所述第二对象上的第二操作,生成所述第二对象的第二运动动画,所述第一操作和所述第二操作相同,所述第一运动动画和所述第二运动动画不同。

Description

一种界面中对象的动画生成方法、电子设备及存储介质
技术领域
本申请实施例涉及人机交互领域,尤其涉及一种界面中对象的动画生成方法、电子设备及存储介质。
背景技术
随着智能终端的发展,人机交互的方式越来越多样化。电子设备的触控屏可以显示人机交互界面(也称用户界面),用户对用户界面中的对象进行手势操作,用户界面中的对象基于用户的手势操作做出一些动画响应。例如,对象对用户的拖动手势做出变形的动画,对象对用户的点击手势做出碎裂的动画。
然而,用户界面中的对象对用户的手势操作做出的动画响应通常是预先设置好的一些固定的动画。即对于用户界面中的不同对象生成的动画效果是相同的。这种对象参与的动画的交互体验较差。
发明内容
本申请实施例提供一种界面中对象的动画生成方法、电子设备及存储介质,可以基于对象之间的外观差异,生成差异化的动画,提高用户的交互体验。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供一种界面中对象的动画生成方法,包括:
用户界面显示第一对象和第二对象,第一对象和第二对象的类型相同、外观不同;
响应于作用在第一对象上的第一操作,生成第一对象的第一运动动画;
响应于作用在第二对象上的第二操作,生成第二对象的第二运动动画,第一操作和第二操作相同,第一运动动画和第二运动动画不同。
本申请实施例中,第一对象和第二对象的类型相同表示第一对象和第二对象属于同一类对象。第一对象和第二对象的外观不同,表示第一对象和第二对象为外观存在差异的对象。
作为举例,第一对象为APP1的图标,第二对象为APP2的图标时,第一对象和第二对象均为APP的图标,但是APP1的图标和APP2的图标的外观存在差异,因此APP1的图标和APP2的图标的类型相同、外观不同。第一对象为用户1的名片,第二对象为用户2的名片时,第一对象和第二对象均为用户名片,但是用户1的名片中的内容和用户2的名片中的内容存在差异,所以用户1和用户2的类型相同、外观不同。即时通讯应用中,第一对象为用户1的头像,第二对象为用户2的头像,第一对象和第二对象均为用户头像,但是用户1和用户2采用不同的图片作为头像,因此,用户1的头像和用户2的头像类型相同、外观不同。
本申请实施例中,第一操作和第二操作相同表示第一操作和第二操作属于同一类操作。
作为举例,第一操作为滑动第一距离的滑动操作,第二操作为滑动第二距离的滑动操作,则第一操作和第二操作均为滑动操作,因此,滑动第一距离的滑动操作和滑动第二距离的滑动操作相同。第一操作为按压时长为第一时间的按压操作,第二操作为按压时长为第二时间的按压操作,第一操作和第二操作均属于按压操作,因此,按压时长为第一时间的按压操作和按压时长为第二时间的按压操作相同。第一操作为单击操作,第二操作也为单击操作,则第一操作和第二操作相同。
本申请实施例中,第一运动动画和第二运动动画不同表示第一运动动画和第二运动动画存在差异。
作为举例,第一对象的第一运动动画中第一对象的运动位移为第三距离,第二对象的第二运动动画中第二对象的运动位移为第四距离。第三距离和第四距离不同,则第一运动动画和第二运动动画不同。第一对象的第一运动动画中第一对象被按压后回弹m次,第二对象被按压后回弹n次,m和n不同,则第一运动动画和第二运动动画不同。第一对象被按压后形变面积大于第二对象被按压后的形变面积,则第一运动动画和第二运动动画不同。
通过上述描述可以理解,对于同一类型外观不同的对象,采用相同的操作时,对象会产生差异化的运动动画,提高了用户的交互体验。
在第一方面的一种可能的实现方式中,响应于作用在第一对象上的第一操作,生成第一对象的第一运动动画,包括:
检测到作用在第一对象上的第一操作;
获取第一对象的外观参数,并根据第一对象的外观参数为第一对象赋予物理参数;
获取第一对象的初始参数;
基于第一对象的物理参数和第一对象的初始参数,生成第一对象的运动动画。
本申请实施例中,作用在第一对象上的第一操作,可以是用户在第一对象上的点击操作、按压操作(长按操作)、滑动操作等。第一对象的外观参数可以包括:第一对象中像素点的颜色,第一对象中像素点的坐标,第一对象的面积或体积,第一对象所在用户界面中的主题颜色、第一对象的透明度、第一对象的模糊度等。通过第一对象的外观参数的描述可以理解,第一对象的外观参数为从用户的视觉角度可以直观观察到第一对象和其他对象之间差异的参数。本申请实施例基于第一对象的外观参数为第一对象赋予物理参数,使得第一对象的物理参数遵循真实世界中用户的视觉感知。第一操作为按压操作时,第一对象的初始参数可以是施加在第一对象上的按压力的值(该值可以为定值,也可以根据按压操作的接触面积等参数获得),还可以是施加在第一对象上的按压力的位置。第一操作为推动操作时,第一对象的初始参数可以是为第一对象设置的初始速度,还可以是根据推动操作的推动距离生成的推力。第一对象的初始参数具体可以参照后续实施例中的描述。
通过对象的物理参数生成的对象的运动参数能够更符合真实世界中的物体运动过程。因此,通过本申请实施例获得的对象的运动动画不仅能够提供不同对象间差异化的动画效果;还能够使得生成的对象的运动动画更符合真实世界中对象的运动过程,提高用户的交互体验。
本申请实施例中,响应于作用在第二对象上的第二操作,生成第二对象的第二运动动画的过程,可以参照“响应于作用在第一对象上的第一操作,生成第一对象的第一运动动画”的描述,在此不再赘述。在第一方面的一种可能的实现方式中,第一对象的外观参数包括:第一对象中像素点的颜色,第一对象的物理参数包括:第一对象的质量;
根据第一对象的外观参数为第一对象赋予物理参数包括:
根据第一对象中像素点的颜色,生成第一对象的质量。
在第一方面的一种可能的实现方式中,根据第一对象中像素点的颜色,生成第一对象的质量,包括:
根据第一对象中像素点的颜色和第一对象所在用户界面的主题颜色之间的第一差异,生成第一对象的第一质量值,并将第一对象的第一质量值作为第一对象的质量。
在第一方面的一种可能的实现方式中,根据第一对象中像素点的颜色和第一对象所在用户界面的主题颜色之间的第一差异,生成第一对象的第一质量值,包括:
根据第一对象中像素点的颜色和第一对象所在用户界面的主题颜色之间的第一差异,生成第一对象中像素点的像素质量;
根据第一对象中像素点的像素质量,生成第一对象的第一质量值。
作为示例,通过以下公式计算第一对象中每个像素点的像素质量:
Figure BDA0002936884420000031
或,
Figure BDA0002936884420000032
其中,mi表示第一对象中第i个像素点的质量,ai表示第一对象中第i个像素点的颜色,b表示用户界面的主题的颜色。
实际应用中,还可以对计算获得的每个像素点的质量进行归一化处理:
mi'=(mi-μ)/(mmax-mmin);
其中,mi'表示第一对象中第i个像素点的归一化质量,μ为自主定义的一个常数,mmax表示颜色的最大值,可以设置为0XFFFFFF,mmin表示颜色的最小值,可以设置为0X000000。
最后,通过以下方式计算第一对象的第一质量值(可以作为第一对象的质量):
Figure BDA0002936884420000033
其中,M表示第一对象的质量,mi'表示第一对象中第i个像素点的归一化质量,n表示第一对象中像素点的数量。
在第一方面的一种可能的实现方式中,第一对象的外观参数包括:第一对象的透明度;在将第一对象的第一质量值作为第一对象的质量之前,还包括:
根据第一对象的透明度和第一对象的第一质量值生成第一对象的第二质量值,并将第一对象的第二质量值作为第一对象的质量。
作为示例,当考虑第一对象的透明度对质量的影响时,通过以下公式计算第一对象的第二质量值(可以作为第一对象的质量):
Figure BDA0002936884420000034
其中,K表示透明度系数。K可以取0-1范围内的数值。第一对象越透明,K越小,第一对象的质量越轻。
在第一方面的一种可能的实现方式中,第一对象的外观参数包括:第一对象中像素点的颜色和第一对象中像素点的坐标;第一对象的物理参数包括:第一对象的重心坐标;
根据第一对象的外观参数为第一对象赋予物理参数包括:
根据第一对象中像素点的颜色和第一对象所在用户界面的主题颜色之间的第一差异,生成第一对象中像素点的像素质量;
根据第一对象中像素点的坐标和第一对象中像素点的像素质量,计算第一对象的重心坐标。
作为示例,在二维空间中,采用空间直角坐标系O-XY。第一对象可以微元出n个质点(或者n个像素点),第i个质点的坐标为(xi,yi),第i个质点的质量为mi',第一对象的质量M=m1'+…+mi'+…+mn'。
第一对象的重心的坐标为G(x,y),通过以下公式计算获得。
x=(x1m1'+…+ximi'+…+xnmn')/M;
y=(y1m1'+…+yimi'+…+ynmn')/M。
在三维空间中,确定空间直角坐标系O-XYZ。第一对象可以微元出n个质点(或者n个像素点),第i个质点的坐标为(xi,yi,zi),第i个质点的质量为mi',第一对象的质量M=m1'+…+mi'+…+mn'。
第一对象的重心的坐标为G(x,y,z),通过以下公式计算获得。
x=(x1m1'+…+ximi'+…+xnmn')/M;
y=(y1m1'+…+yimi'+…+ynmn')/M;
z=(z1m1'+…+zimi'+…+znmn')/M。
在第一方面的一种可能的实现方式中,第一对象的外观参数还包括:第一对象的外边框颜色,第一对象的面积或体积;第一对象的物理参数包括:第一对象的刚度;
根据第一对象的外观参数为第一对象赋予物理参数包括:
计算第一对象的外边框的颜色和第一对象所在用户界面的主题颜色之间的第二差异;
根据第一对象的质量,以及第一对象的面积或体积,生成第一对象的单位质量;
根据第二差异和第一对象的单位质量,生成第一对象的第一刚度,并将第一对象的第一刚度作为第一对象的刚度。
第一对象的刚度为:
G=|b-c|×kG×Ms
其中,G表示第一对象的刚度,b表示用户界面的主题颜色,c表示第一对象的外边框的颜色,kG表示刚度换算系数,Ms表示第一对象的单位质量。为了便于描述,将第一对象的外边框的颜色和第一对象所在用户界面的主题颜色之间的差异记为第二差异。当第一对象为二维元素时,Ms=M/S,S表示第一对象的面积;当第一对象为三维元素时,Ms=M/V,V表示第一对象的体积。
在第一方面的一种可能的实现方式中,第一对象的外观参数还包括:第一对象的透明度;在将第一对象的第一刚度作为第一对象的刚度之前,还包括:
根据第一对象的第一刚度和第一对象的透明度,生成第一对象的第二刚度,并将第一对象的第二刚度作为第一对象的刚度。
G=|b-c|×K×kG×Ms
在第一方面的一种可能的实现方式中,第一对象的外观参数还包括:第一对象的模糊度;在将第一对象的第一刚度作为第一对象的刚度之前,还包括:
根据第一对象的第一刚度和第一对象的模糊度,生成第一对象的第三刚度,并将第一对象的第三刚度作为第一对象的刚度。
G=|b-c|×k×Ms×A。
其中,A表示第一对象的模糊度。
当然,实际应用中,还可以同时考虑第一对象的透明度和模糊度:
G=|b-c|×K×kG×Ms×A。
为了便于描述,可以将未考虑第一对象的透明度和模糊度生成的第一对象的刚度记为第一刚度,将考虑了第一对象的透明度生成的第一对象的刚度记为第二刚度,将考虑了第一对象的模糊度生成的第一对象的刚度记为第三刚度,将同时考虑了第一对象的透明度和模糊度生成的刚度记为第四刚度。实际应用中,可以将第一刚度、第二刚度、第三刚度和第四刚度中的任意一个作为第一对象的刚度。
在第一方面的一种可能的实现方式中,该方法还包括:
根据第一对象的底色和第一对象所在背景的颜色,生成第一对象和第一对象所在背景之间的相对摩擦系数;
根据第一对象的质量和相对摩擦系数,计算作用在第一对象上的第一摩擦力,并将第一摩擦力作为第一对象运动过程中作用在第一对象上的摩擦力。
作为示例,Ff=M×OBE
其中,Ff为作用在第一对象上的摩擦力,M为第一对象的质量,OBE为第一对象和该第一对象所在背景之间的相对摩擦系数。
在第一方面的一种可能的实现方式中,根据第一对象的底色和第一对象所在背景的颜色,生成第一对象和第一对象所在背景之间的相对摩擦系数,包括:
根据第一对象的底色生成第一对象的对象摩擦力;
根据第一对象所在背景的颜色生成第一对象所在背景的背景摩擦力;
根据对象摩擦力和背景摩擦力生成第一对象和第一对象所在背景之间的相对摩擦系数。
作为示例,OBE=Bf×Ef
Bf=e1+|0XFFFFFF-d|×kfB
其中,Bf为背景摩擦力,e1为设置的最小背景摩擦力,d为第一对象所在背景的颜色,kfB为预先设置的背景摩擦力换算系数。
Ef=e2+|0XFFFFFF-a|×kfE
其中,Ef为对象摩擦力,e2为设置的最小对象摩擦力,a为第一对象的颜色,kfE为预先设置的对象摩擦力换算系数。
在第一方面的一种可能的实现方式中,第一对象的外观参数还包括:第一对象的模糊度;在将第一摩擦力作为第一对象运动过程中作用在第一对象上的摩擦力之前,还包括:
根据第一摩擦力和第一对象的模糊度,生成作用在第一对象上的第二摩擦力,并将第二摩擦力作为第一对象运动过程中作用在第一对象上的摩擦力。
作为示例,
Figure BDA0002936884420000051
其中,A表示第一对象的模糊度,第一对象的模糊度可以取0-1之间的数值。第一对象越模糊,A的取值越小,摩擦力越大,因此,第一对象的模糊度与摩擦力呈反向关系。
在第一方面的一种可能的实现方式中,该方法还包括:
获取第一对象的速度,根据第一对象的速度生成第一对象运动过程中作用在第一对象上的空气阻力。
在第一方面的一种可能的实现方式中,基于第一对象的物理参数和第一对象的初始参数,生成第一对象的运动动画,包括:
基于第一对象的物理参数和第一对象的初始参数,生成第一对象的运动参数;
根据第一对象的运动参数,生成第一对象的运动动画。
在第一方面的一种可能的实现方式中,第一操作作用在第一对象上后,第一对象和第三对象发生碰撞;
第一对象的物理参数包括第一对象的质量,第一对象的初始参数包括第一对象的第一入速度;
基于第一对象的物理参数和第一对象的初始参数,生成第一对象的运动参数,包括:
获取第三对象的物理参数和第三对象的初始参数,第三对象的物理参数包括第三对象的质量,第三对象的初始参数包括第三对象的第二入速度;
基于动量守恒定律和能量守恒定律,由第一对象的质量、第三对象的质量、第一入速度和第二入速度,计算第一对象的第一出速度和第三对象的第二出速度;
根据第一对象的第一出速度和碰撞后作用在第一对象上的摩擦力,计算碰撞后第一对象随时间变化的速度和/或位移;
根据第三对象的第二出速度和碰撞后作用在第三对象上的摩擦力,计算碰撞后第三对象随时间变化的速度和/或位移。
作为示例,通过公式(1)和公式(2)计算获得第一对象的第一出速度和第三对象的第二出速度。然后通过公式(3)和公式(4)计算获得第一对象随时间变化的速度。
(1)MAvruA+MBvruB=MAvA0+MBvB0
(2)1/2MAvruA 2+1/2MBvruB 2=1/2MAvA0 2+1/2MBvB0 2
(3)vAt=vA0+aAt;
(4)aA=FfA+FzA/MA
其中,vruA表示碰撞时对象A(第一对象)的速度(第一入速度),vruB表示碰撞时对象B(第三对象)的速度(第二入速度),vA0表示碰撞后对象A的速度(第一出速度),vB0表示碰撞后对象B的速度(第二出速度)。vAt表示对象A随时间变化的速度。
在第一方面的一种可能的实现方式中,第一操作作用在第一对象上后,第一对象和第三对象发生碰撞;
第一对象的物理参数包括第一对象的质量,第一对象的初始参数包括第一对象的第一入速度;
基于第一对象的物理参数和第一对象的初始参数,生成第一对象的运动参数,包括:
获取第三对象的物理参数和第三对象的初始参数,第三对象的物理参数包括第三对象的质量,第三对象的初始参数包括第三对象的第二入速度;
基于动量守恒定律和能量守恒定律,由第一对象的质量、第三对象的质量、第一入速度和第二入速度,计算第一对象的第一出速度和第三对象的第二出速度;
根据第一对象的第一出速度和碰撞后作用在第一对象上的摩擦力,计算碰撞后第一对象随时间变化的速度和/或位移;
根据第三对象的第二出速度和碰撞后作用在第三对象上的摩擦力,计算碰撞后第三对象随时间变化的速度和/或位移。
(5)vchu=vru×Elose
(6)Elose=(GA+GB)/2×Gmax,Gmax为自定义的刚度的最大常量。
当对象B为位置固定的对象的情况下,则分配给对象B的速度为0,因此,vchu全部分配给对象A,即(7)vA0=vchu,vB0=0。
当对象B为位置不固定的对象的情况下,(8)
Figure BDA0002936884420000061
通过公式(5)和公式(6)计算获得对象A的第三出速度和对象B的第四出速度之和vchu。然后通过公式(7)或公式(8)计算获得对象A的第三出速度和对象B的第四出速度。
最后通过公式(3)和公式(4)计算获得第一对象随时间变化的速度。
在第一方面的一种可能的实现方式中,第一操作为作用在第一对象上的按压操作,第一对象产生按压回弹;
第一对象的物理参数包括:第一对象的质量;第一对象的初始参数包括:作用在第一对象上的反弹度和作用在第一对象上的弹性部件的弹性系数;
基于第一对象的物理参数和第一对象的初始参数,生成第一对象的运动参数,包括:
根据反弹度和第一对象的质量,生成作用在第一对象上的第一回弹力;
根据第一回弹力和弹性系数,计算第一对象的按压位移;
根据第一对象的按压位移和弹性系数,计算第一对象所在场景中的弹性势能;
基于弹性势能等于第一对象的动能和作用在第一对象上的空气阻力做功的模型,获得第一对象的运动参数。
(9)FT=KT/M;
(10)x=FT/k,xp=G/k,按压位移:x-xp
(11)
Figure BDA0002936884420000071
根据公式(9)计算获得第一回弹力,根据公式(10)计算按压位移,公式(11)表示弹性势能、第一对象的动能和空气阻力做功的之间的关系。
在第一方面的一种可能的实现方式中,第一对象的物理参数还包括:第一对象的刚度;
根据第一回弹力和弹性系数,计算第一对象的按压位移包括:
根据第一回弹力和第一对象的刚度,生成作用在第一对象上的第二回弹力;
根据第二回弹力和弹性系数,生成第一对象的按压位移。
在第一方面的一种可能的实现方式中,第一操作为所用在第一对象上的按压操作,第一对象产生按压倾斜;
第一对象的物理参数包括:第一对象的重心;第一对象的初始参数包括:作用在第一对象上的按压力的受力点;
第一对象产生按压倾斜运动时,第一对象的倾斜轴与第一连线垂直,第一连线为作用在第一对象上的按压力的受力点和第一对象的重心之间的连线。
在第一方面的一种可能的实现方式中,第一对象的倾斜轴与第一对象的重心重合。
在第一方面的一种可能的实现方式中,第一操作为作用在第一对象上的按压操作,第一对象产生按压形变;
第一对象的物理参数包括:第一对象的刚度;第一对象的初始参数包括作用在第一对象上的按压力和按压力的受力点;第一对象的运动参数包括第一对象的形变区域;
基于第一对象的物理参数和第一对象的初始参数,生成第一对象的运动参数,包括:
根据作用在第一对象上的按压力和第一对象的刚度,计算第一对象的形变度;
根据第一对象的形变度和第一对象的面积,计算第一对象的形变面积;
根据第一对象的形变面积生成第一对象的形变区域,其中,形变区域的中心为作用在第一对象上的按压力的受力点。
在第一方面的一种可能的实现方式中,第一操作作用在第一对象上时,第一对象和与第一对象链式排布的第四对象之间产生链式运动,其中,第四对象受到的链式力为第四对象的施力对象受到的链式力除以第四对象的质量。
第二方面,本申请实施例提供一种电子设备,包括:
对象显示模块,用于在用户界面显示第一对象和第二对象,第一对象和第二对象的类型相同、外观不同;
动画生成模块,用于响应于作用在第一对象上的第一操作,生成第一对象的第一运动动画;
动画生成模块,还用于响应于作用在第二对象上的第二操作,生成第二对象的第二运动动画,第一操作和第二操作相同,第一运动动画和第二运动动画不同。
第三方面,提供一种电子设备,包括处理器,处理器用于运行存储器中存储的计算机程序,使电子设备实现本申请第一方面任一项的方法。
第四方面,提供一种芯片***,包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以使电子设备实现本申请第一方面任一项的方法。
第五方面,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被一个或多个处理器执行时使电子设备实现本申请第一方面任一项的方法。
第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在设备上运行时,使得设备执行上述第一方面中任一项方法。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种界面中对象的动画生成方法的应用场景示意图;
图2为本申请实施例提供的执行界面中对象的动画生成方法的电子设备的硬件结构示意图;
图3为本申请实施例提供的一种界面中对象的动画生成方法的流程示意图;
图4为本申请实施例提供的一种计算界面中对象的外边框颜色的示意图;
图5(a)至图5(d)为本申请实施例提供的一种界面中对象的碰撞动画的场景示意图;
图6(a)至图6(d)为本申请实施例提供的一种界面中对象的按压回弹动画的场景示意图;
图7(a)至图7(c)为本申请实施例提供的一种界面中对象的按压倾斜动画的场景示意图;
图8(a)至图8(b)为本申请实施例提供的一种界面中对象的按压倾斜动画的受力示意图;
图9(a)至图9(c)为本申请实施例提供的一种界面中对象的按压动画的场景示意图;
图10为本申请实施例提供的一种界面中对象的立体动画和平面动画的场景示意图;
图11为本申请实施例提供的另一种界面中对象的立体动画和平面动画的场景示意图;
图12为本申请实施例提供的一种界面中对象的链式排布的结构示意图;
图13为本申请实施例提供的一种界面中对象的链式动画的动画示意图;
图14为本申请实施例提供的一种电子设备的功能架构模块的示意框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的界面中对象的动画生成方法可以应用在图1所示的应用场景中。如图1所示,电子设备的显示屏显示用户界面,图1中的第1个图中显示联系人界面,该联系人界面中存在联系人的名片,每个联系人的名片可以作为一个对象。图1中的第2个图中显示电子设备的主界面,电子设备的主界面中的每个应用程序的图标也可以作为一个对象。当用户的手势作用于界面中的对象时,使得对象在界面中进行运动,从而生成对象的运动动画。为了使得界面中的对象的运动动画更接近于真实世界中物体的运动过程,可以为界面中的对象赋予一些物理参数,例如,对象的质量、对象的刚度等。然后基于对象的物理参数以及对象的初始参数(例如,作用在对象上的推力,对象的初始速度等)计算对象的运动参数,例如,对象随时间变化的速度、对象随时间变化的位移等。最后基于对象的运动参数生成对象的运动动画。
作为示例,界面中的两个对象发生碰撞时,其中一个对象可能会发生反弹运动。然而,对于不同的对象,发生反弹时的速度和反弹的位移可能存在差异,这些差异是基于对象的物理参数产生的,而不是开发人员预先根据不同对象设置的不同动画效果。由于对象的运动动画与对象的物理参数相关,因此,为了获得不同对象之间的差异化的运动动画以及使得对象的运动动画更符合真实世界中物体的运动过程,需要为每个对象赋予个性化的物理参数。用户对于用户界面中的对象的感知来自于对象的外观参数,例如,对象中像素点的颜色、对象的透明度等,因此,可以基于每个对象的外观参数生成每个对象个性化的物理参数。
本申请实施例提供的界面中对象的动画生成方法中,首先需要基于对象的外观参数生成对象的物理参数;然后根据对象的物理参数以及对象的初始参数生成对象的运动参数,最后,根据对象的运动参数生成对象的运动动画。
基于上述的理解,用户界面中可以显示至少两个同类型的对象,如图1所示的第二个用户界面中的应用A(可以为图4所示的日历图标)和应用C(可以为图4所示的计算器图标)。由于应用A和应用C均为APP的图标,所以应用A和应用C的类型相同。由于应用A和应用C为不同的APP的图标,所以应用A和应用C的外观不同(图4中未示出与颜色相关的外观差异)。
当用户在应用A上进行向右的推动操作时,应用A向右运动撞击应用B后,应用A被反弹,应用A向左运动,应用B继续保持静止。应用A的反弹运动可以参照图5(b)中所示的对象A的运动动画示意,应用A碰撞后发生反弹以原来的运动方向相反的方向运动,被碰撞的应用B的运动动画可参照图5(b)中所示的对象B的运动动画示意,应用B保持静止。
当用户在应用C上进行向左的推动操作时,应用C向左运动撞击应用B后,应用C继续向左运动,应用B也向左运动。应用C的运动动画可以参照图5(c)中所示的对象A的运动动画示意,应用C碰撞后以与原来的运动方向相同的方向运动,被碰撞的应用B的运动动画可参照图5(c)中所示的对象B的运动动画示意,应用B和应用C保持同方向的运动。用户作用在应用A上的操作为向右的推动操作,用户作用在应用C上的操作为向左的推动操作。虽然操作方向存在差异,然而均为推动操作,所以,用户作用在应用A上的向右的推动操作和用户作用在应用C上的向左的推动操作为相同的操作。上述操作过程可以理解为给应用A和应用C相同的推力值或者相同的初速度值。
通过图5(b)所示对象A和对象B的运动动画和图5(c)所示的对象A和对象B的运动动画可以理解,相同的操作作用在应用A上和应用C上、且应用A和应用C碰撞的对象也相同时,应用A和应用C产生的运动动画是不同的。
而产生运动动画不同的原因在于,应用A的外观使得应用A像是真实世界中质量较轻的物体。应用C的外观使得应用C像是真实世界中质量较重的物体。而真实世界中这两种物体碰撞同一物体可能产生不同的运动。因此,本申请实施例提供的界面中对象的动画生成方法可以基于对象之间的外观差异,生成差异化的动画;并且生成的对象的动画更接近真实世界中物体的运动。
上述实施例中如何根据对象的外观得到对象的质量或者其他物理参数可以参照后续实施例的描述。
作为另一实施例,图1所示的第二个界面中显示的应用A和应用D均为APP的图标,即类型相同。由于应用A和应用D的外观不同,当用户在应用A和应用B上分别进行按压操作时,应用A被按压后可能回弹2次,应用B被按压后可能回弹4次。即外观不同的应用A和应用D对于相同操作生成的运动动画不同。对于按压回弹的运动动画的生成过程可参照后续实施例中的描述。
需要说明,图1所示应用场景仅为一种示例,在实际应用中,还可能存在其他应用场景,本申请实施例对界面中对象的动画生成方法的应用场景不做限制。
本申请实施例提供一种界面中对象的动画生成方法,该方法可以适用于电子设备中。电子设备可以为:手机、平板电脑、可穿戴设备、车载设备、智能音箱、智慧屏、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)等电子设备。本申请实施例对电子设备的具体类型不作限定。
图2示出了一种电子设备的结构示意图。电子设备200可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,马达291,摄像头293,显示屏294,以及用户标识模块(subscriber identificationmodule,SIM)卡接口295等。其中传感器模块280可以包括压力传感器280A,陀螺仪传感器280B,加速度传感器280E,触摸传感器280K等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备200的具体限定。在本申请另一些实施例中,电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,处理器210用于执行本申请实施例中的界面中对象的动画生成方法。
其中,控制器可以是电子设备200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了***的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serialbus,USB)接口等。
USB接口230是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口230可以用于连接充电器为电子设备200充电,也可以用于电子设备200与***设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
外部存储器接口220可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备200的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器221可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行电子设备200的各种功能应用以及数据处理。内部存储器221可以包括存储程序区和存储数据区。
此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块240可以通过USB接口230接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块240可以通过电子设备200的无线充电线圈接收无线充电输入。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为电子设备供电。
电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器221,外部存储器,显示屏294,摄像头293,和无线通信模块260等供电。电源管理模块241还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。
在其他一些实施例中,电源管理模块241也可以设置于处理器210中。在另一些实施例中,电源管理模块241和充电管理模块240也可以设置于同一个器件中。
电子设备200的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块250可以提供应用在电子设备200上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块250还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器270A,受话器270B等)输出声音信号,或通过显示屏294显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器210,与移动通信模块250或其他功能模块设置在同一个器件中。
无线通信模块260可以提供应用在电子设备200上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得电子设备200可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(global navigation satellite system,GLONASS),北斗卫星导航***(beidounavigation satellite system,BDS),准天顶卫星***(quasi-zenith satellitesystem,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
电子设备200通过GPU,显示屏294,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏294用于显示图像,视频等。显示屏294包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备200可以包括1个或N个显示屏294,N为大于1的正整数。作为示例,电子设备的显示屏可以显示用户界面。
电子设备200可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块270用于将数字音频信号转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块270还可以用于对音频信号编码和解码。在一些实施例中,音频模块270可以设置于处理器210中,或将音频模块270的部分功能模块设置于处理器210中。
扬声器270A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备200可以通过扬声器270A收听音乐,或收听免提通话。
受话器270B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备200接听电话或语音信息时,可以通过将受话器270B靠近人耳接听语音。
麦克风270C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风270C发声,将声音信号输入到麦克风270C。电子设备200可以设置至少一个麦克风270C。在另一些实施例中,电子设备200可以设置两个麦克风270C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备200还可以设置三个,四个或更多麦克风270C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。例如,麦克风270C可以用于采集本申请实施例涉及到的音频信号。
耳机接口270D用于连接有线耳机。耳机接口270D可以是USB接口230,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器280A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器280A可以设置于显示屏294。压力传感器280A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器280A,电极之间的电容改变。电子设备200根据电容的变化确定压力的强度。当有触摸操作作用于显示屏294,电子设备200根据压力传感器280A检测触摸操作强度,从而生成作用于界面中对象上的外力,使得界面中的对象基于该外力产生相应的运动。
陀螺仪传感器280B可以用于确定电子设备200的运动姿态。在一些实施例中,可以通过陀螺仪传感器280B确定电子设备200围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器280B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器280B检测电子设备200抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备200的抖动,实现防抖。陀螺仪传感器280B还可以用于导航,体感游戏场景。作为示例,用户可以通过调整电子设备200的位姿,使得界面中自由活动的对象基于自身的重力产生相应的运动。
加速度传感器280E可检测电子设备200在各个方向上(一般为三轴)加速度的大小。当电子设备200静止时可检测出重力的大小及方向。作为示例,用户可以调整电子设备200的加速度,向界面中自由活动的对象施加相应的加速度,使得界面中自由活动的对象基于该加速度产生相应的运动。
触摸传感器280K,也称“触控面板”。触摸传感器280K可以设置于显示屏294,由触摸传感器280K与显示屏294组成触摸屏,也称“触控屏”。触摸传感器280K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏294提供与触摸操作相关的视觉输出。作为示例,电子设备200可以通过触摸传感器检测用户施加在对象上的外力的位置,从而使得界面中的对象基于该外力的位置产生相应的运动。
马达291可以产生振动提示。马达291可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏294不同区域的触摸操作,马达291也可对应不同的振动反馈效果。作为示例,电子设备200可以基于界面中的对象的运动动画产生相应的振动效果,例如,当两个对象发生碰撞时,可以产生振动反馈效果。
SIM卡接口295用于连接SIM卡。SIM卡可以通过***SIM卡接口295,或从SIM卡接口295拔出,实现和电子设备200的接触和分离。电子设备200可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口295可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口295可以同时***多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口295也可以兼容不同类型的SIM卡。SIM卡接口295也可以兼容外部存储卡。电子设备200通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备200采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备200中,不能和电子设备200分离。
本申请实施例并未特别限定一种界面中对象的动画生成方法的执行主体的具体结构。只要可以通过运行记录有本申请实施例提供的一种界面中对象的动画生成方法的程序,以根据本申请实施例的一种界面中对象的动画生成方法进行通信即可。例如,本申请实施例提供的一种界面中对象的动画生成方法的执行主体可以是电子设备中能够调用程序并执行程序的功能模块,或者为应用于电子设备中的通信装置,例如,芯片。
本申请实施例以对用户界面上的对象进行操作后,电子设备在用户界面上生成对象的运动动画的场景为例,描述对象的运动动画的生成过程。
参照图3所示,为本申请实施例提供的一种界面中对象的动画生成方法的流程示意图,如图所示,该方法包括:
步骤301,检测到作用在对象上的操作。
如图1所示,用户界面中的对象可以是主界面中应用程序的图标,还可以是联系人界面中联系人的名片。实际应用中,用户界面中的对象可以是用户界面中具有颜色特征和边界的元素。例如,图标、具有边界框的文字、图像、各种控件等。
检测到作用在对象上的操作,可以是检测到作用在对象上手势操作,例如,检测到作用在对象上的拖动操作、按压操作等。
检测到作用在对象上的操作,还可以是检测其他对象对本对象的操作,例如,对象A在运动过程中碰撞对象B,则检测到作用在对象B上的操作可以是检测到对象A对对象B的碰撞。
步骤302,获取对象的外观参数,并根据对象的外观参数为对象赋予物理参数。
本申请实施例中,电子设备的显示屏可以呈现用户界面,本申请实施例将用户界面中的对象看作是真实世界中的物体。由于真实世界中的物体具有一些物理参数,例如:质量、重心、刚度等。因此,若要电子设备的用户界面中的对象具有与真实世界相似的运动过程,需要为电子设备的用户界面中的对象赋予一些物理参数。
为了提高用户的交互体验,可以从用户对对象的感知的角度为对象赋予物理参数。用户对于用户界面中的对象的感知来自于对象的外观,例如,对象的颜色,对象的颜色分布,对象的透明度,对象的模糊度等。为了使得电子设备的处理器能够获得对象的外观,可以获得对象中像素点的颜色,对象中像素点的坐标,对象的透明度、对象的模糊度等。本申请实施例将这些参数记为对象的外观参数。
作为示例,对象的颜色越深,对象的单位质量就越大,例如,将对象的颜色分为多个等级,不同等级对应不同的单位质量。或者设置对象的单位质量和对象的颜色之间的函数关系,通过该函数关系以及对象的颜色生成对象的单位质量。
作为另一示例,对象越模糊,对象的粗糙度就越大,该对象和其他对象相互摩擦时,摩擦系数就越大。也可以设置对象和与该对象所在背景之间的摩擦系数与该对象的模糊度以及该背景的模糊度之间的函数关系,通过该函数关系以及对象的模糊度和背景的模糊度得到对象和背景之间的摩擦系数。
以上根据对象的外观参数为对象赋予物理参数的过程仅用于示例,根据对象不同的外观参数,为对象赋予不同的物理参数的过程可参照后续实施例中的描述。
步骤303,获取对象的初始参数。
在现实世界中,一个物体受到了外部的作用力,该物体可能产生运动。该作用在对象上的外部力可以为对象的初始参数。
作为示例,作用在对象上的操作为按压操作时,对象的初始参数可以是施加在对象上的按压力的值(该值可以为定值,也可以根据按压操作的受力面积等参数获得),对象的初始参数还可以是施加在对象上的按压力的位置。作用在对象上的操作为推动操作时,对象的初始参数可以是根据推动操作的推动距离生成的推力。
在一些实施例中,为简化生成对象的运动动画的过程,可以为对象赋予初始速度作为对象的初始参数。
作为示例,当作用在对象上的操作为推动操作时,对象的初始参数可以为对象的初始速度,用户停止推动后,该对象以该初始速度匀速运动,或者该对象根据受到的摩擦力以该初始速度减速运动。当该对象以初始速度匀速运动时,该对象的运动轨迹上存在另一对象,则该对象和另一对象发生碰撞。
对象的初始参数还可以是其他参数,具体可以参照后续实施例中的描述。
步骤304,基于对象的物理参数和对象的初始参数,生成对象的运动动画。
对象的运动并不限定于狭义上的产生了位移,也可以是该对象产生了形变。即只要对象的位置和/或形状发生了改变,就认为对象运动了。
以对象产生了位移的运动为例,对象在运动过程中,还可能受到空气阻力、摩擦力等。在实际应用中,可以将对象固有的质量、重心和刚度等参数记为对象的静态物理参数,将对象在产生位移的运动过程中伴随的摩擦力和空气阻力记为对象的动态物理参数。当然,由于只有在特定动画场景的运动动画中才会考虑摩擦力和空气阻力,也可以将对象固有的重量、重心和刚度等参数记为对象的物理参数,而摩擦力和空气阻力作为特定动画场景中的受力参数。本申请实施例对这些参数的划分不做限制。
在实际应用中,不同的动画场景(例如,对象的按压回弹场景、对象的按压倾斜场景、对象的按压形变场景)下设置的运动模型(一个或多个数学公式组成)可能不同,导致需要的物理参数可能不同。即使同一动画场景下,由于采用的运动模型的差异,也可能导致该动画场景下采用的物理参数存在不同。鉴于上述理解,在一些动画场景的实施例中,可能用到了上述物理参数中的部分或全部,也可能用到上述物理参数以外的其他物理参数,本申请对此并不限定。
对象的运动动画通常体现在至少两个方面:位置和形状。因此,当一个用户界面中存在多个对象的情况下,可以设置某些对象是位置和形状均不固定的对象,某些对象是位置和形状均固定的对象,某些对象是形状固定或位置固定的对象。对位置不固定的对象施加外力,使得该对象产生与位置变化相关的动画;对形状不固定的对象施加外力,使得该对象产生与形状变化相关的动画;当用户对位置固定且形状固定的对象施加外力,该位置固定且形状固定的对象不会产生运动动画。
另外,针对不同的对象,可以设置不同的动画场景,例如,设定联系人名片的下方存在弹簧,则针对联系人名片,设置的动画场景为按压回弹场景;设定应用图标为刚度较低时,则针对应用图标,设置的动画场景为按压变形场景。
当然,实际应用中,也可以针对用户作用在对象上的手势,设置不同的动画场景,例如,针对应用图标上用户的点击手势设置按压回弹场景,针对应用图标上用户的滑动手势设置沿着滑动方向运动的场景,当沿着滑动方向存在其他对象的情况下,该应用图标可以和其他对象发生碰撞的场景。
当然,还可能存在其他情况,当一个对象受到其他对象的影响时,可以基于其他对象的运动状态确定该对象的运动场景。作为举例,可以设置:当一个对象(对象A)被其他对象(对象B)撞击时,可以设置对象A参与的运动动画为碰撞场景(简称场景1)。
当作用在一个对象(对象A)上的第一操作为用户手势时,可以设置对象A为按压倾斜场景(简称场景2)。
通过场景1和场景2可以理解,在不同的动画场景中,采用不同的运动模型(一个或多个数学公式组成运动模型)。同时由于真实世界中物体的运动是个相对复杂的运动过程,因此,生成所述对象在所述动画场景中的运动参数的过程中,可能会对现有的运动模型进行改进或重新设置符合该动画场景的运动模型,以降低处理器的计算量。本申请实施例对采用的运动模型不做限制。
如前所述,对象的运动模型可以由一个或多个数学公式组成,运动模型中的输入参数包括对象的物理参数(例如质量、刚度、重心等)和对象的初始参数(例如,作用在对象上的力、对象的初始速度等),运动模型的输出参数包括对象的运动参数(例如,对象随时间变化的速度、随时间变化的位移、对象的形变面积等)。根据一个或多个数学公式组成的运动模型,以及对象的物理参数和初始参数,就可以得到对象的运动参数。生成对象的运动参数的过程可以参照后续实施例中的描述。在获得对象的运动参数后,可以基于对象的运动参数仿真获得对象的运动动画。在仿真时,可能采用不同的动画引擎,该动画引擎中设置有相应的运动参数,通过改变动画引擎中的运动参数,仿真获得对象的运动动画。
本申请实施例中,对象的外观参数可以包括:对象中像素点的颜色,对象中像素点的坐标,对象的面积或体积,对象所在用户界面中的主题颜色、对象的透明度、对象的模糊度等。通过对象的外观参数的描述可以理解,对象的外观参数为从用户的视觉角度可以直观观察到不同对象之间差异的参数。本申请实施例基于对象的外观参数为对象赋予物理参数,使得对象的物理参数遵循真实世界中用户的视觉感知。通过对象的物理参数生成的对象的运动参数能够更符合真实世界中的物体运动过程。因此,通过本申请实施例获得的对象的运动动画不仅能够提供不同对象间差异化的动画效果;还能够使得生成的对象的运动动画更符合真实世界中对象的运动过程,提高用户的交互体验。
下面将描述步骤302中的根据对象的外观参数,为对象赋予物理参数的实现过程。
以对象的质量进行举例,描述基于对象的外观参数赋予用户界面中对象的质量的方法。
从生活中的经验来看,物体的颜色越深,物体的质量往往越大。因此,可以根据所述对象中像素点的颜色,计算所述对象的质量。
在对象所在的界面中,有可能存在亮色的主题背景,还可能存在暗色的主题背景。在亮色的主题背景中,用户界面中的对象的颜色与主题背景的颜色的差异越大,则对象的质量越大;反之,暗色的主题背景中,用户界面中对象的颜色与主题背景的颜色的差异越大,则对象的质量也越大。因此,可以基于对象中的每个像素点的颜色和所述对象所在用户界面的主题颜色之间的第一差异,计算对象的质量。实际应用中,可以采用能够代表两个值(像素点的颜色值和主题颜色值)的差异的函数作为对象的质量的计算模型。
作为举例,可以通过以下函数关系计算对象中每个像素点的质量,然后再根据每个像素点的质量,生成对象的质量。
Figure BDA0002936884420000171
或,
Figure BDA0002936884420000172
其中,mi表示对象中第i个像素点的质量,ai表示对象中第i个像素点的颜色,b表示用户界面的主题的颜色。
实际应用中,可以预先设置用户界面的主题的颜色为两类,分别为亮色主题和暗色主题。其中亮色主题的颜色值为白色表示的值,例如,0XFFFFFF;暗色主题的颜色值为黑色表示的值,例如,0X000000。
当电子设备的用户界面中的主题为用户自定义的图片时,还可以先将主题图片生成灰度图像,计算该灰度图像中像素点的灰度均值,并设置灰度阈值,在该主题图片的灰度均值大于灰度阈值的情况下,认为当前主题为亮色主题,在该主题图片的灰度均值小于灰度阈值的情况下,认为当前主题为暗色主题。
在计算获得对象中每个像素点的质量之后,还可以对计算获得的每个像素点的质量进行归一化处理:
mi'=(mi-μ)/(mmax-mmin);
其中,mi'表示对象中第i个像素点的归一化质量,μ为自主定义的一个常数,mmax表示颜色的最大值,可以设置为0XFFFFFF,mmin表示颜色的最小值,可以设置为0X000000。
若μ=0,则每个像素点归一化后的质量在0到1的范围内,因此,可以通过常数μ调节像素点归一化后的质量范围。
对于真实世界中物体,体积越大,则物体的质量越大。相应的,对于二维物体,面积越大,则物体的质量越大。电子设备的显示屏呈现的用户界面中的对象通常为平面显示。可以理解为用户界面中的对象为二维物体。因此,用户界面中的对象的质量与用户界面中对象的面积相关。可以通过以下方式计算对象的质量。
Figure BDA0002936884420000173
其中,M表示对象的质量,mi'表示对象中第i个像素点的归一化质量,n表示对象中像素点的数量。
从用户的视觉角度,越透明的物体,质量越轻。因此,用户界面中对象的质量还与对象的透明度有关。
鉴于上述分析可以得出:当考虑对象透明度对质量的影响时,
Figure BDA0002936884420000174
其中,K表示透明度。K可以取0-1范围内的数值。对象越透明,K越小,对象的质量越轻。当然,实际应用中,还可以通过其他函数关系表示透明度和对象的质量的正向关系。
其中,对象的透明度可以通过调用***内部的透明度参数获取。例如,电子设备的设置界面中存在为对象设置透明度的选项,用户可以通过该选项设置透明度。在需要为该对象赋予质量、且需要考虑透明度对质量的影响时,可以获取用户在透明度设置选项设置的透明度值。
当然,若***未对对象的透明度进行设置,则可以默认对象的透明度为预先设置的定值,例如,K可以为1。
为了便于区分,也可以将未考虑对象的透明度生成的对象的质量记为第一质量值,将考虑了对象的透明度生成的对象的质量记为第二质量值。实际应用中,可以根据具体情况考虑将第一质量值或者还第二质量值作为对象的质量参数。
以对象的重心进行举例,描述基于对象的外观参数赋予用户界面中对象的重心的方法。
如前所述,可以计算获得对象中每个像素点的质量,而对象中每个像素点的坐标可以获得,即已知对象的质量分布,因此,可以根据对象中的每个像素点的质量以及对象的质量分布计算获得对象的重心。
在计算对象的重心时,可以采用迭代法,具体可参照如下过程:
在二维空间中,采用空间直角坐标系O-XY。对象可以微元出n个质点(或者n个像素点),第i个质点的坐标为(xi,yi),第i个质点的质量为mi',对象的质量M=m1'+…+mi'+…+mn'。
对象的重心的坐标为G(x,y),通过以下公式计算获得。
x=(x1m1'+…+ximi'+…+xnmn')/M;
y=(y1m1'+…+yimi'+…+ynmn')/M。
上述公式中计算重心的坐标时,采用每个像素点的归一化质量,实际应用中,还可以采用每个像素点归一化前的质量。
当然,实际应用中,电子设备的显示屏呈现的用户界面中要实现三维对象在三维空间中的动画效果的情况下,还可以在三维对象所在的空间中确定空间直角坐标系O-XYZ。对象可以微元出n个质点(或者n个像素点),第i个质点的坐标为(xi,yi,zi),第i个质点的质量为mi',对象的质量M=m1'+…+mi'+…+mn'。
对象的重心的坐标为G(x,y,z),通过以下公式计算获得。
x=(x1m1'+…+ximi'+…+xnmn')/M;
y=(y1m1'+…+yimi'+…+ynmn')/M;
z=(z1m1'+…+zimi'+…+znmn')/M。
上述公式中计算重心的坐标时,采用每个像素点的归一化质量,实际应用中,还可以采用每个像素点归一化前的质量。
以对象的刚度进行举例,描述基于对象的外观参数赋予用户界面中对象的刚度的方法。
通常,刚度与物体的单位质量有一定关系,例如,常规存在的棉花和铁块,同样体积的面积和铁块,棉花的质量较轻,刚度较小,铁块的质量较重,刚度较大。因此,为了获得与真实世界相似的动画效果,可以设置单位质量越大的对象,刚度越大;反之,单位质量越小的对象,刚度越小。即对象的刚度与对象的单位质量呈正向关系。
另外,对象的颜色也会与对象的刚度有关,在真实世界中,颜色越深的物体,用户的感觉越厚重,认为刚度越大。在亮色主题背景中,可以设置对象的外边框颜色与用户界面的主题颜色的差异越大,则对象的刚度越大;在暗色主题背景中,可以设置对象的外边框颜色与用户界面的主题颜色的差异越大,则对象的刚度越大。即对象的刚度与对象的外边框和用户界面的主题颜色的差异呈正向关系。
基于上述分析,可以得出用户界面中对象的刚度为:
G=|b-c|×kG×Ms
其中,G表示对象的刚度,b表示用户界面主题的颜色,c表示对象的外边框颜色,kG表示刚度换算系数,Ms表示对象的单位质量。为了便于描述,将所述对象的外边框的颜色和所述对象所在用户界面的主题颜色之间的差异记为第二差异。
其中,刚度换算系数kG可以为预先设置的正数,刚度换算系数的设置是为了使得计算获得的对象的刚度值在合理的范围内。例如,自然界中常用金属的刚度值在105MPa量级,通过该刚度换算系数,使得计算获得的对象的刚度值也在105MPa量级。
如前所述,可以预先设置用户界面的主题的颜色为两类,分别为亮色主题和暗色主题。其中亮色主题的颜色值为白色表示的值,例如,0XFFFFFF;暗色主题的颜色值为黑色表示的值,例如,0X000000。c可以是对象的外边框范围(例如图4中日历图标中的外边框范围)中像素点的均值,若对象的外边框范围没有固定区域,则可以以对象的最***边界向内延伸预设宽度作为外边框范围(图4中计算器图标的最***边界和虚线之间的范围)内像素点的均值作为对象的外边框的颜色,该预设宽度可以设置。
当对象为二维元素时,Ms=M/S,S表示对象的面积;当对象为三维元素时,Ms=M/V,V表示对象的体积。刚度换算系数用于调节对象的刚度值,实际应用中,也可以设置刚度换系数kG=1。
另外,还可以设置对象的刚度与透明度呈正向关系,可以设置对象的透明度为K,则对象的刚度为:
G=|b-c|×K×kG×Ms
其中,对象的透明度K的取值、获取方式可参照生成对象的质量值时对对象的透明度的描述。
其次,对象的刚度还可能与用户界面中对象的模糊度(或清晰度)相关。当对象本身存在模糊效果,就会产生类似于棉花吸能的感觉,会降低对象的刚度。因此,在考虑模糊度的影响的情况下,对象的刚度表示如下:
G=|b-c|×K×kG×Ms×A。
其中,A表示对象的模糊度。
实际应用中,A可以设置A为从0到1的值,对象越模糊,A的值越小,对象的模糊度也可以理解对象的清晰度。对象越模糊、该对象的清晰度越小,对象的刚度越小。
当然,在实际应用中,在为对象赋予刚度值的时候,还可以在不考虑对象的透明度的影响的情况下,考虑对象的模糊度的影响。即对象的刚度还可以表示如下:
G=|b-c|×kG×Ms×A。
在实际应用中,对象的模糊度可以按照如下方式获得:在存在对象的模糊度(或清晰度)的设置界面的情况下,可以获取该设置界面中模糊度的值。在不存在设置界面以供用户设置对象的模糊度的情况下,电子设备可以截屏获取该对象的图像,计算截屏中该对象的图像区域的清晰度。
为了便于描述,可以将未考虑了对象的透明度和模糊度生成的对象的刚度记为第一刚度,将考虑了对象的透明度生成的对象的刚度记为第二刚度,将考虑了对象的模糊度生成的对象的刚度记为第三刚度,将同时考虑了对象的透明度和模糊度生成的刚度记为第四刚度。
如前所述,只有在对象的位置发生变化的运动中才会产生一些参数,例如,对象在运动过程中受到的摩擦力,对象运动过程中受到的空气阻力。这些参数可能与对象的外观参数相关,也可能与对象的外观参数无关。
下面将描述在对象的位置发生改变的动画场景中,为对象赋予动态物理参数(或如前所述的受力参数)的方法。
以作用在对象的摩擦力进行举例,描述赋予用户界面中对象的摩擦力的方法。
在真实世界的运动场景中,摩擦力是必不可少的。因此,为了获得和真实世界中的运动相似的动画效果,需要在动画场景中增加摩擦力。而在对象的动画场景中,通常考虑作用在对象上的滑动摩擦力。因此,可以将滑动摩擦力作为对象的一个物理参数。
在电子设备的用户界面中,主要考虑对象和与对象产生相对运动的另一对象之间的摩擦力。当对象与用户界面中的背景接触、且相对于用户界面中的背景运动的场景中,该另一对象为用户界面中的背景。
另外,通常对象的质量也会影响摩擦力的大小,所以,可以得出作用在对象上的摩擦力为:
Ff=M×OBE
其中,Ff为作用在对象上的摩擦力,M为对象的质量,OBE为对象和该对象所在背景之间的相对摩擦系数。
一个对象和该对象所在背景之间的相对摩擦系数可以通过以下方式获得:
首先计算该对象所在的背景角度的摩擦力,通常考虑颜色越深的对象,摩擦力越大。另外,由于真实世界中不存在完全光滑的物体,所以,需要设置背景角度的摩擦力的最小值大于0,基于上述描述,可以得出该对象所在背景角度的摩擦力:
Bf=e1+|0XFFFFFF-d|×kfB
其中,Bf为背景摩擦力,e1为设置的最小背景摩擦力,d为对象所在背景的颜色,kfB为预先设置的背景摩擦力换算系数。
其中,0XFFFFFF为白色对应的值。由于自然界中不存在摩擦力为0的背景物体,因此,可以设置正数作为最小背景摩擦力,作为举例,最小背景摩擦力可以为0.001、0.05、0.2、1、1.2等,本申请实施例对最小背景摩擦力的具体数值不做限制。
背景摩擦力换算系数可以调节得到的背景摩擦力的取值范围,使得得到的背景摩擦力与真实世界中的摩擦力属于同一量级。
实际应用中,d为对象所在背景中像素点的颜色的均值,作为举例,对象在蓝天场景中滑动,此时对象所在背景中像素点的颜色的均值表示蓝天场景中像素点的均值。或者,从对象所在背景中随机选取若干个像素点,计算选取的像素点的均值,将该均值作为对象所在背景中像素点的颜色的均值。
基于背景角度的摩擦力的计算方法,可以得出对象角度的摩擦力:
Ef=e2+|0XFFFFFF-a|×kfE
其中,Ef为对象摩擦力,e2为设置的最小对象摩擦力,a为对象的底色,kfE为预先设置的对象摩擦力换算系数。
其中,0XFFFFFF为白色对应的值。由于自然界中不存在摩擦力为0的物体,因此,可以设置正数作为最小对象摩擦力,作为举例,最小对象摩擦力可以为0.001、0.05、0.2、1、1.2等,本申请实施例对最小对象摩擦力的具体数值不做限制。
对象摩擦力换算系数可以调节得到的对象摩擦力的取值范围,使得得到的对象摩擦力与真实世界中的摩擦力属于同一量级。
实际应用中,a可以是对象中的像素点的颜色的均值。
其中,背景摩擦力换算系数和对象摩擦力换算系数可以相等。
一个对象和该对象所在背景之间的相对摩擦系数可以基于背景摩擦力和对象摩擦力确定,在实际应用中,对象和该对象所在背景之间的相对摩擦系数(OBE)可以是背景摩擦力和对象摩擦力的积(Bf×Ef)等其他数据特征值。
真实世界中,一个物体越粗糙,通常摩擦力越大。对于用户界面中的对象,对象的模糊度也可以理解为真实世界中物体表面的粗糙度,因此,摩擦力还与用户界面中对象的模糊度有关。
基于上述的分析,可以得出摩擦力为:
Figure BDA0002936884420000211
其中,A表示对象的模糊度,对象的模糊度可以取0-1之间的数值。对象越模糊,A的取值越小,摩擦力越大,因此,对象的模糊度与摩擦力呈反向关系。
该示例中,对象的模糊度可参照上述描述,本申请实施例在此不再赘述。另外,为了便于描述,可以将未考虑对象的模糊度生成的对象的摩擦力记为第一摩擦力,将考虑对象的模糊度生成的对象的摩擦力记为第二摩擦力。
在真实世界的物体运动过程中,不可避免还会存在空气阻力。为了使得用户界面中对象的运动动画效果更接近于真实世界中的运动效果,还可以为对象的运动过程附加空气阻力,以模拟真实世界中的空气阻力。由于该空气阻力为对象运动过程中附加在对象上的,所以可以将该空气阻力设为对象的物理参数。通常可以理解为物体的运动速度越快,空气阻力越大。对于用户界面中的对象,也可以设置对象的运动速度越快,空气阻力越大。因此,可以设置空气阻力和运动速度之间的正向关系函数。
Fz=f(v);
其中,Fz表示施加在运动的对象上的空气阻力,v表示对象的运动速度。
当然,实际应用中,还可以设置一个全局阻力FQ,该全局阻力为固定的阻力,可以设置的比较小。由于该全局阻力比较小,对于界面中对象参与的动画影响较小,也可以不配置该全局阻力。
为了匹配不同动画场景,还可以为对象赋予其他参数,或者采用其他运动模型为对象赋予上述物理参数,本申请实施例对此不做限制。
在为用户界面中的对象设置了一些物理参数后,就可以针对不同的动画场景中设置的运动模型生成对象的运动参数。本申请实施例后续通过几个动画场景进行举例,说明可以在不同的动画场景下,可以采用不同的运动模型获得对象的运动参数,从而生成对象的运动动画。当然,在相同的动画场景中,也可以采用不同的运动模型获得对象的运动参数,从而生成对象的运动动画。
作为本申请的一个实施例,在用户界面中的对象参与的动画中,经常会有两个或两个以上的对象发生接触碰撞的过程。为了使得用户界面中对象参与的动画与真实世界中两个物体发生碰撞后的运动相似,可以根据对象的外观参数生成对象的物理参数,然后基于对象的物理参数生成对象的运动参数,从而根据对象的运动参数生成对象的运动动画。
以对象A和对象B的碰撞为例,可以根据动量守恒定律(MAvruA+MBvruB=MAvA0+MBvB0)和动能守恒定律(1/2MAvruA 2+1/2MBvruB 2=1/2MAvA0 2+1/2MBvB0 2)计算对象A和对象B的碰撞后的初速度。其中,vruA表示碰撞时对象A的速度(第一入速度),vruB表示碰撞时对象B的速度(第二入速度),vA0表示碰撞后对象A的速度(第一出速度),vB0表示碰撞后对象B的速度(第二出速度)。在获得碰撞后对象A的速度后,可以根据对象A受到的摩擦力和对象A碰撞后对象A的速度获得对象A随时间变化的瞬时速度以及相应的位移。碰撞后对象A的运动参数参照对象A的运动参数的计算过程,不再赘述。
当然,实际应用中,还可以对上述模型进行修改,以形成新的运动模型获得该应用场景中对象A和对象B的运动参数。
作为示例,参照图5(a)所示,用户的手势给对象A(黑色小球)一个向对象B(应用D的图标)方向的力,对象A朝向对象B运动,使得对象A和对象B发生碰撞,该运行场景为运动的对象A碰撞静止的对象B。其中,静止的对象B可能是位置不固定的对象,也可能是位置固定的对象。
以运动的对象A碰撞静止的对象B为例,描述对象A和对象B发生碰撞后生成对象A和对象B的运动动画的过程。
1.1,根据对象A的外观参数生成对象A的物理参数,根据对象B的外观参数生成对象B的物理参数;
该动画场景中,物理参数包括:对象A的质量和对象B的质量,对象A的刚度和对象B的刚度。可以参照上述描述为对象赋予质量和刚度的相关描述。
1.2,获取对象A和对象B发生碰撞前对象A的瞬时速度vru(第三入速度);
在本申请实施例中,从对象A当前的位置运动到与对象B碰撞之前可以分为两个阶段:
第一个阶段,用户的手指从电子设备的触控屏抬起前,对象A受到向下的推力,向上的摩擦力(通过上述描述赋予对象的摩擦力),对象A从静止开始运动。其中,对象A受到的推力可以预先设置为定值,向上的摩擦力可以通过上述实施例中描述的赋予对象的摩擦力的方法确定。
第二个阶段,用户的手指从电子设备的触控屏抬起后,对象A受到向上的摩擦力,对象A开始减速运动直至与对象B发生碰撞。
通过上述描述可以得到对象A和对象B发生碰撞前对象A的瞬时速度vru
1.3,计算对象A和对象B发生碰撞后对象A的初始速度vA0(第三出速度)和对象B的初始速度vB0(第四出速度)。
在本申请实施例中,可以将对象A的初始速度vA0和对象B的初始速度vB0的和记为vchu
其中,vchu=vru×Elose。Elose表示能量损失率,而碰撞产生的能量吸收损失通常与物理的刚性的特性相关,正是由于物体的非完全刚性的特性,导致碰撞过程会产生吸能。因此,可以设置:
Elose=(GA+GB)/2×Gmax,Gmax为自定义的刚度的最大常量。
当然,实际应用中,还可以设置对象A和对象B为完全刚性的对象,这种情况下,不存在能量损失,则vchu=vru
在计算获得vchu之后,需要将vchu分配给对象A和对象B。
参照图5(b)所示,当对象B为位置固定的对象的情况下,则分配给对象B的速度为0,因此,vchu全部分配给对象A,即vA0=vchu,vB0=0。
参照图5(c)所示,当对象B为位置不固定的对象的情况下,将vchu分配给对象A和对象B。在实际应用中,可以根据对象A的质量和对象B的质量之间的关系,将vchu分配给对象A和对象B。
作为举例,
Figure BDA0002936884420000221
当然,还可能存在图5(d)所示的应用场景。该应用场景下,除了可以通过动量守恒定律(MAvru=MAvA0+MBvB0)和动能守恒定律(1/2MAvru 2=1/2MAvA0 2+1/2MBvB0 2)计算对象A和对象B的碰撞后的初速度,还可以采用其他运动模型以计算对象A和对象B碰撞后的初速度,该应用场景下的计算过程不再进行举例。
1.4,计算对象A受到的摩擦力FfA和空气阻力FzA以及对象B受到的摩擦力FfB和空气阻力FzB
该步骤可以参照上述描述的为对象赋予摩擦力和空气阻力的相关描述。
在对象B为位置不固定的对象的情况下,需要计算对象B受到的摩擦力FfB和空气阻力FzB
在对象为位置固定的对象的情况下,不需要考虑对象B碰撞后的运动,因此不需要计算对象B受到的摩擦力FfB和空气阻力FzB
1.5,通过vAt=vA0+aAt计算对象A随时间变化的速度vAt
其中,对象A的加速度aA=FfA+FzA/MA
当对象B为位置不固定的对象的情况下,vBt=vB0+aBt计算对象B随时间变化的速度vBt,其中,对象B的加速度aB=FfB+FzB/MB
基于上述计算出的对象A和对象B随着时间变化的速度(也可以是位移),可以构建更贴近真实世界的碰撞后的运动动画。
通过上述描述可以理解,在计算对象A和对象B发生碰撞后的运动参数的过程中,可以根据具体场景选择合适的运动模型。
作为本申请另一实施例,在真实世界中,当一些物体下方存在弹簧的情况下(或者物体所在的支撑物存在弹力的情况下),当用户对该物体施加向下的按压力,则该物体会存在回弹的现象。本申请实施例以该应用场景进行举例,描述如何基于对象的外观参数模拟出接近真实世界中的按压回弹动画。
参照图6(a)至图6(d)所示,在用户界面中用户对对象进行按压操作时,假定该对象下方的用户界面存在弹力的情况下,可能出现该对象的回弹现象。因此,以用户界面中的联系人名片模拟按压回弹动画。在生成回弹动画之前,首先需要计算回弹动画所需要的物理参数。
2.1,根据对象的外观参数计算对象的质量。
该步骤可参照如前描述的赋予对象质量的过程。其中,对象可以是图6(a)至图6(d)中lily的名片。
2.2,根据反弹度以及对象的质量,计算得到作用在对象上的回弹力。
在实际应用中,可以认为在对象的底端设有弹簧,用户通过在电子设备的触控屏上按压施加给对象一个按压力。在电子设备的触控屏中设有压力传感器的情况下,可以将压力传感器采集的用户对屏幕的按压力设置为作用于对象上的按压力。当然,在电子设备的触控屏未设置压力传感器的情况下,通过在***中预先设定好当触控屏监测到用户的触点的情况下,可以根据触点的按压时间(接触时间)或触点的接触面积,获得施加在对象上的按压力。用户的手势的触点与触控屏的按压时间越长或接触面积越大,相应的按压力越大,对象向下压的程度越大(也可以理解为弹簧的压缩距离越大)。
当然,也可以在***中设置施加在对象上的按压力是固定的值。在具体实现时,可以基于电子设备的处理器的处理能力选择适合的获得对象受到的按压力的模型。
假设作用在对象上的按压力为FY,对象的重力为Gg,根据作用力和反作用力相等的原理,可以得到作用在对象上的回弹力FT=FY+Gg
作为本申请另一实施例,还可以设置与按压方向相反的反弹度KT。由于反弹度需要克服对象的重力促使该对象回弹,因此,可以通过该反弹度以及对象的质量得到作用在该对象上的回弹力。
即FT=KT/M。
在实际应用中,可以将反弹度设置为定值,从而计算获得对象受到的回弹力;也可以基于用户的按压力、按压时间或接触面积获得相应的反弹度,从而基于反弹度和对象的质量计算获得作用在对象上的回弹力FT
作为本申请另一实施例,由于对象可能为非完全刚性物体,可以参照上述示例计算对象的刚度。
在具体实现时,在计算回弹力时,通过乘以该对象的刚度,以获得施加在该对象上的回弹力。
例如,FT=G×KT/M。
为了便于描述,可以将未考虑对象的刚度生成的回弹力记为第一回弹力,将考虑对象的刚度生成的回弹力记为第二回弹力。
2.3,根据回弹力计算获得对象按压位移。
在实际应用中,可以设置对象下方的弹簧的弹簧系数是定值。则可以得出,弹簧的压缩长度(对象的按压位移)为:
x=FT/k。
当然,由于对象的重力作用,对象和对象下方的弹簧处于平衡状态时,弹簧处于压缩的状态,因此,可以通过xp=G/k计算对象和弹簧处于平衡状态下弹簧的压缩长度(或对象的平衡位移),通过x-xp获得按压时弹簧压缩了多少长度。
参照图6(a)所示,当用户向下压一个名片的时候,名片可以向下运动一定距离。由于用户的视角,距离越远的物体,看起来越小。因此,从用户的视角,该对象看起来好像变小了,其中,图6(a)中虚线表示的位置是未施加按压力时名片的位置。
通过步骤2.1至步骤2.3可以理解,当作用于对象上的按压力不是定值的情况下,随着用户的按压力度增大、手势中触点的接触时间变长、或手势中触点的接触面积增加,名片可能越来越小。
2.4,在弹簧的弹簧系数、弹簧的压缩长度、弹簧上方的对象的质量已知的情况下,可以计算当用户的手势抬离电子设备的触控屏后对象的运动参数,从而生成对象的运动动画。
在用户的手势抬离电子设备的触控屏后,在对象弹起到平衡状态对应的位置之前,对象受到的作用力为向下的重力以及向上的回弹力。其中,对象的重力不变,对象受到的向上的回弹力与弹簧的压缩长度相关。
在实际应用中,根据弹簧的弹性势能和动能的转化的原理,对象可能在回弹力和重力的作用下,向上弹起到平衡状态对应的位置(图6(b)所示),由于重力的作用该位置时弹簧处于压缩状态;然后继续向上弹起超出平衡位置(图6(c)),超出平衡状态对应的位置后,名片变大;最后再回落到平衡状态对应的位置(图6(d)),该位置时名片与平衡状态对应的位置的名片一样大。当然,实际应用中,还存在空气阻力,才能使得对象和弹簧回到平衡状态并稳定。因为,在考虑弹簧的弹性势能和动能的转化的原理的同时,还考虑空气阻力做功的影响。
即通过
Figure BDA0002936884420000251
可以得出对象在每个位置上的速度。
当然,实际应用中,在对象的质量较轻或按压力度较大的时候,可能中间会回弹几次后,才会回到平衡状态对应的位置;在对象的质量较重或按压力度较小的时候,可能从按压位置直接回弹到平衡状态对应的位置。
需要说明,在实际应用中,在计算对象的运动参数的过程中,可以对现有的一些物理定理进行修订以降低计算量,本申请实施例对此不做限制。
作为本申请另一实施例,在真实世界中,当对一个物体施加按压力的情况下,还可能出现该物体的倾斜、变形等情况。本申请实施例将描述对界面中的对象施加按压力时,生成对象的运动动画的方法。
3.1,计算对象的质量和重心;
该步骤可参照如前所述的为对象赋予质量和重心的方法。
3.2,获得按压力。
本申请实施例中,可以预先设置了按压力和按压面积(用户的手势与触控屏的接触面积)之间的对应关系,作为举例,可以设置用户的手势与触控屏之间的接触面积和按压力之间的正向函数关系,当然,实际应用中,还可以将按压面积设置为多个区间,不同区间对应不同的按压力。
当然,实际应用中,也可以在设置了压力传感器的触控屏上,通过设置的压力传感器获得按压力。
3.3,根据按压力的大小,计算对象的倾斜位移。
该步骤中,遵循对象被按压后,重心不变的原则(即对象发生倾斜时的倾斜轴与对象的重心重合)。参照图7(a)至图7(c)所示,图7(a)中,对象上方的圆点表示对象的重心所在的位置。当用户在图7(b)所示的位置施加向下的按压力的情况下,该对象以重心所在的轴为倾斜轴(按压力的位置和重心位置的直线与倾斜轴呈垂直关系),形成图7(b)所示的倾斜,其中,虚线表示的为该对象未施加按压力前的位置。当用户在图7(c)所示的位置施加向下的按压力的情况下,该对象以重心所在的轴为倾斜轴(按压力的位置和重心位置的直线与倾斜轴呈垂直关系),形成图7(c)所示的倾斜。其中,虚线表示的为该对象未施加按压力前的位置。
在实际应用中,电子设备的显示界面不仅要呈现倾斜效果,还需要呈现倾斜的动画过程。因此,需要根据按压力的位置以及按压力的大小,计算对象的倾斜过程。
图7(a)至图7(c)所示,类似于真实世界中两个人在玩跷跷板的场景,由于支点为重心,因此相当于跷跷板两侧的人的重量一致,在对其中一侧施加一个向下的力后,要想该侧的人再次翘起来就需要该侧的人通过腿踏地给一个向上的弹力。因此,可以在图7(a)所示场景中,对象位于重心两侧的下方分别设置一个弹簧,该弹簧用于给对象向上的弹力。具体可参照图8(a)和图8(b)所示。
参照图8(a)所示,对象的两侧下方分别设有一个弹簧,以左侧为例,该侧受到向上的弹力,该弹力可以用kx表示,其中,k表示弹簧系数,x表示弹簧的伸缩距离,同时该侧还受到向下的重力,可以用
Figure BDA0002936884420000252
表示,基于定理F=ma可以得出
Figure BDA0002936884420000253
参照图8(b)所示,可以设定弹簧的弹簧系数由施加的作用力的位置与重心之间的距离和力矩确定,例如可以采用k=aL表示。a为力矩系数,L表示施加的作用力的位置与重心之间的距离。
通过上述两个公式可以获得对象随时间变化的倾斜位移。
当然,实际应用中,还可以是其他形式的倾斜效果,参照图9(a)所示,最上层显示的为未施加按压力的情况下对象的状态;中间层显示的为当在对象的其中一个角施加按压力时,以该角相对的另一个角作为支点,产生倾斜效果(虚线表示该对象的原始状态);最下层显示的为当在对象的其中一个边施加按压力时,以该边相对的另一边作为倾斜轴,产生倾斜效果(虚线表示该对象的原始状态)。当然,还可以产生其他的倾斜效果,本申请实施例对此不做限定。由图9(a)可以理解,倾斜轴与第一连线(作用在所述对象上的按压力的受力点和所述对象的重心之间的连线)垂直,但是倾斜轴与重心不重合。
3.4,计算对象的刚性,根据刚性和按压力,计算按压导致的对象形状变化的程度。
在实际应用中,可以预先设定对象的刚性越大,形变越小,按压力越大,形变越大。即形变度与对象的刚性呈反向关系,与按压力呈正向关系。
作为举例,Bx=X×FY/G;
其中,Bx表示对象的形变度,X表示预先设置的常数,该常数可以调节对象的形变度,FY表示按压力,G表示对象的刚度。
形变度表示形变的程度。在形变的程度确定后,还可以根据对象的面积确定形变面积。例如,可以根据对象的面积乘以形变度得到该对象产生的形变面积。最后根据形变面积生成对象的形变区域。可以预先设置形变区域的中心为作用在所述对象上的按压力的受力点。
另外,由于形变区域与按压力的受力点为中心,计算得到的形变区域可能超出了对象本身的区域,这种情况下,在对象的区域内生成形变动画,在对象以外的区域,生成形变动画。
参照图9(b)所示,最上层显示的为未施加按压力的情况下对象的状态;中间层显示的为当在对象的其中一个角施加按压力时,该角产生形变效果(虚线表示该对象的原始状态);最下层显示的为当在对象的其中一个边施加按压力时,该边产生形变效果(虚线表示该对象的原始状态)。
通过图9(b)所示,当用户按压该对象的一个角时,产生的形变区域可能是以该角为中心的形变区域,由于计算获得的形变区域只有1/4在对象所在的区域内,其中3/4的形变区域在对象所在的区域以外,因此,生成的对象的形变动画为所在的区域内的1/4形变区域。当然,还可以产生其他的形变效果,本申请实施例对此不做限定。
当然,除了需要生成形变区域,还可以生成形变深度(按压下去的深度),该形变深度与形变度相关,形变度越大,形变深度越大。形变深度与形变度呈正向关系,例如,可参照hF=khBx,其中,hF为形变深度,kh为预设的深度系数,用于调节形变深度。
3.5,根据对象的质量,计算按压导致的对象的位置和弹性变化。
步骤3.5可参照上一实施例中描述的按压回弹的运动动画生成的过程,也可以对上一实施例描述的按压回弹过程采用的运动模型进行简化,在此不再赘述。
参照图9(c)所示,3个图中上层显示的为未施加按压力的情况下对象的状态,下层分别显示的按压力不同的效果,图9(c)中的3个图,从左至右表示按压力从小到大的按压效果,图9(c)中的第一个图中作用在对象上的按压力最小,对象的按压位移也最小,图9(c)中的第三个图中作用在对象上的按压力最大,对象的按压位移也最大。
通过图9(a)至图9(c)可以理解,步骤3.3将按压导致的对象的倾斜考虑在对象的按压动画中,步骤3.4将按压导致的对象的形变考虑在对象的按压动画中,步骤3.5将按压导致对象的位移和按压回弹考虑在对象的按压动画中。当然,实际应用中,还可以设置在对象的按压动画中,考虑倾斜、形变、位移回弹中的一种、两种或三种,本申请实施例对此不做限定。
在本申请实施例中,生成对象的按压动画中,还可以生成立体的按压动画效果,或平面的按压动画效果。
参照图10所示,图10中的第一个图为对象的俯视图,第二个图为对象为立体的按压效果图,第3个图为对象为平面的按压效果图。图10中的虚线表示对象按压前的平面位置图。
参照图11所示,图11中的第一个图为对象的俯视图,第二个图为对象为立体的按压效果图,第3个图为对象为平面的按压效果图。图11中的虚线表示对象按压前的平面位置图。
实际应用中,图11中的第二个图和第三个图中用户的手指对应的位置也可以存在按压形变的效果,例如,以手指对应的位置为中心的凹陷形变。图11中未示出以手指对应的位置为中心的凹陷形变。图11中的凹陷形变可以参照图9(b)中第三个图所示的按压形变效果图,图9(b)中第三个图所述的按压形变效果,可以理解为图11中以按压力的受力点所在的直线作为剖面线,剖开图11中的第三个图后的凹陷形变的剖面效果图。
作为本申请另一实施例,在真实世界中多个物体之间链式排布时,对其中一个物体施加的外力会造成链式排布的多个物体进行链式运动。而在用户界面中存在多个对象,且多个对象之间链式排布时,如果对其中一个对象施加外力,链式排布的多个对象也可以按照真实世界中一样生成链式运行的动画。
作为举例,参照图12所示,为链式排布的多个对象的立体图(图12中右侧的图)和对应的俯视图(图12中左侧的图)以及左视图(图12中下方的图)。若设定多个对象之间存在弹性连接,在具体实现过程中,可以按照如下方式生成链式运动的运动动画。
(1)计算出链式排布的每个对象的质量。
该步骤参照上述赋予对象的质量的描述,在此不再赘述。
(2)基于施加的外力,使得当前对象产生运动。
作为举例,参照图13所示,当对对象A施加向上的拉力时,当前对象会产生向上的运动。
(3)将当前元素的运动效果传递给相邻的其他对象。
作为举例,当对象A产生向上的运动的情况下,与对象A相邻的对象B1和对象B2也会产生向上的运动效果。
(4)每个对象受到传递的外力后,使得当前元素产生运动,并继续影响相邻的元素。
同样的,对象B1产生相应的运动后,与对象B1相邻的C1也会生成相应的运动;对象B2产生相应的运动后,与对象B2相邻的C2也会生成相应的运动,相应的,对象D1和D2也会产生相应的运动。其中,对象B1的施力对象为对象A,对象C1的施力对象为对象B1,对象D1的施力对象为对象C1。对象B2的施力对象为对象A,对象C2的施力对象为对象B2,对象D2的施力对象为对象C2。
当然,实际应用中,传递的效果会因为对象的质量不同而不同,作为举例,若传递的链式力(通过链式排布的对象中的施力对象传递来的力)为F,且不考虑质量的影响,则接收链式力的对象受到的链式力就是F,如果考虑质量的影响,则受到的链式力Fch=F/M。
将质量因素考虑到链式运动中,这是由于一般物体的质量越大,则在拖动的过程中,物体受到的拖动影响越小,物体的质量越小,则在拖动过程中,物体受到的拖动的影响越大。
需要说明,由于在生成对象的运动动画时,对象并不是真实世界存在的物体,在计算对象的运动参数时,为了降低计算量不可避免会对一些运动模型进行修订,从而得到不同的运动模型,导致生成的运动动画存在一些差异。或者由于真实世界中的物体的运动比较复杂,将比较复杂的运动过程拆分为多个运动阶段,在不同运动阶段采用不同的运动模型,从而降低计算量。本申请实施例并不限定在得到对象的物理参数后,采用何种运动模型得到对象的运动参数从而生成对象的运动动画。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应每一个功能划分每一个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以采用对应每一个功能划分每一个功能模块为例进行说明:
参照图14,该电子设备1400包括:
对象显示模块1401,用于在用户界面显示第一对象和第二对象,第一对象和第二对象的类型相同、外观不同;
动画生成模块1402,用于响应于作用在第一对象上的第一操作,生成第一对象的第一运动动画;
动画生成模块1402,还用于响应于作用在第二对象上的第二操作,生成第二对象的第二运动动画,第一操作和第二操作相同,第一运动动画和第二运动动画不同。
作为本申请另一实施例,动画生成模块1402还用于:
检测到作用在第一对象上的第一操作;
获取第一对象的外观参数,并根据第一对象的外观参数为第一对象赋予物理参数;
获取第一对象的初始参数;
基于第一对象的物理参数和第一对象的初始参数,生成第一对象的运动动画。
作为本申请另一实施例,第一对象的外观参数包括:第一对象中像素点的颜色,第一对象的物理参数包括:第一对象的质量;
动画生成模块1402还用于:
根据第一对象的外观参数为第一对象赋予物理参数包括:
根据第一对象中像素点的颜色,生成第一对象的质量。
作为本申请另一实施例,动画生成模块1402还用于:
根据第一对象中像素点的颜色和第一对象所在用户界面的主题颜色之间的第一差异,生成第一对象的第一质量值,并将第一对象的第一质量值作为第一对象的质量。
作为本申请另一实施例,动画生成模块1402还用于:
根据第一对象中像素点的颜色和第一对象所在用户界面的主题颜色之间的第一差异,生成第一对象中像素点的像素质量;
根据第一对象中像素点的像素质量,生成第一对象的第一质量值。
作为本申请另一实施例,第一对象的外观参数包括:第一对象的透明度;动画生成模块1402还用于:
在将第一对象的第一质量值作为第一对象的质量之前,根据第一对象的透明度和第一对象的第一质量值生成第一对象的第二质量值,并将第一对象的第二质量值作为第一对象的质量。
作为本申请另一实施例,第一对象的外观参数包括:第一对象中像素点的颜色和第一对象中像素点的坐标;第一对象的物理参数包括:第一对象的重心坐标;
动画生成模块1402还用于:
根据第一对象中像素点的颜色和第一对象所在用户界面的主题颜色之间的第一差异,生成第一对象中像素点的像素质量;
根据第一对象中像素点的坐标和第一对象中像素点的像素质量,计算第一对象的重心坐标。
作为本申请另一实施例,第一对象的外观参数还包括:第一对象的外边框颜色,第一对象的面积或体积;第一对象的物理参数包括:第一对象的刚度;
动画生成模块1402还用于:
计算第一对象的外边框的颜色和第一对象所在用户界面的主题颜色之间的第二差异;
根据第一对象的质量,以及第一对象的面积或体积,生成第一对象的单位质量;
根据第二差异和第一对象的单位质量,生成第一对象的第一刚度,并将第一对象的第一刚度作为第一对象的刚度。
作为本申请另一实施例,第一对象的外观参数还包括:第一对象的透明度;
动画生成模块1402还用于:
在将第一对象的第一刚度作为第一对象的刚度之前,根据第一对象的第一刚度和第一对象的透明度,生成第一对象的第二刚度,并将第一对象的第二刚度作为第一对象的刚度。
作为本申请另一实施例,第一对象的外观参数还包括:第一对象的模糊度;
动画生成模块1402还用于:
在将第一对象的第一刚度作为第一对象的刚度之前,根据第一对象的第一刚度和第一对象的模糊度,生成第一对象的第三刚度,并将第一对象的第三刚度作为第一对象的刚度。
作为本申请另一实施例,动画生成模块1402还用于:
根据第一对象的底色和第一对象所在背景的颜色,生成第一对象和第一对象所在背景之间的相对摩擦系数;
根据第一对象的质量和相对摩擦系数,计算作用在第一对象上的第一摩擦力,并将第一摩擦力作为第一对象运动过程中作用在第一对象上的摩擦力。
作为本申请另一实施例,动画生成模块1402还用于:
根据第一对象的底色生成第一对象的对象摩擦力;
根据第一对象所在背景的颜色生成第一对象所在背景的背景摩擦力;
根据对象摩擦力和背景摩擦力生成第一对象和第一对象所在背景之间的相对摩擦系数。
作为本申请另一实施例,第一对象的外观参数还包括:第一对象的模糊度;
动画生成模块1402还用于:
在将第一摩擦力作为第一对象运动过程中作用在第一对象上的摩擦力之前,根据第一摩擦力和第一对象的模糊度,生成作用在第一对象上的第二摩擦力,并将第二摩擦力作为第一对象运动过程中作用在第一对象上的摩擦力。
作为本申请另一实施例,动画生成模块1402还用于:
获取第一对象的速度,根据第一对象的速度生成第一对象运动过程中作用在第一对象上的空气阻力。
作为本申请另一实施例,动画生成模块1402还用于:
基于第一对象的物理参数和第一对象的初始参数,生成第一对象的运动参数;
根据第一对象的运动参数,生成第一对象的运动动画。作为本申请另一实施例,第一操作作用在第一对象上后,第一对象和第三对象发生碰撞;
第一对象的物理参数包括第一对象的质量,第一对象的初始参数包括第一对象的第一入速度;
动画生成模块1402还用于:
获取第三对象的物理参数和第三对象的初始参数,第三对象的物理参数包括第三对象的质量,第三对象的初始参数包括第三对象的第二入速度;
基于动量守恒定律和能量守恒定律,由第一对象的质量、第三对象的质量、第一入速度和第二入速度,计算第一对象的第一出速度和第三对象的第二出速度;
根据第一对象的第一出速度和碰撞后作用在第一对象上的摩擦力,计算碰撞后第一对象随时间变化的速度和/或位移;
根据第三对象的第二出速度和碰撞后作用在第三对象上的摩擦力,计算碰撞后第三对象随时间变化的速度和/或位移。
作为本申请另一实施例,第一操作作用在第一对象上后,第一对象碰撞静止的第三对象;
第一对象的物理参数包括第一对象的质量和第一对象的刚度,第一对象的初始参数包括第一对象的第三入速度;
动画生成模块1402还用于:
获取第三对象的物理参数,第三对象的物理参数包括第三对象的质量和第三对象的刚度;
根据第一对象的第三入速度、第一对象的刚度和第三对象的刚度,计算第一对象的第三出速度和第三对象的第四出速度之和;
根据第一对象的第三出速度和第三对象的第四出速度之和,以及第一对象的质量和第三对象的质量之比,计算第一对象的第三出速度和第三对象的第四出速度;
根据第一对象的第三出速度和碰撞后作用在第一对象上的摩擦力,计算碰撞后第一对象随时间变化的速度和/或位移;
根据第三对象的第四出速度和碰撞后作用在第三对象上的摩擦力,计算碰撞后第三对象随时间变化的速度和/或位移。
作为本申请另一实施例,第一操作为作用在第一对象上的按压操作,第一对象产生按压回弹;
第一对象的物理参数包括:第一对象的质量;第一对象的初始参数包括:作用在第一对象上的反弹度和作用在第一对象上的弹性部件的弹性系数;
动画生成模块1402还用于:根据反弹度和第一对象的质量,生成作用在第一对象上的第一回弹力;
根据第一回弹力和弹性系数,计算第一对象的按压位移;
根据第一对象的按压位移和弹性系数,计算第一对象所在场景中的弹性势能;
基于弹性势能等于第一对象的动能和作用在第一对象上的空气阻力做功的模型,获得第一对象的运动参数。
作为本申请另一实施例,第一对象的物理参数还包括:第一对象的刚度;
动画生成模块1402还用于:
根据第一回弹力和第一对象的刚度,生成作用在第一对象上的第二回弹力;
根据第二回弹力和弹性系数,生成第一对象的按压位移。
作为本申请另一实施例,第一操作为所用在第一对象上的按压操作,第一对象产生按压倾斜;
第一对象的物理参数包括:第一对象的重心;第一对象的初始参数包括:作用在第一对象上的按压力的受力点;
第一对象产生按压倾斜运动时,第一对象的倾斜轴与第一连线垂直,第一连线为作用在第一对象上的按压力的受力点和第一对象的重心之间的连线。
作为本申请另一实施例,第一对象的倾斜轴与第一对象的重心重合。
作为本申请另一实施例,第一操作为作用在第一对象上的按压操作,第一对象产生按压形变;
第一对象的物理参数包括:第一对象的刚度;第一对象的初始参数包括作用在第一对象上的按压力和按压力的受力点;第一对象的运动参数包括第一对象的形变区域;
动画生成模块1402还用于:
根据作用在第一对象上的按压力和第一对象的刚度,计算第一对象的形变度;
根据第一对象的形变度和第一对象的面积,计算第一对象的形变面积;
根据第一对象的形变面积生成第一对象的形变区域,其中,形变区域的中心为作用在第一对象上的按压力的受力点。
作为本申请另一实施例,第一操作作用在第一对象上时,第一对象和与第一对象链式排布的第四对象之间产生链式运动,其中,第四对象受到的链式力为第四对象的施力对象受到的链式力除以第四对象的质量。
需要说明的是,上述电子设备/模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述电子设备中模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时使电子设备可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在第一设备上运行时,使得第一设备可实现上述各个方法实施例中的步骤。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到第一设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请实施例还提供了一种芯片***,芯片***包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以使电子设备实现本申请任一方法实施例的步骤。芯片***可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (25)

1.一种界面中对象的动画生成方法,其特征在于,包括:
用户界面显示第一对象和第二对象,所述第一对象和所述第二对象的类型相同、外观不同;
响应于作用在所述第一对象上的第一操作,生成所述第一对象的第一运动动画;
响应于作用在所述第二对象上的第二操作,生成所述第二对象的第二运动动画,所述第一操作和所述第二操作相同,所述第一运动动画和所述第二运动动画不同。
2.如权利要求1所述的方法,其特征在于,所述响应于作用在所述第一对象上的第一操作,生成所述第一对象的第一运动动画,包括:
检测到作用在所述第一对象上的第一操作;
获取所述第一对象的外观参数,并根据所述第一对象的外观参数为所述第一对象赋予物理参数;
获取所述第一对象的初始参数;
基于所述第一对象的物理参数和所述第一对象的初始参数,生成所述第一对象的运动动画。
3.如权利要求2所述的方法,其特征在于,所述第一对象的外观参数包括:所述第一对象中像素点的颜色,所述第一对象的物理参数包括:所述第一对象的质量;
所述根据所述第一对象的外观参数为所述第一对象赋予物理参数包括:
根据所述第一对象中像素点的颜色,生成所述第一对象的质量。
4.如权利要求3所述的方法,其特征在于,所述根据所述第一对象中像素点的颜色,生成所述第一对象的质量,包括:
根据所述第一对象中像素点的颜色和所述第一对象所在用户界面的主题颜色之间的第一差异,生成所述第一对象的第一质量值,并将所述第一对象的第一质量值作为所述第一对象的质量。
5.如权利要求4所述的方法,其特征在于,所述根据所述第一对象中像素点的颜色和所述第一对象所在用户界面的主题颜色之间的第一差异,生成所述第一对象的第一质量值,包括:
根据所述第一对象中像素点的颜色和所述第一对象所在用户界面的主题颜色之间的第一差异,生成所述第一对象中像素点的像素质量;
根据所述第一对象中像素点的像素质量,生成所述第一对象的第一质量值。
6.如权利要求4或5所述的方法,其特征在于,所述第一对象的外观参数包括:所述第一对象的透明度;在将所述第一对象的第一质量值作为所述第一对象的质量之前,还包括:
根据所述第一对象的透明度和所述第一对象的第一质量值生成所述第一对象的第二质量值,并将所述第一对象的第二质量值作为所述第一对象的质量。
7.如权利要求2至6任一项所述的方法,其特征在于,所述第一对象的外观参数包括:所述第一对象中像素点的颜色和所述第一对象中像素点的坐标;所述第一对象的物理参数包括:所述第一对象的重心坐标;
所述根据所述第一对象的外观参数为所述第一对象赋予物理参数包括:
根据所述第一对象中像素点的颜色和所述第一对象所在用户界面的主题颜色之间的第一差异,生成所述第一对象中像素点的像素质量;
根据所述第一对象中像素点的坐标和所述第一对象中像素点的像素质量,计算所述第一对象的重心坐标。
8.如权利要求3至7任一项所述的方法,其特征在于,所述第一对象的外观参数还包括:所述第一对象的外边框颜色,所述第一对象的面积或体积;所述第一对象的物理参数包括:所述第一对象的刚度;
所述根据所述第一对象的外观参数为所述第一对象赋予物理参数包括:
计算所述第一对象的外边框的颜色和所述第一对象所在用户界面的主题颜色之间的第二差异;
根据所述第一对象的质量,以及所述第一对象的面积或体积,生成所述第一对象的单位质量;
根据所述第二差异和所述第一对象的单位质量,生成所述第一对象的第一刚度,并将所述第一对象的第一刚度作为所述第一对象的刚度。
9.如权利要求8所述的方法,其特征在于,所述第一对象的外观参数还包括:所述第一对象的透明度;在将所述第一对象的第一刚度作为所述第一对象的刚度之前,还包括:
根据所述第一对象的第一刚度和所述第一对象的透明度,生成所述第一对象的第二刚度,并将所述第一对象的第二刚度作为所述第一对象的刚度。
10.如权利要求8所述的方法,其特征在于,所述第一对象的外观参数还包括:所述第一对象的模糊度;在将所述第一对象的第一刚度作为所述第一对象的刚度之前,还包括:
根据所述第一对象的第一刚度和所述第一对象的模糊度,生成所述第一对象的第三刚度,并将所述第一对象的第三刚度作为所述第一对象的刚度。
11.如权利要求3至10任一项所述的方法,其特征在于,所述方法还包括:
根据所述第一对象的底色和所述第一对象所在背景的颜色,生成所述第一对象和所述第一对象所在背景之间的相对摩擦系数;
根据所述第一对象的质量和所述相对摩擦系数,计算作用在所述第一对象上的第一摩擦力,并将所述第一摩擦力作为所述第一对象运动过程中作用在所述第一对象上的摩擦力。
12.如权利要求11所述的方法,其特征在于,所述根据所述第一对象的底色和所述第一对象所在背景的颜色,生成所述第一对象和所述第一对象所在背景之间的相对摩擦系数,包括:
根据所述第一对象的底色生成所述第一对象的对象摩擦力;
根据所述第一对象所在背景的颜色生成所述第一对象所在背景的背景摩擦力;
根据所述对象摩擦力和所述背景摩擦力生成所述第一对象和所述第一对象所在背景之间的相对摩擦系数。
13.如权利要求11或12所述的方法,其特征在于,所述第一对象的外观参数还包括:所述第一对象的模糊度;在将所述第一摩擦力作为所述第一对象运动过程中作用在所述第一对象上的摩擦力之前,还包括:
根据所述第一摩擦力和所述第一对象的模糊度,生成作用在所述第一对象上的第二摩擦力,并将所述第二摩擦力作为所述第一对象运动过程中作用在所述第一对象上的摩擦力。
14.如权利要求2至13任一项所述的方法,其特征在于,所述方法还包括:
获取所述第一对象的速度,根据所述第一对象的速度生成所述第一对象运动过程中作用在所述第一对象上的空气阻力。
15.如权利要求2至14任一项所述的方法,其特征在于,所述基于所述第一对象的物理参数和所述第一对象的初始参数,生成所述第一对象的运动动画,包括:
基于所述第一对象的物理参数和所述第一对象的初始参数,生成所述第一对象的运动参数;
根据所述第一对象的运动参数,生成所述第一对象的运动动画。
16.如权利要求15所述的方法,其特征在于,所述第一操作作用在所述第一对象上后,所述第一对象和第三对象发生碰撞;
所述第一对象的物理参数包括所述第一对象的质量,所述第一对象的初始参数包括所述第一对象的第一入速度;
所述基于所述第一对象的物理参数和所述第一对象的初始参数,生成所述第一对象的运动参数,包括:
获取所述第三对象的物理参数和所述第三对象的初始参数,所述第三对象的物理参数包括所述第三对象的质量,所述第三对象的初始参数包括所述第三对象的第二入速度;
基于动量守恒定律和能量守恒定律,由所述第一对象的质量、所述第三对象的质量、所述第一入速度和所述第二入速度,计算所述第一对象的第一出速度和所述第三对象的第二出速度;
根据所述第一对象的第一出速度和碰撞后作用在所述第一对象上的摩擦力,计算碰撞后所述第一对象随时间变化的速度和/或位移;
根据所述第三对象的第二出速度和碰撞后作用在所述第三对象上的摩擦力,计算碰撞后所述第三对象随时间变化的速度和/或位移。
17.如权利要求15所述的方法,其特征在于,所述第一操作作用在所述第一对象上后,所述第一对象碰撞静止的第三对象;
所述第一对象的物理参数包括所述第一对象的质量和所述第一对象的刚度,所述第一对象的初始参数包括所述第一对象的第三入速度;
所述基于所述第一对象的物理参数和所述第一对象的初始参数,生成所述第一对象的运动参数,包括:
获取所述第三对象的物理参数,所述第三对象的物理参数包括所述第三对象的质量和所述第三对象的刚度;
根据所述第一对象的第三入速度、第一对象的刚度和所述第三对象的刚度,计算所述第一对象的第三出速度和所述第三对象的第四出速度之和;
根据所述第一对象的第三出速度和所述第三对象的第四出速度之和,以及所述第一对象的质量和所述第三对象的质量之比,计算所述第一对象的第三出速度和所述第三对象的第四出速度;
根据所述第一对象的第三出速度和碰撞后作用在所述第一对象上的摩擦力,计算碰撞后所述第一对象随时间变化的速度和/或位移;
根据所述第三对象的第四出速度和碰撞后作用在所述第三对象上的摩擦力,计算碰撞后所述第三对象随时间变化的速度和/或位移。
18.如权利要求15所述的方法,其特征在于,所述第一操作为作用在所述第一对象上的按压操作,所述第一对象产生按压回弹;
所述第一对象的物理参数包括:所述第一对象的质量;所述第一对象的初始参数包括:作用在所述第一对象上的反弹度和作用在所述第一对象上的弹性部件的弹性系数;
所述基于所述第一对象的物理参数和所述第一对象的初始参数,生成所述第一对象的运动参数,包括:
根据所述反弹度和所述第一对象的质量,生成作用在所述第一对象上的第一回弹力;
根据所述第一回弹力和所述弹性系数,计算所述第一对象的按压位移;
根据所述第一对象的按压位移和所述弹性系数,计算所述第一对象所在场景中的弹性势能;
基于所述弹性势能等于所述第一对象的动能和作用在所述第一对象上的空气阻力做功的模型,获得所述第一对象的运动参数。
19.如权利要求18所述的方法,其特征在于,所述第一对象的物理参数还包括:所述第一对象的刚度;
所述根据所述第一回弹力和所述弹性系数,计算所述第一对象的按压位移包括:
根据所述第一回弹力和所述第一对象的刚度,生成作用在所述第一对象上的第二回弹力;
根据所述第二回弹力和所述弹性系数,生成所述第一对象的按压位移。
20.如权利要求15所述的方法,其特征在于,所述第一操作为所用在所述第一对象上的按压操作,所述第一对象产生按压倾斜;
所述第一对象的物理参数包括:所述第一对象的重心;所述第一对象的初始参数包括:作用在第一对象上的按压力的受力点;
所述第一对象产生按压倾斜运动时,所述第一对象的倾斜轴与第一连线垂直,所述第一连线为作用在所述第一对象上的按压力的受力点和所述第一对象的重心之间的连线。
21.如权利要求20所述的方法,其特征在于,所述第一对象的倾斜轴与所述第一对象的重心重合。
22.如权利要求15所述的方法,其特征在于,所述第一操作为作用在所述第一对象上的按压操作,所述第一对象产生按压形变;
所述第一对象的物理参数包括:所述第一对象的刚度;所述第一对象的初始参数包括作用在所述第一对象上的按压力和所述按压力的受力点;所述第一对象的运动参数包括所述第一对象的形变区域;
所述基于所述第一对象的物理参数和所述第一对象的初始参数,生成所述第一对象的运动参数,包括:
根据所述作用在所述第一对象上的按压力和所述第一对象的刚度,计算所述第一对象的形变度;
根据所述第一对象的形变度和所述第一对象的面积,计算所述第一对象的形变面积;
根据所述第一对象的形变面积生成所述第一对象的形变区域,其中,所述形变区域的中心为作用在所述第一对象上的按压力的受力点。
23.如权利要求15所述的方法,其特征在于,所述第一操作作用在第一对象上时,所述第一对象和与所述第一对象链式排布的第四对象之间产生链式运动,其中,所述第四对象受到的链式力为所述第四对象的施力对象受到的链式力除以所述第四对象的质量。
24.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于运行存储器中存储的计算机程序,以使所述电子设备实现如权利要求1至23任一项所述的方法。
25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储计算机程序,所述计算机程序在处理器上运行时使电子设备实现如权利要求1至23任一项所述的方法。
CN202110169797.8A 2021-02-05 2021-02-05 一种界面中对象的动画生成方法、电子设备及存储介质 Pending CN114880053A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110169797.8A CN114880053A (zh) 2021-02-05 2021-02-05 一种界面中对象的动画生成方法、电子设备及存储介质
PCT/CN2021/140952 WO2022166456A1 (zh) 2021-02-05 2021-12-23 一种界面中对象的动画生成方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110169797.8A CN114880053A (zh) 2021-02-05 2021-02-05 一种界面中对象的动画生成方法、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114880053A true CN114880053A (zh) 2022-08-09

Family

ID=82666949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110169797.8A Pending CN114880053A (zh) 2021-02-05 2021-02-05 一种界面中对象的动画生成方法、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN114880053A (zh)
WO (1) WO2022166456A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118151762A (zh) * 2024-05-10 2024-06-07 杭州逸琨科技有限公司 交互式页面制作方法、***、编辑器、介质和程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692329A (zh) * 2002-11-12 2005-11-02 索尼计算机娱乐公司 利用权重概念处理文件以可视化表示文件的方法与装置
CN103412708A (zh) * 2013-07-31 2013-11-27 华为技术有限公司 终端设备上的任务管理方法和终端设备
US20140123081A1 (en) * 2011-10-31 2014-05-01 Samsung Electronics Co., Ltd. Display apparatus and method thereof
CN103853423A (zh) * 2012-11-28 2014-06-11 三星电子株式会社 基于物理引擎提供用户界面的方法及相关电子设备
CN108351750A (zh) * 2016-06-12 2018-07-31 苹果公司 用于处理与触摸输入相关联的强度信息的设备、方法、以及图形用户界面

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354630B (zh) * 2008-09-12 2010-08-11 华为终端有限公司 一种终端设备的人机交互方法及其终端设备
KR101638056B1 (ko) * 2009-09-07 2016-07-11 삼성전자 주식회사 휴대 단말기의 ui 제공 방법
CN108920229A (zh) * 2018-06-11 2018-11-30 网易(杭州)网络有限公司 信息处理方法、装置及存储介质和终端
CN111714880B (zh) * 2020-04-30 2023-10-20 完美世界(北京)软件科技发展有限公司 画面的显示方法和装置、存储介质、电子装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692329A (zh) * 2002-11-12 2005-11-02 索尼计算机娱乐公司 利用权重概念处理文件以可视化表示文件的方法与装置
US20140123081A1 (en) * 2011-10-31 2014-05-01 Samsung Electronics Co., Ltd. Display apparatus and method thereof
CN103853423A (zh) * 2012-11-28 2014-06-11 三星电子株式会社 基于物理引擎提供用户界面的方法及相关电子设备
CN103412708A (zh) * 2013-07-31 2013-11-27 华为技术有限公司 终端设备上的任务管理方法和终端设备
CN108351750A (zh) * 2016-06-12 2018-07-31 苹果公司 用于处理与触摸输入相关联的强度信息的设备、方法、以及图形用户界面

Also Published As

Publication number Publication date
WO2022166456A1 (zh) 2022-08-11

Similar Documents

Publication Publication Date Title
CN109993823B (zh) 阴影渲染方法、装置、终端及存储介质
WO2020216025A1 (zh) 虚拟角色的面部显示方法、装置、计算机设备及可读存储介质
CN115964106B (zh) 图形界面显示方法、电子设备、介质以及程序产品
KR101859312B1 (ko) 이미지 처리 방법 및 장치, 및 컴퓨터 디바이스
CN110139033B (zh) 拍照控制方法及相关产品
CN107580209B (zh) 一种移动终端的拍照成像方法及装置
CN107707827A (zh) 一种高动态图像拍摄方法及移动终端
CN108898068A (zh) 一种人脸图像的处理方法和装置以及计算机可读存储介质
CN110139028A (zh) 一种图像处理的方法及头戴式显示设备
CN109753892B (zh) 人脸皱纹的生成方法、装置、计算机存储介质和终端
CN108269230A (zh) 证件照生成方法、移动终端及计算机可读存储介质
CN113436301B (zh) 拟人化3d模型生成的方法和装置
CN110263617B (zh) 三维人脸模型获取方法及装置
CN107103581B (zh) 一种图像倒影处理方法、装置及计算机可读介质
WO2020233403A1 (zh) 三维角色的个性化脸部显示方法、装置、设备及存储介质
CN109978996B (zh) 生成表情三维模型的方法、装置、终端及存储介质
CN113033341B (zh) 图像处理方法、装置、电子设备及存储介质
CN115398879A (zh) 用于以增强现实进行通信的电子装置及其方法
CN110807769B (zh) 图像显示控制方法及装置
WO2022166456A1 (zh) 一种界面中对象的动画生成方法、电子设备及存储介质
CN110555815B (zh) 一种图像处理方法和电子设备
CN110717964B (zh) 场景建模方法、终端及可读存储介质
CN110189348A (zh) 头像处理方法、装置、计算机设备及存储介质
CN107913519B (zh) 2d游戏的渲染方法及移动终端
CN110660032A (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