一种动画显示方法、装置及设备与流程

文档序号:28321451发布日期:2022-01-04 23:03阅读:65来源:国知局
一种动画显示方法、装置及设备与流程

1.本技术涉及计算机领域,尤其涉及一种动画显示方法、装置及设备。


背景技术:

2.增强现实(augmented reality)技术是一种将虚拟信息与真实世界巧妙融合的技术。在应用ar技术的过程中,可以对虚拟对象进行仿真,得到虚拟对象对应的动画,并将仿真得到的动画与真实世界中的画面叠加在一起进行显示。这样,出现在用户视野中的图像既包括真实世界的画面,也包括虚拟对象对应的动画,使得用户可以同时看到虚拟对象和真实世界。由于ar技术具有交互性强、互动性好等特点,在很多领域得到了广泛的应用。
3.特别地,通过ar技术,可以模拟虚拟对象与真实世界中真实物体之间的交互。例如,通过ar技术,可以实现某个虚拟对象在运动过程中与真实物体发生碰撞的显示效果。这样,通过ar技术实现虚拟世界和真实世界之间的结合与交互结合,可以带来更好的显示效果。
4.但是,为了实现虚拟对象与真实物体之间的交互,需要对真实物体进行建模。而建模过程往往较为复杂,会消耗大量的人力物力,增加ar技术的应用成本。


技术实现要素:

5.为了解决现有技术的问题,本技术实施例提供了一种动画显示方法及装置。
6.第一方面,本技术实施例提供了一种动画显示方法,所述方法包括:
7.获取目标轨迹段对应的轨迹参数集合,所述目标轨迹段为所述终端设备在运动过程中经过的轨迹段,所述轨迹参数集合包括多组轨迹参数,所述轨迹参数是终端设备在目标轨迹段的运动中采集得到的;
8.在终端设备上目标轨迹段对应的显示位置显示目标模型对应的动画,所述目标轨迹段,所述目标模型是根据运动参数确定的,所述运动参数是根据所述轨迹参数集合确定的,所述运动参数体现所述终端设备在目标轨迹段中的运动状态特征。
9.第二方面,本技术实施例提供了一种动画显示装置,所述装置包括:
10.获取单元,用于获取目标轨迹段对应的轨迹参数集合,所述目标轨迹段为所述终端设备在运动过程中经过的轨迹段,所述轨迹参数集合包括多组轨迹参数,所述轨迹参数是终端设备在目标轨迹段的运动中采集得到的;
11.显示单元,用于在终端设备上目标轨迹段对应的显示位置显示目标模型对应的动画,所述目标轨迹段,所述目标模型是根据运动参数确定的,所述运动参数是根据所述轨迹参数集合确定的,所述运动参数体现所述终端设备在目标轨迹段中的运动状态特征。
12.第三方面,本技术实施例提供了一种电子设备,所述电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如前述第一方面所述的动画显示方法。
13.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程
序,该程序被处理器执行时实现如前述第一方面所述的动画显示方法。
14.在本技术实施例提供的动画显示方法中,可以先由用户将终端设备沿目标轨迹段移动。接着,可以获取终端设备在目标轨迹段中采集到的轨迹参数集合。轨迹参数集合可以包括多组轨迹参数。接着,可以在终端设备上目标轨迹段对应的显示位置显示目标模型。如此,由于目标模型的显示位置是根据终端设备移动过的目标轨迹段确定的,而终端设备在移动过程中会受到真实物体的约束,目标模型的动画也会受到真实物体的约束。如此,在不需要对真实物体进行建模的情况下,可以基于真实物体创建对应的虚拟模型,实现了虚拟对象和真实物体之间的交互。另外,由于目标模型是根据目标轨迹段的轨迹参数确定的,用户只需调整终端设备在目标轨迹段的移动情况,即可调整目标轨迹段对应的动画显示效果。如此,实现了用户对虚拟动画的自由选择,提升了用户体验。
附图说明
15.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
16.图1为本技术提供的一种ar技术的应用场景的场景示意图;
17.图2为本技术提供的一种动画显示方法的流程示意图;
18.图3为本技术实施例提供的终端设备的显示界面的一种示意图;
19.图4为本技术实施例提供的动画显示装置的一种结构示意图;
20.图5为本技术实施例提供的电子设备的一种结构示意图。
具体实施方式
21.下面将参照附图更详细地描述本技术的实施例。虽然附图中显示了本技术的某些实施例,然而应当理解的是,本技术可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本技术。应当理解的是,本技术的附图及实施例仅用于示例性作用,并非用于限制本技术的保护范围。
22.应当理解,本技术的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本技术的范围在此方面不受限制。
23.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
24.需要注意,本技术中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
25.需要注意,本技术中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
26.ar技术可以将虚拟世界和真实世界相结合,在许多领域得到的广泛的应用。例如,
通过ar技术,可以实现虚拟小人在桌面上行走的显示效果,也可以实现虚拟小人碰到墙壁无法继续前进的显示效果。如此,一定程度上打破了虚拟世界和真实世界之间的“次元壁”,具有较好的显示效果,在许多领域得到了广泛的应用。
27.但是,对于传统的ar技术,为了实现虚拟对象和真实物体之间的交互,需要对真实物体进行建模。通过模拟真实物体的位置,才能够实现虚拟对象和真实物体之间的交互。也就是说,为了创建与真实物体相关联的虚拟对象,需要先建立真实物体对应虚拟模型。
28.例如,为了实现“虚拟小人碰到墙壁无法继续前进”的显示效果,可以先对“墙壁”这一真实物体进行建模,在虚拟环境中创建墙壁对应的虚拟对象,并设置墙壁对应的虚拟对象和虚拟小人之间的碰撞关系。在进行显示时,可以不显示墙壁对应的虚拟对象。这样,用户看到的画面中包括虚拟小人和真实的墙壁。在虚拟小人运动到真实的墙壁对应的位置时,会和墙壁对应的虚拟对象发生碰撞,无法继续前进。如此,实现了“虚拟小人碰到墙壁无法继续前进”的显示效果。
29.显然,对真实物体进行建模的过程较为复杂,需要消耗大量的人力物力,而且当环境发生变化时,原先的虚拟模型无法继续使用。如此,既增加了ar技术的使用成本,也限制了ar技术的应用环境。
30.参见图1,该图为本技术实施例提供的ar技术的一种应用场景的场景示意图。真实世界内包括平面11和放置于平面11上的物体12。终端设备13上部署有ar技术的相关软件,可以实现真实世界和虚拟对象之间存在互动的显示效果。
31.可选地,假设终端设备需要实现的显示效果为“轨道22

轨道23

轨道24”这条与物体12和平面11接触的轨道。那么在传统的ar技术中,可以分别建立平面11对应的虚拟模型和物体12对应的虚拟模型。接着,可以以平面11对应的虚拟模型和物体12对应的虚拟模型为基准,分别建立轨道21、轨道22和轨道23对应的模型,并在模型对应的显示位置显示对应的动画。例如,可以在物体12对应的虚拟模型的上表面部署轨道模型21对应的模型,在物体12对应的虚拟模型的右侧面部署轨道模型22对应的模型,在平面11对应的虚拟模型的对应位置部署轨道模型23对应的模型。
32.可见,在传统的ar技术中,可以对真实物体进行建模,从而模拟虚拟对象与真实物体之间的交互。显然,真实物体越复杂,需要建立的模型也就越复杂,实现ar显示的成本也就越高。另外,在更换环境后,由于原有的模型并不适用于新环境,传统的ar技术也不能快速实现虚拟对象与真实物体之间的交互。
33.为了解决现有技术的问题,本技术实施例提供了一种动画显示方法,下面结合说明书附图进行详细介绍。
34.为了便于理解本技术实施例提供的技术方案,首先结合图1所示的场景示例进行说明。
35.为了实现轨道22、轨道23和轨道24的显示效果,在本技术实施例提供的技术方案中,用户可以先将终端设备沿运动轨迹31移动,由终端设备采集运动过程中的轨迹参数。接着,可以根据轨迹参数确定运动轨迹31的各个轨迹段分别对应的目标模型,并在终端设备上对应的显示位置显示目标模型的动画,从而在终端设备上显示轨道22、轨道23和轨道24。关于确定目标模型的详细过程请参见图2对应实施例的介绍,这里不再赘述。
36.图2为本技术实施例提供的一种动画显示方法的流程示意图,本技术实施例提供
的动画显示方法可以适用于用户通过终端设备创建ar模型并显示对应的动画的应用场景,该方法可以由终端设备中安装的ar单元来执行,该单元可以由软件的方式来实现,其代码集成于终端设备的存储器中,并通过终端设备的处理单元执行。可选地,该方法还可以由服务器或其他具有数据处理功能的设备执行。下面以该方法由ar设备的处理单元为例进行介绍。如图2所示,该方法具体包括以下步骤:
37.s201:获取目标轨迹段对应的轨迹参数集合。
38.为了创建与目标轨迹段对应的目标模型,可以先将终端设备沿目标轨迹段进行移动。在终端设备在目标轨迹段对应的位置移动的过程中,终端设备可以采集多组轨迹参数,得到轨迹参数集合。可选地,每组轨迹参数可以包括这组轨迹参数的采集时间和采集位置。在一些可能的实现方式中,轨迹参数还可以包括采集时间对应的设备朝向。
39.下面首先对各个轨道参数及其采集方法进行介绍。
40.在终端设备沿目标轨迹段移动的过程中,终端设备可以进行多次数据采集,每次采集可以采集多个参数作为一组轨迹参数。可选地,终端设备可以根据时间间隔进行数据采集,即每间隔预设时间间隔就可以采集一组轨迹参数。或者,终端设备可以根据距离进行采集,终端设备每移动预设距离,就可以采集一组轨迹参数。
41.在采集轨迹参数时,终端设备可以记录采集这组轨迹参数的时间作为采集时间。可选地,终端设备可以从系统中读取采集轨迹参数的时间作为轨迹参数中的采集时间。或者,终端设备可以将采集轨迹参数时的时间戳作为轨迹参数中的采集时间。
42.当终端参数处于目标轨迹段的起点时,终端设备可以将记录自身当前所在的位置。例如,终端设备可以建立与地球固连的坐标系,并将自身当前所在的位置记录为坐标系的原点。在沿目标轨迹段移动的过程中,终端设备可以通过自身的陀螺仪和加速度计等传感器确定终端设备移动的距离,通过加速度计测量的加速度可以确定终端设备移动的距离,通过陀螺仪测量角加速度可以确定终端设备旋转过的角度。可见,结合陀螺仪和加速度计测量的结果,可以确定终端设备在移动过程中任意时刻的位置和朝向。如此,在采集轨迹参数时,可以根据陀螺仪和加速度计测量的结果确定终端设备的采集位置和采集时间对应的设备朝向。可选地,在一些可能的实现方式中,终端设备还可以通过其他的方式确定采集时间对应的采集位置和设备朝向。
43.在一些可能的实现方式中,采集位置可以通过三维坐标表示,设备朝向可以通过三维向量或空间四元数的方式表示。
44.在一些可能的实现方式中,目标轨迹段可以由用户根据想要创建的模型自由选择。例如,假设用户想要创建从地面移动到桌面的“梯子”类型的模型,那么用户可以手持终端设备从地面移动到桌面。假设用户想要创建从桌面的一角移动到另一角的“草地”类型的模型,那么用户可以手持终端设备从桌面的一角移动到另一角。可选地,在终端设备沿目标轨迹段移动的过程中,用户可以根据动画生成规则调整终端的移动速度和设备朝向等参数。关于动画生成规则的介绍可以参见后文,这里不再赘述。
45.在本技术实施例中,终端设备移动的轨迹可以被称为目标轨迹,目标轨迹可以包括一个或多个目标轨迹段。在每个目标轨迹段中,终端设备的运动状态特征基本保持不变。可选地,用户可以手动将目标轨迹分为多个目标轨迹段。例如,用户可以通过触发终端设备显示的分段控件触发分段指令。在接收到用户触发的分段指令之后,终端设备可以将接收
到分段指令之前的轨迹划分为一个目标轨迹段。这样,通过分段控件触发分段指令,用户可以将终端设备的运动轨迹拆分为多个目标轨迹段。由于不同目标轨迹段对应的目标模型相互独立,最终得到的目标轨迹可以包括多个目标模型组成,实现了多种动画的组合。
46.举例说明。在目标轨迹段的起点,用户可以触发第一指令,从而控制终端设备开始采集轨迹参数。在目标轨迹段的终点,用户可以触发第二指令,从而控制终端设备停止采集轨迹参数。其中,第一指令和第二指令可以是前述分段指令,也可以是开始采集指令或停止采集指令。终端设备在获取到第一指令的时间和获取到第二指令的时间之间采集的轨迹参数即为目标轨迹段的轨迹参数集合。
47.为了确定轨迹参数集合中任意一个轨迹参数的采集位置,终端设备可以存储获取到第一指令时的位置,并根据运动信息确定采集位置。举例说明。假设轨迹参数集合包括第一轨迹参数,第一轨迹参数包括第一位置,那么终端设备可以先通过陀螺仪和加速度计确定终端设备的运动信息。运动信息表示从第二位置移动到第二位置的过程中,终端设备移动的距离和方向。接着,终端设备可以在第二位置的接触上,结合得到的运动信息确定第一位置。
48.或者,在一些其他可能的实现中,也可以先采集目标轨迹的轨迹参数集合,并根据轨迹参数集合确定对应的运动参数将目标轨迹划分为多个目标轨迹段。具体地,由于每个目标轨迹段对应一个目标模型,每个目标轨迹段中终端设备的运动状态特征应当保持不变。因此,根据运动参数可以确定终端设备在目标轨迹上运动状态特征的变化规律,从而将目标轨迹划分为多个目标轨迹段。关于运动参数的介绍可以参见后文,这里不再赘述。
49.在一些可能实现方式中,终端设备的加速度计和陀螺仪等传感器的精确度可能有限,导致直接采集到的轨迹参数可能不够准确。那么为了提高目标轨迹段的准确性,可以对轨迹采纳数集合进行数据清洗。
50.可选地,可以采用五点平滑法对轨迹参数进行清洗。例如,假设轨迹参数集合中第i个轨迹参数用p
i
表示,数据清洗后的第i个轨迹参数用p
i

表示。那么数据清洗的过程可以如下所示:
[0051][0052]
其中,n为轨迹参数集合所包括的轨迹参数的总数量。
[0053]
根据前文介绍可知,本技术实施例提供的动画生成方法可以由终端设备执行,也可以由服务器执行。如果本技术实施例提供的动画生成方法由终端设备执行,终端设备可以先存储在目标轨迹段的运动过程中采集的轨迹参数集合,并在生成目标轨迹段对应的动画时从存储器中提取轨迹参数集合。如果本技术实施例提供的动画生成方法由终端设备执行,终端设备可以先存储在目标轨迹段的运动过程中采集的轨迹参数集合。在需要生成目标轨迹段对应的动画时,服务器可以从终端设备处获取轨迹参数集合。例如,服务器可以通过向终端设备发送请求获取轨迹参数集合,或者由终端设备主动向服务推送轨迹参数集合。
[0054]
s202:根据轨迹参数集合确定目标轨迹段对应的目标模型。
[0055]
在获得轨迹参数集合之后,可以根据轨迹参数集合确定目标轨迹段对应的目标模
型。具体地,可以先根据轨迹参数集合确定运动参数,再根据运动参数确定目标轨迹段对应的目标模型。其中,运动参数用于体现终端设备在目标轨迹段中的运动状态特征。目标模型为待显示在目标轨迹段上的虚拟模型,例如可以包括轨道模型、草地模型、桥梁模型和梯子模型等虚拟模型。
[0056]
根据前文介绍可知,本技术实施例提供的动画显示方法可以应用于终端设备或服务器,下面以终端设备执行本技术实施例提供的动画显示方法为例,分别对上述两个过程进行介绍。
[0057]
首先介绍终端设备根据轨迹参数集合确定运动参数的过程。
[0058]
在本技术实施例中,终端设备可以先根据轨迹参数集合确定终端设备在目标轨迹段的运动参数。具体地,终端设备可以根据轨迹参数集合,对终端设备在目标轨迹段中的运动过程进行分析,从而确定目标轨迹段的运动参数。
[0059]
可选地,运动参数可以包括平均运动速度、平均轨迹方向、平均设备朝向、速度累积变化参数和方向累积变化参数中的任意一种或多种。下面分别介绍终端设备确定这些运动参数的方法。
[0060]
在第一种可能的实现中,运动参数可以包括平均运动速度。平均运动速度体现终端设备在目标轨迹段中的平均速度。
[0061]
在计算终端设备的平均运动速度的过程中,可以先根据轨迹参数将目标轨迹段划分为多个子轨迹段,每个子轨迹段的起点分别对应一组轨迹参数,每个子轨迹段的终点也分别对应一组轨迹参数。可选地,在一些可能的实现中,子轨迹段内部不包括轨迹参数的采集点。接着,可以根据子轨迹段的起点的采集位置和采集时间,以及子轨迹段的终点的采集位置和采集时间,分别计算多个子轨迹段中每个子轨迹段中终端设备的移动速度。在得到终端设备在每个子轨迹段的运动速度之后,可以对多个子轨迹段的运动速度求平均值,得到终端设备的平均运动速度。
[0062]
可选地,上述过程可以通过如下公式表示:
[0063][0064]
其中,a1表示终端设备在目标轨迹段的平均运动速度,n为轨迹参数集合中轨迹参数的数量,p
i
表示轨迹参数集合中第i个轨迹参数所包括的采集位置,t
i
表示轨迹参数集合中第i个轨迹参数所包括的采集时间。可选地,由于采集位置p
i
可以是终端设备的三维坐标,那么在计算终端设备的平均速度时,可以将两个相邻的采集位置相减并取模,得到这两个采集位置之间的直线距离。
[0065]
在第二种可能的实现方式中,运动参数可以包括平均轨迹方向。平均轨迹方向为目标轨迹段的起点到目标轨迹段的终点的方向,即目标轨迹段的总体朝向。
[0066]
在计算平均轨迹朝向的过程中,终端设备可以先从轨迹参数集合中提取出目标轨迹段的起点对应的轨迹参数和目标轨迹段的终点对应的轨迹参数,并根据目标轨迹段的起点对应的采集位置和目标轨迹段的终点对应的采集位置计算平均轨迹方向。
[0067]
例如,如果轨迹参数中采集位置以三维坐标的形式表示,那么可以将目标轨迹段的起点对应的采集位置和目标轨迹段的起点对应的采集位置分别转化为三维向量。接着,
可以将计算得到的两个三维向量相减并进行归一化,得到的结果为从目标轨迹段的起点指向目标轨迹段的终点的单位向量,即平均轨迹方向。
[0068]
可选地,上述过程可以通过如下公式表示:
[0069][0070]
其中,a2表示目标轨迹段的平均轨迹朝向,p
begin
表示目标轨迹段的起点对应的采集位置,p
end
表示目标轨迹段的终点对应的采集位置,剩余各个符号所表示的含义与前文相同,这里不再赘述。
[0071]
在第三种可能的实现方式中,运动参数还包括平均设备朝向,平均设备朝向体现终端设备在目标轨迹段中的平均方向。
[0072]
与计算平均运动速度的过程类似,在计算平均设备朝向的过程中,终端设备可以根据轨迹参数集合将目标轨迹段拆分为多个子轨迹段,并根据设备朝向分别计算终端设备在各个子轨迹中的平均朝向,再对多个子轨迹段的平均朝向取平均值,得到平均设备朝向。
[0073]
可选地,假设设备朝向通过四元数表示,那么上述过程可以通过如下公式表示:
[0074][0075]
其中,a3表示终端设备在目标轨迹段的平均设备朝向,n为轨迹参数集合中轨迹参数的数量,q
i
表示轨迹参数集合中第i个轨迹参数所包括的采设备朝向,toeuler表示将四元数转换为欧拉角的计算过程,剩余各个符号所表示的含义与前文相同,这里不再赘述。
[0076]
在第四种可能的实现方式中,运动参数还可以包括速度累积变化参数。速度累积变化参数体现终端设备在目标轨迹段中的速度波动情况。
[0077]
与计算平均运动速度的过程类似,在计算平均设备朝向的过程中,终端设备可以根据轨迹参数集合将目标轨迹段拆分为多个子轨迹段,并根据采集位置和采集时间和分别计算终端设备在每个采集位置的速度,再根据相邻的两个采集位置的平均速度计算这两个采集位置之间的子轨迹段对应的平均加速度,最后对多个平均加速度取平均值,得到均值,得到速度累积变化参数。
[0078]
具体地,假设采集位置通过三维坐标表示,表示,那么上述过程可以通过如下公式表示:
[0079][0080][0081]
其中,v
i
示终端设备在第i个轨迹参数的速度,a4表示终端设备在目标轨迹段的速度波动情况参数,剩余各个符号所表示的含义与前文相同,这里不再赘述。
[0082]
在第五种可能的实现方式中,运动参数包括方向累积变化参数。方向累积变化参数体现终端设备在目标轨迹段中的朝向的变化情况。
[0083]
与计算平均设备朝向的过程类似,在计算方向累积变化参数的过程中,终端设备可以根据轨迹参数集合将目标轨迹段拆分为多个子轨迹段,并根据设备朝向分别计算各个子轨迹中终端设备旋转的角度和旋转速度,再对多个子轨迹段的旋转速度取平均值,得到方向累积变化参数。
[0084]
具体地,假设设备朝向通过四元数或向量表示,那么上述过程可以通过如下公式表示:
[0085][0086]
其中,a5表示终端设备在目标轨迹段的方向累积变化参数,剩余各个符号所表示的含义与前文相同,这里不再赘述。
[0087]
需要说明的是,上述给出的五种运动参数仅作为实例,不代表本技术实施例所提供的动画显示方法中仅包括这五种运动参数。在实际应用场景中,技术人员可以根据实际情况自由选择任意一种或多种运动参数,或增加其他能够体现终端设备在目标轨迹段的运动状态特征的运动参数。
[0088]
上面介绍了终端设备确定运动参数的过程,下面对终端设备根据运动参数确定目标模型的过程进行介绍。
[0089]
在计算得到运动参数之后,终端设备可以根据运动参数确定目标轨迹段对应的目标模型。可选地,终端设备可以根据运动参数从模型库中选择与运动参数相对应的目标模型。其中,模型库可以包括多种模型,每种模型对应一种动画显示效果。
[0090]
在用户移动中终端设备之前,可以向用户展示用于生成目标模型的动画生成规则。动画生成规则用于指示运动状态特征和目标模型之间的对应关系。这样,如果用户想要在目标轨迹段上生成自己想要的第一模型,用户可以根据动画生成规则确定第一模型对应的运动状态特征,并根据运动状态特征移动终端设备。这样,在获取到终端设备在移动过程中采集的轨迹参数集合之后,可以根据轨迹参数集合得到运动参数,反推出终端设备在目标轨迹段的运动状态特征,再结合预设轨迹既可以确定用户想要在目标轨迹段生成的第一模型。这样,将第一模型确定为目标模型,即可在目标轨迹段上显示第一模型对应的动画效果。在本技术实施例中,动画生成规则可以由技术人员根据实际情况自行定义。
[0091]
运动参数可以包括平均运动速度、平均轨迹方向、平均设备朝向、速度累积变化参数和方向累积变化参数中的任意一种或多种。下面分别介绍终端设备根据这些运动参数确定目标模型的方法。
[0092]
在第一种可能的实现方式中,运动参数可以包括平均运动速度。
[0093]
在确定目标模型的过程中,终端设备可以判断平均运动速度和平均速度阈值的大小。如果平均运动速度大于平均速度阈值,说明终端设备在目标轨迹段中运动较快,那么可以从模型库中选择加速运动模型作为目标模型。可选地,加速运动模型可以包括加速条、传送带等模型。
[0094]
在第二种可能的实现方式中,运动参数可以包括平均轨迹方向。
[0095]
在确定目标模型的过程中,终端设备可以判断平均轨迹方向在垂直方向上的分量是否大于上升阈值。如果平均轨迹方向在垂直方向上的分量小于或等于上升阈值,说明目
标轨迹段上升的幅度较小,那么可以从模型库中选择水平移动模型作为目标轨迹段对应的目标模型。如果平均轨迹方向在垂直方向上的分量大于上升阈值,说明目标轨迹段上升的幅度较大,那么可以从模型库中选择垂直移动模型作为目标轨迹段对应的目标模型。
[0096]
可选地,上升阈值例如可以是表示目标轨迹段上升的角度大于45
°
。水平移动模型可以包括水平道路、缓坡道路和水平加速带等模型。垂直移动模型可以包括梯子、升降梯和攀岩绳等模型。
[0097]
在第三种可能的实现方式中,运动参数可以包括平均轨迹方向和平均设备朝向,动画生成规则可以包括“如果想要生成预设模型对应的动画,将终端设备保持倾斜状态,并移动相应的距离”。
[0098]
在确定目标模型的过程中,终端设备可以判断平均轨迹方向与平均设备朝向之间的夹角是否大于角度阈值。如果平均轨迹方向与平均设备朝向之间的夹角大于角度阈值,说明用户在移动终端设备时倾斜了终端设备,表示用户希望在目标轨迹段显示预设模型对应的动画。那么终端设备可以确定目标轨迹段对应的目标模型为预设模型。可选地,预设模型可以包括桥模型和减速带模型等模型,角度阈值例如可以是
[0099]
在第四种可能的是实现方式中,运动参数可以包括速度累积变化参数。
[0100]
在确定目标模型的过程中,终端设备可以判断速度累积变化参数和速度波动阈值的大小。如果速度累积变化参数大于速度波动阈值,说明终端设备在目标轨迹段中速度波动较大,那么可以从模型库中选择速度波动模型作为目标模型。可选地,速度波动模型可以包括具有路障的道路模型等模型。
[0101]
在第五种可能的实现方式中,运动参数可以包括方向累积变化参数,动画生成规则可以包括“如果想要生成预设模型对应的动画,边移动边旋转终端设备”。
[0102]
在确定目标模型的过程中,终端设备可以判断方向累积变化参数是否大于方向波动阈值。如果方向累积变化参数大于方向波动阈值,说明用户在边旋转终端设备边移动终端设备,表示用户希望在目标轨迹段显示预设模型对应的动画。那么终端设备可以确定目标轨迹段对应的目标模型为预设模型。可选地,预设模型可以包括桥模型和减速带模型等模型。
[0103]
需要说明的是,运动参数和目标模型之间的对应关系可以根据动画生成规则得到。在实际的应用场景中,技术人员可以根据实际需要设定动画生成规则或对动画生成规则进行调整。
[0104]
在一些可能的实现方式中,可以通过语义映射的方式确定运动参数对应的目标模型。具体地,可以分别建立运动参数和语义特征之间的对应关系,以及语义特征和目标模型之间的对应关系。那么在确定目标模型时,可以先根据运动参数和语义特征之间的对应关系确定运动参数对应的语义特征,再根据语义特征和目标模型之间的对应关系确定语义特征对应的目标模型。其中,每种运动参数可以对应一个或多个语义特征。这样,当运动参数包括多种参数时,根据对应关系可以映射到多个语义特征,可以更加准确地确定目标模型。
[0105]
在上文给出的实现方式中,由终端设备根据轨迹参数集合确定目标模型。而在一些其他可能的实现方式中,上述方法也可以由服务器执行。在服务器确定了目标模型之后,
服务器可以向终端设备发送目标模型的标识,以便终端设备在后续步骤中展示目标模型对应的动画效果。
[0106]
根据s201中的介绍可知,终端设备移动的轨迹中可以包括一个或多个目标轨迹段,每个目标轨迹段中终端设备的运动状态特征保持不变。那么在确定目标模型之前,可以先根据运动参数判断目标轨迹段是否满足轨迹生成条件。轨迹生成条件包括终端设备的运动状态特征在目标轨迹段内保持不变。如果运动参数满足轨迹生成条件,可以继续根据终端设备确定目标模型。如果运动参数不满足轨迹生成条件,可以根据运动参数将目标轨迹段划分为多个目标子轨迹段,并分别确定每个目标子轨迹段对应的目标模型。其中,每个目标子轨迹段中终端设备的运动状态特征保持不变。
[0107]
s203:在终端设备上目标轨迹段对应的显示位置显示目标模型对应的动画。
[0108]
在确定目标轨迹段对应的目标模型之后,可以在终端设备上目标轨迹段对应的显示位置显示目标模型对应的动画。具体地,假设本技术实施例提供的方法由终端设备执行,终端设备可以在自身的显示设备或与自身连接的显示设备上显示目标模型对应的动画。可选地,终端设备可以采用传统的ar技术确定目标轨迹段对应的显示位置,并在对应的显示显示位置显示目标模型对应的动画效果。
[0109]
假设本技术实施例提供的方法由服务器执行,服务器可以向终端设备发送目标模型的标识或目标模型对应的动画效果的标识,以便终端设备在自身的显示设备或与自身连接的显示设备上显示目标模型对应的动画。
[0110]
举例说明。在一种可能的实现方式中,终端设备的显示效果可以如图3所示。在图3所示的实现方式中,路径311、桥312、路径313、梯子314和桥315为虚拟显示效果。物体321、桌面322、物体323和物体324为实际。如此,实现了虚拟对象依附与真实物体的显示效果。
[0111]
在本技术实施例提供的动画显示方法中,可以先由用户将终端设备沿目标轨迹段移动。接着,可以获取终端设备在目标轨迹段中采集到的轨迹参数集合。轨迹参数集合可以包括多组轨迹参数。接着,可以在终端设备上目标轨迹段对应的显示位置显示目标模型。如此,由于目标模型的显示位置是根据终端设备移动过的目标轨迹段确定的,而终端设备在移动过程中会受到真实物体的约束,目标模型的动画也会受到真实物体的约束。如此,在不需要对真实物体进行建模的情况下,可以基于真实物体创建对应的虚拟模型,实现了虚拟对象和真实物体之间的交互。另外,由于目标模型是根据目标轨迹段的轨迹参数确定的,用户只需调整终端设备在目标轨迹段的移动情况,即可调整目标轨迹段对应的动画显示效果。如此,实现了用户对虚拟动画的自由选择,提升了用户体验。
[0112]
图4为本技术实施例提供的一种动画显示装置的结构示意图,本实施例可以适用于从通过终端设备显示ar效果的场景,该动画显示装置400具体包括获取模块410和显示模块420。
[0113]
具体地,获取单元410,用于获取目标轨迹段对应的轨迹参数集合,所述目标轨迹段为所述终端设备在运动过程中经过的轨迹段,所述轨迹参数集合包括多组轨迹参数,所述轨迹参数是终端设备在目标轨迹段的运动中采集得到的。
[0114]
显示单元420,用于在终端设备上目标轨迹段对应的显示位置显示目标模型对应的动画,所述目标轨迹段,所述目标模型是根据运动参数确定的,所述运动参数是根据所述轨迹参数集合确定的,所述运动参数体现所述终端设备在目标轨迹段中的运动状态特征。
[0115]
本技术实施例所提供动画显示装置可执行本技术任意实施例所提供的动画显示方法,具备执行动画显示方法相应的功能单元和有益效果。
[0116]
下面参考图5,其示出了适于用来实现本公开实施例的电子设备(例如运行有软件程序的终端设备或服务器)500的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0117]
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口1005也连接至总线504。
[0118]
通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置1009。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0119]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行图2所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
[0120]
本公开实施例提供的电子设备与上述实施例提供的动画显示方法属于同一发明构思,未在本公开实施例中详尽描述的技术细节可参见上述实施例,并且本公开实施例与上述实施例具有相同的有益效果。本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的动画显示方法。
[0121]
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于
电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0122]
在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
[0123]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0124]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
[0125]
获取目标轨迹段对应的轨迹参数集合,所述目标轨迹段为所述终端设备在运动过程中经过的轨迹段,所述轨迹参数集合包括多组轨迹参数,所述轨迹参数是终端设备在目标轨迹段的运动中采集得到的;在终端设备上目标轨迹段对应的显示位置显示目标模型对应的动画,所述目标轨迹段,所述目标模型是根据运动参数确定的,所述运动参数是根据所述轨迹参数集合确定的,所述运动参数体现所述终端设备在目标轨迹段中的运动状态特征。
[0126]
计算机可读存储介质可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0127]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0128]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元单元的名称在某种情况下并不构成对该单元本身的限定,
[0129]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0130]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0131]
根据本公开的一个或多个实施例,【示例一】提供了一种动画显示方法,该方法包括:
[0132]
获取目标轨迹段对应的轨迹参数集合,所述目标轨迹段为所述终端设备在运动过程中经过的轨迹段,所述轨迹参数集合包括多组轨迹参数,所述轨迹参数是终端设备在目标轨迹段的运动中采集得到的;
[0133]
在终端设备上目标轨迹段对应的显示位置显示目标模型对应的动画,所述目标轨迹段,所述目标模型是根据运动参数确定的,所述运动参数是根据所述轨迹参数集合确定的,所述运动参数体现所述终端设备在目标轨迹段中的运动状态特征。
[0134]
根据本公开的一个或多个实施例,【示例二】提供了一种动画显示方法,该方法还包括:可选地,所述方法应用于终端设备,还包括:
[0135]
获取用户触发的第一指令,开始采集所述轨迹参数;
[0136]
获取所述用户触发的第二指令,停止采集所述轨迹参数;
[0137]
其中,所述第一指令用于指示所述目标轨迹段的起点,所述第二指令用于指示所述目标轨迹段的终点。
[0138]
根据本公开的一个或多个实施例,【示例三】提供了一种动画显示方法,该方法还包括:可选地,所述终端设备包括陀螺仪和加速度计,所述轨迹参数集合包括第一轨迹参数,所述第一轨迹参数包括第一位置,所述开始采集所述轨迹参数集合包括:
[0139]
获取第二位置,所述第二位置为所述用户触发所述第一指令时所述终端设备所在的位置;
[0140]
根据所述陀螺仪和所述加速度计确定所述终端设备的运动信息;
[0141]
根据所述第一位置和所述运动信息确定第一位置。
[0142]
根据本公开的一个或多个实施例,【示例四】提供了一种动画显示方法,该方法还包括:可选地,在获取目标轨迹段对应的轨迹参数集合之后,所述方法还包括:
[0143]
对所述轨迹参数集合中每组轨迹参数进行数据清洗。
[0144]
根据本公开的一个或多个实施例,【示例五】提供了一种动画显示方法,该方法还包括:可选地于,在终端设备上目标轨迹段对应的显示位置显示目标模型对应的动画之前,所述方法还包括:
[0145]
根据所述轨迹参数集合确定所述目标轨迹段对应的显示位置;
[0146]
确定目标模型对应的动画效果。
[0147]
根据本公开的一个或多个实施例,【示例六】提供了一种动画显示方法,该方法还包括:可选地,在终端设备上目标轨迹段对应的显示位置显示目标模型对应的动画之前,所述方法还包括:
[0148]
根据所述轨迹参数集合确定运动参数;
[0149]
从模型库中选择所述运动参数对应的确定目标模型,所述模型库包括多种类型的模型。
[0150]
根据本公开的一个或多个实施例,【示例七】提供了一种动画显示方法,该方法还包括:可选地,所述轨迹参数包括所述终端设备采集所述轨迹参数的采集时间和采集位置,所述运动参数包括平均运动速度,所述平均运动速度体现所述终端设备在目标轨迹段中的平均速度;
[0151]
所述根据所述轨迹参数集合确定运动参数包括:
[0152]
根据所述轨迹参数的采集时间将所述目标轨迹段分为多个子轨迹段;
[0153]
根据所述多个子轨迹段中每个子轨迹段的起点的采集位置和采集时间,以及终点的采集位置和采集时间,分别计算每个子轨迹段中终端设备的移动速度;
[0154]
根据所述多个子轨迹段中每个子轨迹段的移动速度,确定所述平均运动速度;
[0155]
所述从模型库中选择所述运动参数对应的确定目标模型包括:
[0156]
响应于所述平均运动速度大于平均速度阈值,从所述模型库中选择加速移动模型作为所述目标轨迹段对应的目标模型。
[0157]
根据本公开的一个或多个实施例,【示例八】提供了一种动画显示方法,该方法还包括:可选地,所述轨迹参数包括所述终端设备采集所述轨迹参数的采集位置,所述运动参数包括平均轨迹方向,所述平均轨迹方向为所述目标轨迹段的起点到所述目标轨迹段的终点的方向;
[0158]
所述根据所述轨迹参数集合确定运动参数包括:
[0159]
根据所述目标轨迹段的起点的采集位置和所述目标轨迹段的终点的采集位置计算所述平均轨迹方向;
[0160]
所述从模型库中选择所述运动参数对应的确定目标模型包括:
[0161]
响应于所述平均轨迹方向在垂直方向的分量小于或等于上升阈值,从所述模型库中选择水平移动模型作为所述目标轨迹段对应的目标模型;
[0162]
响应于所述平均轨迹方向在垂直方向的分量大于所述上升阈值,从所述模型库中选择垂直移动模型作为所述目标轨迹段对应的目标模型。
[0163]
根据本公开的一个或多个实施例,【示例九】提供了一种动画显示方法,该方法还包括:可选地,所述轨迹参数还包括所述终端设备采集所述轨迹参数时终端设备的设备朝向,所述运动参数还包括平均设备朝向,所述平均设备朝向体现所述终端设备在目标轨迹段中的平均方向;
[0164]
所述根据所述轨迹参数集合确定运动参数包括:
[0165]
对所述轨迹参数集合所包括的多个设备朝向求平均值,得到所述平均设备朝向;
[0166]
所述从模型库中选择所述运动参数对应的确定目标模型包括:
[0167]
响应于所述平均设备朝向与所述平均轨迹方向之间的夹角大于角度阈值,根据动画生成规则从所述模型库中选择预设模型作为所述目标轨迹段对应的目标模型,所述动画生成规则指示倾斜移动终端设备与所述预设模型对应的动画之间的对应关系。
[0168]
根据本公开的一个或多个实施例,【示例十】提供了一种动画显示方法,该方法还包括:可选地,所述轨迹参数包括所述终端设备采集所述轨迹参数的采集时间和采集位置,所述运动参数包括速度累积变化参数,所述速度累积变化参数体现所述终端设备在目标轨迹段中的速度波动情况;
[0169]
所述根据所述轨迹参数集合确定运动参数包括:
[0170]
根据所述轨迹参数集合计算所述终端设备在每个采集位置对应的速度;
[0171]
根据所述终端设备在每个采集位置对应的速度计算速度累积变化参数;
[0172]
所述从模型库中选择所述运动参数对应的确定目标模型包括:
[0173]
响应于速度累积变化参数大于速度波动阈值,从所述模型库中选择速度波动模型作为所述目标轨迹段对应的目标模型。
[0174]
根据本公开的一个或多个实施例,【示例十一】提供了一种动画显示方法,该方法还包括:可选地,在根据所述运动参数确定目标模型之前,所述方法还包括:
[0175]
根据所述运动参数,确定所述目标轨迹段满足轨迹生成条件,所述轨迹生成条件包括所述终端设备的运动状态特征保持不变。
[0176]
根据本公开的一个或多个实施例,【示例十二】提供了一种动画显示装置,包括:
[0177]
获取单元,用于获取目标轨迹段对应的轨迹参数集合,所述目标轨迹段为所述终端设备在运动过程中经过的轨迹段,所述轨迹参数集合包括多组轨迹参数,所述轨迹参数是终端设备在目标轨迹段的运动中采集得到的;
[0178]
显示单元,用于在终端设备上目标轨迹段对应的显示位置显示目标模型对应的动画,所述目标轨迹段,所述目标模型是根据运动参数确定的,所述运动参数是根据所述轨迹参数集合确定的,所述运动参数体现所述终端设备在目标轨迹段中的运动状态特征。
[0179]
根据本公开的一个或多个实施例,【示例十三】提供了一种电子设备,所述电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本技术任一实施例所述的动画显示方法。
[0180]
根据本公开的一个或多个实施例,【示例十四】提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术任一实施例所述的动画显示方法。
[0181]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0182]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公
开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1