运动控制方法、装置、电子设备和机器可读存储介质与流程

文档序号:25785621发布日期:2021-07-09 10:39阅读:78来源:国知局
运动控制方法、装置、电子设备和机器可读存储介质与流程

1.本发明涉及运动控制技术领域,尤其是涉及一种运动控制方法、装置、电子设备和机器可读存储介质。


背景技术:

2.目前,在运动观察某个物体时,通常需要围绕被观测物体的某个锚定点做环绕观察,通过确定执行观测的物体到锚定点的半径距离(为一个固定值),并根据该固定的半径距离确定执行观测的物体的运动轨迹,以便沿着运动轨迹进行运动观察。
3.对于不规则的物体,诸如一些异形值较突出(例如一座跨海大桥),为了防止在观测时执行观测的物体进入到物体内部,诸如游戏场景中镜头进入物体内部(也即出现穿模现象),通常需要根据大于上述固定的半径距离中的最大半径确定运动轨迹,因此,在观测过程中,执行观测的物体需要与被观测物体恒定保持在一个较远的距离。然而,这种方式就会导致无法对被观测物体各个角度进行近距离的、较为准确的观测,从而造成运动观测时的运动控制的准确性较低、运动控制效果不好。


技术实现要素:

4.本发明的目的在于提供一种运动控制方法、装置、电子设备和机器可读存储介质,在避免进行穿模现象的同时提升了运动控制的准确性和运动控制效果,进一步提升了对运动对象进行约束控制时的用户体验。
5.第一方面,本发明提供一种运动控制方法,方法包括:响应于控制第一对象针对第二对象进行目标运动的控制指令,确定第二对象的目标包裹模型,包裹模型包围第二对象,包裹模型为根据第二对象的形状预先建立的包裹模型;基于第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹。
6.在可选的实施方式中,方法还包括:基于第二对象的形状,确定与第二对象形状相同的初始包裹模型;基于预先确定的模型光滑算法对初始包裹模型进行光滑处理,得到目标包裹模型;模型光滑算法包括融球运算。
7.在可选的实施方式中,基于第二对象的形状,确定与第二对象形状相同的初始包裹模型的步骤,包括:计算第二对象的几何中心点与第二对象的每个第一表面之间的第一距离;基于第一距离和第一预设系数确定初始包裹模型。
8.在可选的实施方式中,基于第一距离和第一预设系数确定初始包裹模型的步骤,包括:基于第一距离和第一预设系数确定第二距离;基于第二距离确定初始包裹模型的第二表面。
9.在可选的实施方式中,第一对象为虚拟相机或虚拟飞行器,第二对象为虚拟对象;或者,第一对象为实体飞行器,第二对象为实体对象;实体飞行器基于三维地图控制飞行轨迹,三维地图包括第二对象的目标包裹模型。
10.在可选的实施方式中,第二对象对应有至少一个备选包裹模型,不同的备选包裹
模型对第二对象的包围程度不同。
11.在可选的实施方式中,至少一个备选包裹模型与运动类型存在对应关系,对应关系基于不同运动类型所需的包围程度确定;确定第二对象的目标包裹模型,包括:基于至少一个备选包裹模型与运动类型存在对应关系,在至少一个备选包裹模型中确定目标运动所属的运动类型所对应的目标包裹模型。
12.在可选的实施方式中,方法还包括:基于第二对象的位置属性,确定第二对象的至少一个可选运动类型;基于至少一个可选运动类型对包围程度的需求,建立第二对象的至少一个包裹模型。
13.在可选的实施方式中,基于第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹,包括:重复执行如下步骤,直至确定终止第一对象进行目标运动:基于第一对象的当前位置以及预设步长,在第二对象的目标包裹模型上随机确定下一位置;控制第一对象运动到下一位置。
14.在可选的实施方式中,基于第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹,包括:重复执行如下步骤,直至确定终止第一对象进行目标运动:在第二对象的目标包裹模型上确定下一位置;在第二对象的目标包裹模型上,位于第一对象的当前位置和下一位置之间按照预设步长进行插值,得到控制点集,控制点集包括插值和下一位置;控制第一对象基于控制点集进行运动。
15.在可选的实施方式中,基于第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹的步骤,还包括:根据用户输入的视野需求确定第二预设系数;基于第二预设系数和第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹。
16.在可选的实施方式中,方法还包括:对运动轨迹进行监测;当检测到运动轨迹距离偏离预设距离阈值时,向第一对象发送预警信号。
17.第二方面,本发明提供一种运动控制装置,装置包括:包裹模型确定模块,用于响应于控制第一对象针对第二对象进行目标运动的控制指令,确定第二对象的目标包裹模型,目标包裹模型包围第二对象,目标包裹模型为根据第二对象的形状预先建立的包裹模型;运动控制模块,用于基于第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹。
18.第三方面,本发明提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现前述实施方式任一项的运动控制方法。
19.第四方面,本发明提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现前述实施方式任一项的运动控制方法。
20.本发明提供的运动控制方法、装置、电子设备和机器可读存储介质,该运动控制方法首先通过响应控制第一对象针对第二对象进行目标运动的控制指令,确定第二对象的目标包裹模型,其中,目标包裹模型包围第二对象,目标包裹模型为根据第二对象的形状预先建立的包裹模型。然后基于第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹。上述方式通过确定的目标包裹模型进行第一对象在进行目标运动时的约束控制,相比于现有技术中直接根据镜头和锚点之间的半径距离确定一个固定的观测距离的方
式,能够在第一对象进行目标运动时更加贴合第二对象本身的形状,从而可以更加准确的通过非固定的观测距离对第二对象进行观测,在避免进行穿模现象的同时提升了运动控制的准确性和运动控制效果,进一步提升了对运动对象进行约束控制时的用户体验。
附图说明
21.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1示出了本发明实施例所提供的一种运动控制方法的流程图;
23.图2示出了本发明实施例所提供的一种环绕运动的示意图;
24.图3示出了本发明实施例所提供的一种平行运动的示意图;
25.图4示出了本发明实施例所提供的一种动态运动距离的运动控制示意图;
26.图5示出了本发明实施例所提供的一种运动控制装置的结构示意图;
27.图6示出了本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
28.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
29.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.考虑到目前在针对物体进行运动观测时,诸如,在现实场景中针对现实物体(例如大型的建筑物、场景等)通过无人机的运动控制进行观测,或者,在虚拟场景(例如游戏场景)中通过镜头的运动控制针对游戏地形或者角色进行观测,通常需要无人机或者游戏中的镜头围绕被观测物体的某个锚定点做环绕观察。
31.以在游戏场景中为例,镜头到锚定点的半径距离r通常等于一个固定值,并且半径距离r需要大于物体的最大半径以防止观察过程中镜头进入物体内部(俗称穿模),因此在观察一些异形值较为突出(例如一座跨海大桥)的物体时,镜头需要恒定保持在一个较远的距离。然而,这种方式下控制的镜头,针对需要近距离观测的物体,就会出现观测结果准确性较低的问题,从而影响观测的效果。
32.为改善以上问题,本发明实施例提供的一种运动控制方法、装置、电子设备和机器可读存储介质,提升了观测的准确性和观测效果,同时提升了观测时的用户体验。以下对本发明实施例进行详细介绍。
33.首先,本发明实施例提供了一种运动控制方法,该方法可以由游戏设备执行,诸如手机、平板电脑、pc机、游戏机等能运行游戏的电子设备均可视为游戏设备,也可以通过诸
如无人机等用于运动观测物体的电子设备执行。为便于理解,首先参见图1所示的一种运动控制方法的流程图,该方法主要包括以下步骤s102至步骤s106:
34.步骤s102,响应于控制第一对象针对第二对象进行目标运动的控制指令,确定第二对象的目标包裹模型。
35.在实际应用中,控制指令可以根据用户需求进行触发。在具体实施时,可以通过滑动操作、拖动操作等进行控制指令的触发,也可以通过点击特定的控件进行触发。
36.第一对象可以为虚拟对象,诸如游戏中用于观测游戏场景的镜头(或称相机),则相应的,第二对象则为游戏场景中的物体,诸如游戏场景中运动的角色、道具、游戏场景中的建筑物、植物等等。第一对象也可以为实体对象,诸如无人机等运动观测设备,相应的,第二对象则为实体对象要观测的物体,诸如现实中的商场、广场、山峰、跨海大桥等等。
37.上述目标运动为第一对象对第二对象进行观测时采用的运动形式,可以理解的是,对于不同的第二对象,采用的运动形式可以不同,诸如,对于实体对象中的山脉,第一对象是通过在山脉上方的表面进行观测的,而对于跨海大桥,可以通过在桥梁之间穿梭进行观测,也即可以通过第一对象进行平行运动进行观测;而当第二对象为诸如球体类的对象时,第一对象可以采取环绕运动(类似卫星环绕行星的运动形式);对于一些不规则的第二对象,在进行观测时,可能既需要平行运动,也需要环绕运动。因此,在具体实施时,上述目标运动可以包括平行运动和/或环绕运动。
38.目标包裹模型包围第二对象,在一种实施方式中,第二对象可以全部位于目标包裹模型内,也即目标包裹模型将第二对象进行完整的包裹,诸如目标包裹模型通过封闭的方式将第二对象包裹在模型内部。在另一种实施方式中,第二对象也可以部分位于目标包裹模型内,也即目标包裹模型将第二对象进行指定部分的包裹,诸如当第二对象为山脉时,目标包裹模型可以通过对山脉的上侧表面进行包裹即可满足观测需求,因此目标包裹模型仅需包裹山脉的上侧表面即可。指定部分也可以为第二对象的下侧表面、左侧表面、右侧表面或其他表面,具体可以根据实际需求进行设定。
39.为了提高用户的观测体验以及观测的准确性,上述目标包裹模型为根据第二对象的形状预先建立的包裹模型,在一种实施方式中,该预先建立的包裹模型可以为基于被观测物体的形状生成模型之后,通过执行光滑处理后得到的光滑模型。
40.步骤s104,基于第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹。
41.可以理解的是,目标包裹模型由于和第二对象的特征(诸如形状)具有相应的关系,因此,确定的目标包裹模型可以起到第一对象(执行观测的对象)和第二对象(被观测的对象)之间约束的作用。当确定第二对象的目标包裹模型后,可以在第一对象针对第二对象进行随机运动时,基于确定的目标包裹模型对第一对象的所处位置进行约束,以防止第一对象出现穿模的情况。诸如,当第一对象在针对第二对象按照随机的方式进行目标运动时,可以通过目标包裹模型与第一对象之间的多个非固定距离对第一对象进行约束控制,并进一步可以在目标运动过后得到约束第一对象进行目标运动的运动轨迹。
42.由于第二对象的形状可以为规则的形状,也可以为不规则的形状,因此目标运动可以相应的包括多种运动形式。例如,当第一对象需要对第二对象进行全方位的观测时,也即上述控制指令中指示第一对象对第二对象进行全方位的观测时,此时目标运动为环绕运
动;或者,当第一对象需要对第二对象进行俯瞰观测时,也即上述控制指令中指示第一对象对第二对象进行俯瞰观测时,此时目标运动为环绕运动;又或者,当第二对象为不规则的形状时,在第一对象对第二对象进行观测时,此时目标运动可以既包括环绕运动,也包括平行运动。在具体实施时,可以根据实际需求和控制指令的指示选择相应的目标运动的运动形式。
43.本发明实施例提供的运动控制方法,通过确定的目标包裹模型进行第一对象在进行目标运动时的约束控制,相比于现有技术中直接根据镜头和锚点之间的半径距离确定一个固定的观测距离的方式,能够在第一对象进行目标运动时更加贴合第二对象本身的形状,从而可以更加准确的通过非固定的观测距离对第二对象进行观测,在避免进行穿模现象的同时提升了运动控制的准确性和运动控制效果,进一步提升了对运动对象进行约束控制时的用户体验。
44.为了能够保证运动控制的准确性,在进行运动控制之前,首先需要建立上述第二对象的目标包裹模型。对于第二对象,不同的场景下具有不同的对象属性。诸如,当第一对象为虚拟对象,第二对象为虚拟对象的第一观测物,当第一对象为实体对象,第二对象为实体对象的第二观测物。第一对象和第二对象针对场景进行对应的确定,其中,相同场景中的第一对象为被进行运动控制的对象,第二对象为被观测的对象。在一种实施方式中,可以基于第二对象(也即被观测的对象)的形状,建立第二对象的目标包裹模型,在具体实施时,可以采用以下步骤1和步骤2执行。
45.步骤1,基于第二对象的形状,确定与第二对象形状相同的初始包裹模型。第二对象的形状诸如为规则的物体形状,也可以为不规则的物体形状,初始包裹模型可以为全部将第二对象进行包裹的模型,也可以为将第二对象的指定部分进行包裹的模型。诸如,在游戏场景中,当第二对象为游戏中的角色时,初始包裹模型可以为与角色形状相同的虚拟包裹模型;在现实场景中,当第二对象为山脉时,初始包裹模型仅需和山脉的上表面形状相同即可保证初始包裹模型与第二对象形状相同。在具体确定初始包裹模型时,进行全部包裹还是部分包裹,可以根据第二对象(也即被观测对象)的形状进行具体的选择。
46.在一种实施方式中,上述在基于第二对象的形状,确定与第二对象形状相同的初始包裹模型时,可以通过以下步骤1.1和步骤1.2执行:
47.步骤1.1,计算第二对象的几何中心点与第二对象的每个第一表面之间的第一距离。由于第二对象的形状可能为规则的,也可能为不规则的,因此第二对象的几何中心点到第二对象的不同位置的表面之间的距离可能并非一个恒定值。在具体实施时,可以首先将第二对象的表面进行划分,得到多个第一表面。可以理解的是,在进行划分时,针对同一个第一表面,该表面上的任一点距离几何中心点的距离可以为一个相同的值,也可以为不同的值,可以根据实际划分的计算量等因素进行确定,此处不作具体限定。
48.步骤1.2,基于第一距离和第一预设系数确定初始包裹模型。在一种实施方式中,第一预设系数可以理解为第二对象与包裹模型的比例关系,该系数可以取值为大于等于1的数值。并且,为了可以满足用户的不同观测需求,诸如在对同一被观测物体进行观测时,可能存在某个位置需要近距离观测,某些位置仅需远距离观测即可,因此在确定该第一预设系数时,针对同一第二对象,第一预设系数可以为可变系数。
49.目标模型也即与第二对象相应比例关系的模型,该相应比例可以由上述第一预设
系数进行确定。在具体实施时,为了保证初始包裹模型和第二对象的形状相同,同时避免出现穿模现象,可以基于第一距离和第一预设系数确定第二距离,然后基于第二距离确定初始包裹模型的第二表面。诸如,当确定第一距离后,可以以第二对象的几何中心点向外作延长线段,该延长线段可以为以辐射状向外延长。延长线段的长度也即第二距离,在一种实施方式中,第二距离可以通过下式表示:
50.r2=r1+n/r1(1)
51.其中,r2为第二距离;r1为第一距离,r1>0;n为第一预设系数,n>0。
52.当计算出第二距离后,可以根据第二距离的值对上述向外延长的线段进行截取,以满足计算得到的第二距离。截取之后,针对每个第二距离,均会得到除第二对象的集合中心点以外的另一个端点。针对得到的另一个端点(以下称为端点k),可以采用以下两种方式确定初始包裹模型:
53.(1)在端点k的数量为无限大时,也即以第二对象的几何中心点向外辐射做延长线的数量为无限大时,可以通过连接所有的端点k进行模型面的确定,该模型面也即上述初始包裹模型的第二表面。
54.(2)在端点k的数量为有限个时,也即以第二对象的集合中心点向外辐射做延长线的数量为有限多个时,可以首先通过有限个的端点k连接得到多个较小的表面区域,然后通过对多个较小的表面区域进行连接,得到一个最终的模型面,也即上述初始包裹模型的第二表面。
55.上述两种确定初始包裹模型的第二表面的方式可以根据实际需求进行选择,此处不再赘述。
56.步骤2,基于预先确定的模型光滑算法对初始包裹模型进行光滑处理,得到目标包裹模型。
57.由于上述得到的初始包裹模型为通过链接无限大数量的端点或者多个表面区域确定的,因此,该初始包裹模型为不规则的具有多个棱边的模型,为了在约束第一对象在进行目标运动时,可以保证运动轨迹的连贯性,因此需要对上述确定的初始包裹模型进行光滑处理。预先确定的模型光滑算法包括融球运算,该融球运算诸如为cinema 4d(c4d)中的融球运算,也可以为其他的光滑算法,此处不作具体限定。
58.本实施例的第一对象和第二对象可以同时应用于不同的场景,诸如虚拟场景和现实场景,从而可以满足不同场景对象的运动控制,提升了运动控制方法的普适性。在一种实施方式中,当处于虚拟场景时,第一对象为虚拟相机或虚拟飞行器,第二对象为虚拟对象。诸如,当虚拟场景为游戏场景时,第一对象可以为游戏场景中用于视角观测的虚拟相机,则第二对象为虚拟相机观测视角所对应的被观测对象,例如游戏角色、游戏场景等;或者,第一对象为游戏场景中进行运动的虚拟飞行器,第二对象则相应的为虚拟飞行器围绕飞行的虚拟对象。在另一种实施方式中,当处于现实场景时,第一对象可以为实体飞行器,则相应的第二对象为实体飞行器围绕飞行的实体对象,实体飞行器可以基于三维地图控制飞行轨迹,该三维地图包括第二对象的目标包裹模型,也即三维地图可以通过上述确定目标包裹模型的方式进行确定,此处不再赘述。
59.可以理解的是,第二对象的每个表面可以均可以展示给第一对象,也可以将部分表面展示给第一对象,因此为了提升包裹模型与第二对象的适应性,第二对象对应有至少
一个备选包裹模型,不同的备选包裹模型对第二对象的包围程度不同。诸如,备选包裹模型可以对第二对象进行半包围、全包围等,其中,半包围还可以分为90度包围、180度包围、上半包围、左半包围等等,通过备选包裹模型的不同包围方式,使得第一对象在基于包裹模型约束第一对象进行目标运动时,可以在第二对象的基础上更加具体针对性和普适性,进而可以提升第一对象针对第二对象进行目标运动的准确性。
60.在具体实施时,上述至少一个备选包裹模型与运动类型存在对应关系,该对应关系基于不同运动类型所需的包围程度确定。诸如,可以一个运动类型对应一个备选包裹模型,诸如对于环绕运动,备选包裹模型将第二对象全部包裹即可;也可以一个运动类型对应多个包裹模型,诸如,对于非环绕式的运动,备选包裹模型与第二对象对应的包围程度可以是180度包围以上。在实际应用中,当第二对象与备选包裹模型的包围程度为180度包围以上时,第一对象可以采用平行运动,诸如第一对象为现实场景中的现实无人机,第二对象为无人机飞跃的山脉,则备选包裹模型可以通过对山脉的上表面进行包裹,也即采用向下180度包裹的方式,此时可以控制现实无人机采用平行运动的方式,针对山脉进行运动。因此,通过至少一个备选包裹模型与运动类型存在对应关系,在至少一个备选包裹模型中确定目标运动所属的运动类型所对应的目标包裹模型,从而可以使目标包裹模型与运动类型相对应,提升了第一对象在运动时的准确性。
61.为了保证得到的目标包裹模型可以适应不同形状的第二对象,上述目标包裹模型包围第二对象,也即目标包裹模型可以通过包裹指定部分的第二对象将第二对象包含在包裹模型内;或者,通过包裹完整的第二对象将第二对象包含在包裹模型内。也即,对于不同的场景中的第二对象,可以采用不同的模型包裹方式,为便于理解,可以参见以下两种不同场景的示例:
62.1、在虚拟场景(诸如游戏场景)中,第一对象为游戏场景中的相机(也可以成为镜头),针对目标包裹模型与第二对象的不同关系(也即包裹在模型内和部分包裹在模型内),提供了第二对象的以下两种示例:
63.1)当第二对象为游戏场景中的角色时,此时通过控制镜头的运动,可以对角色的各个角度进行观测,则目标包裹对象可以为采用上述建立目标包裹模型的方式,建立一个与角色的形状相同并经过光滑处理的目标包裹模型,该目标包裹模型将游戏场景中的角色进行全部的包裹。进而可以在接收到控制指令后,通过控制指令中携带的所要观测的方位或角度,控制镜头进行相应位置的运动。
64.进一步,当目标包裹模型是将第二对象(在此示例中为游戏角色)全部包裹时,镜头的运动控制的形式可以为环绕运动。
65.2)当第二对象为游戏场景中的固定建筑时,诸如山脉,则可以通过镜头的运动对山脉的表面进行观测,因此目标包裹模型可以为与山脉表面形状相同,只对山脉的表面进行包裹的模型即可。此时,可以在接收到控制指令后,控制镜头在山脉上方进行相应位置的运动。
66.进一步,当目标包裹模型是将第二对象(在此示例中为山脉)部分包裹时,镜头的运动控制的形式可以为平行运动。
67.2、在现实场景中,第一对象为现实场景中的无人机,针对目标包裹模型与第二对象的不同关系(也即包裹在模型内和部分包裹在模型内),提供了第二对象的以下两种示
例:
68.1)当第二对象为现实场景中的对象(诸如跨海大桥)时,此时通过控制无人机的运动,可以对跨海大桥的各个角度进行观测,则目标包裹对象可以为采用上述建立目标包裹模型的方式,建立一个与跨海大桥的形状相同并经过光滑处理的目标包裹模型,该目标包裹模型将跨海大桥进行全部的包裹。进而可以在接收到控制指令后,通过控制指令中携带的所要观测的方位或角度,控制无人机进行相应位置的环绕运动。
69.2)当第二对象为现实场景中某个小区的楼栋时,此时通过控制无人机的运动,可以对小区楼栋的进行外表面的观测,则目标包裹对象可以与小区楼栋的形状相同并经过光滑处理的目标包裹模型,该目标包裹模型将小区楼栋的外表面进行包裹。当接收到控制指令后,可以通过控制无人机进行小区楼栋相应位置的平行运动进行观测。
70.通过设置上述目标包裹模型和第二对象之间,可以采用全部包裹也可以采用部分包裹的形式,可以针对不同的运动控制方式进行相应的模型建立,能够在建立模型时更加具有针对性,进而再进行运动控制的观测时,更加符合第二对象的观测标准,从而提升了观测的准确性。
71.针对上述不同的场景,控制指令也可以相应的进行适应性的对应,控制指令至少包括滑动控制指令、拖动控制指令或者点击预设控件的控制指令。
72.在一种实施方式中,当处于游戏场景中时,上述控制指令可以包括滑动控制指令指令或拖动控制指令。诸如,当对游戏角色进行任意角度的观测时,可以通过对游戏角色进行滑动操作或拖动操作,进行控制指令的触发,进而根据控制指令控制游戏场景中的镜头进行运动。
73.在另一种实施方式中,当处于显示场景时,上述控制指令诸如可以为点击预设控件进行触发。诸如,当战斗机需要飞越山脉进行侦查时,可以通过触发相应的空间进行控制指令的触发,以便战斗机根据控制指令进行相应的运动。
74.通过上述说明,可以理解的是,目标运动的运动类型可以包括环绕运动和平行运动。在一种实施方式中,可以基于第二对象的位置属性,确定第二对象的至少一个可选运动类型。第二对象的位置属性包括悬空位置和落地位置,诸如在游戏场景中,第二对象的位置可以是类似游戏角色相对于游戏场景的位置,也可以是类似山脉相对于游戏场景的位置。可选运动类型可以为环绕运动,也可以为平行运动,还可以既包括环绕运动又包括平行运动。通过上述方式,可以根据第二对象的位置属性确定第一对象的运动类型,以便于基于至少一个可选运动类型对包围程度的需求,建立第二对象的至少一个包裹模型。由于不同的包围程度对应于不同的运动类型,因此通过运动类型对包围程度的需求建立的包裹模型,可以更加符合真实的第二对象的形态,提升了第一对象针对第二对象进行目标运动的准确性。
75.可以理解的是,第二对象的形状可以为任意形状,诸如规则形状和异形形状,因此,在一种实施方式中,确定可选运动类型对包围程度的需求后,在建立第二对象的至少一个包裹模型时,还可以通过可选运动类型和第二对象的形状确定目标包裹模型。由于综合考虑了第二对象的形状及运动类型对包围程度的需求,因此确定的目标包裹模型可以更加贴合第二对象,从而可以提升第一对象运动控制的准确性。
76.在确定目标包裹模型之后,可以基于第二对象的目标包裹模型,约束第一对象在
进行目标运动时的运动轨迹。为了保证第一对象(诸如镜头)随机运动时防止出现穿模现象,可以采用以下方式约束第一对象在进行目标运动时的运动轨迹。为便于理解,通过以下两个例子进行说明,在实际应用中,还可以根据实际需求进行调整,此处不作具体限定:
77.在一种实施方式中,可以首先基于第一对象的当前位置以及预设步长,在第二对象的目标包裹模型上随机确定下一位置,然后控制第一对象运动到该下一位置。
78.上述预设步长可以是目标包裹模型上两个点之间的距离,也可以为第一对象在指定时长(诸如1s、2s等时长)的运动距离。
79.上述在第二对象的目标包裹上随机确定下一位置,在具体实施时,可以在确定第一对象的当前位置和预设步长后,以第一对象的当前位置为基准,确定出在目标包裹模型上距离当前位置预设步长的多个位置,然后控制第一对象运动到该下一位置。重复执行上述步骤,直至确定终止第一对象进行目标运动。
80.为便于理解,目标包裹模型上距离当前位置预设步长的多个位置可以为以第一对象为基准,在目标包裹模型的不同方向上距离预设步长的位置,也通过在多个位置中随机选择一个位置作为第二对象在进行目标运动时的下一位置。
81.在另一种实施方式中,可以首先在第二对象的目标包裹模型上确定下一位置,然后在第二对象的目标包裹模型上,位于第一对象的当前位置和下一位置之间按照预设步长进行插值,得到控制点集,控制点集包括插值和下一位置,控制第一对象基于控制点集进行运动。通过重复执行上述步骤,直至确定终止第一对象进行目标运动。
82.该方式中确定的下一位置可以是在第二目标包裹模型随机确定的位置,也可以是指定的位置,在实际应用时,可以根据实际需求进行设定。诸如,当第一对象的当前位置和下一位置之间的距离较远时,直接进行运动控制可能会造成第一对象偏航或者发生穿模现象,因此诸如使第一对象通过控制点集中的点进行逐个运动,直至到达下一位置。
83.为便于理解,本实施例提供了针对两种目标运动方式下的运动轨迹的示例,在实际应用中,还可以根据实际需求进行适应性调整,此处不作具体限定。
84.当目标运动为环绕运动时,上述运动轨迹的形式可以参见图2中带箭头的虚线,为便于理解,该运动形式可以类似为卫星环绕行星的运动形式。上述基于第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹时,可以通过确定第二对象的几何中心点、第一对象当前位置以及目标包裹模型进行约束控制。第二对象的几何中心点与第二对象之间存在第一连线,该第一连线会穿过目标包裹模型,因此会得到第一连线与目标包裹模型的第一交点(也即上述确定运动轨迹时位于目标包裹模型上的第一对象的当前位置)。通过第二对象的几何中心点和第一交点可以确定第一直线距离,从而在第一对象进行随机运动时符合以第一直线距离作为约束进行运动,以防止出现穿模现象。可以理解的是,这里的随机运动指的是在采用目标运动的运动形式时,第一对象的下一位置为随机位置的运动。
85.当上述目标运动为平行运动,则运动轨迹可以参见图3中带箭头的虚线所示,也即第一对象(诸如镜头)为沿着图3所示的不规则形状的外轮廓进行移动,为便于理解,该运动形式可以为类似战斗机飞跃山脉的运动形式。此时上述基于第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹时,可以通过确定第二对象的表面点、第一对象当前位置以及目标包裹模型进行约束。第二对象的表面点和第一对象当前位置之间存在第
二连线,目标包裹模型位于表面点和第一对象的第二连线上,并且第二连线与目标包裹模型之间存在第二交点(也即上述确定运动轨迹时位于目标包裹模型上的第一对象的当前位置),根据第二对象的几何中心点和第二交点可以确定第二直线距离,从而可以是第二对象根据确定的多个确定的第二直线距离作为约束运动。
86.可以理解的是,上述第一直线距离和第二直线距离分别为针对环绕运动和平行运动的约束距离,由于目标包裹模型基于第二对象进行确定,当第二对象的形状不规则时,当第一对象在进行运动时,多个约束距离的长度为非固定的。
87.由于上述环绕运动的第一交点为以第二对象的几何中心点为参照确定,平行运动的第二交点通过第二对象的表面点为参照进行确定,可以更加适应于每种运动类型对应的约束距离的确定,使得约束距离的确定更加具有针对性。针对上述环绕运动和平行运动,第一对象和第二对象可以为显示场景中的对象,也可以为虚拟场景中的对象,此处不再赘述。
88.在一种实施方式中,为了提升用户的观测体验,同时提升运动控制的可变性,还可以在实际观测时,根据用户的观测需求调整观测的视野,也即调整第一对象距离第二对象的距离远近。诸如在具体实施时,可以根据用户输入的视野需求确定第二预设系数,视野需求可以通过用户的拖动操作、滑动操作、缩放操作或者点击相应控件的操作进行触发,进而根据视野需求确定第二预设系数,也可以理解为视野缩放系数。并进一步基于第二预设系数和第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹,诸如,可以通过目标包裹模型确定第一对象相对于第二对象进行非恒定距离运动的约束距离,约束距离也即非恒定的上述第一直线距离或第二直线距离,确定方式与上述相同,此处不再赘述。
89.为便于理解,图4示出了一种动态运动距离的运动控制示意图,此时的第一对象为镜头,由于第二对象本身并非总是一个规则的球形,也即此时在进行镜头的运动控制时,上述确定的约束距离为非恒定值。由于预先建立的包裹模型为光滑的模型,因此在镜头的运动控制时,镜头可以根据非固定的r值进行约束距离的相应调整,从而可以针对不规则的被观测对象,可以进行适应的距离的观测,提升了观测的准确性。
90.在实际应用时,当控制无人机按照上述确定的运动轨迹进行运动时,为了防止无人机的运动控制中出现偏航,诸如,在重新调整第二预设系数时,可能会导致无人机偏航甚至撞到障碍物的情况,还可以对运动控制时的运动轨迹进行监测,当检测到运动轨迹距离偏离预设距离阈值时,向第一对象发送预警信号,并控制无人机计算得出航线危险范围并自动避开,从而可以保证无人机可以在已经设置好运动航线的前提下,实时的进行监测,并进行智能的飞行避障。
91.综上所述,通过本实施例提供的前述运动控制方法,可以既能满足虚拟场景的观测控制需求,在防止出现穿模的情况下,提升虚拟场景的观测准确性;也可以满足现实场景的观测、侦查等需求,并可以在现实场景中,在保证准确观测的前提下,提升了观测的安全性,综合的考虑了实际运动控制的观测准确性、观测效果及用户体验。
92.对于前述方法实施例,本发明提供一种运动控制装置,如图5所示,该装置包括:
93.包裹模型确定模块502,用于响应于控制第一对象针对第二对象进行目标运动的控制指令,确定第二对象的目标包裹模型,目标包裹模型包围第二对象,目标包裹模型为预先建立的光滑模型;
94.运动控制模块504,用于基于第二对象的目标包裹模型,约束第一对象在进行目标
运动时的运动轨迹。
95.本发明实施例提供的上述运动控制装置,通过包裹模型确定模块响应于控制第一对象针对第二对象进行目标运动的控制指令,然后通过运动控制模块基于第二对象的目标包裹模型约束第一对象在进行目标运动时的运动轨迹。该装置通过确定的目标包裹模型进行第一对象在进行目标运动时的约束控制,相比于现有技术中直接根据镜头和锚点之间的半径距离确定一个固定的观测距离的方式,能够在第一对象进行目标运动时更加贴合第二对象本身的形状,从而可以更加准确的通过非固定的观测距离对第二对象进行观测,在避免进行穿模现象的同时提升了运动控制的准确性和运动控制效果,进一步提升了对运动对象进行约束控制时的用户体验。
96.在一些实施方式中,上述装置还包括:模型建立模块,模型建立模块用于:基于第二对象的形状,确定与第二对象形状相同的初始包裹模型;基于预先确定的模型光滑算法对初始包裹模型进行光滑处理,得到目标包裹模型;模型光滑算法包括融球运算。
97.在一些实施方式中,上述模型建立模块还用于:计算第二对象的几何中心点与第二对象的每个第一表面之间的第一距离;基于第一距离和第一预设系数确定初始包裹模型。
98.在一些实施方式中,上述模型建立模块还用于:基于第一距离和第一预设系数确定第二距离;基于第二距离确定初始包裹模型的第二表面。
99.在一些实施方式中,第一对象为虚拟对象,第二对象为虚拟对象的第一观测物;或者,第一对象为实体对象,第二对象为实体对象的第二观测物。
100.在一些实施方式中,目标包裹模型为通过包裹指定部分的第二对象将第二对象包含在包裹模型内;或者,通过包裹完整的第二对象将第二对象包含在包裹模型内。
101.在一些实施方式中,控制指令至少包括滑动控制指令、拖动控制指令或者点击预设控件的控制指令。
102.在一些实施方式中,上述运动控制模块504,还用于:基于第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹,包括:重复执行如下步骤,直至确定终止第一对象进行目标运动:基于第一对象的当前位置以及预设步长,在第二对象的目标包裹模型上随机确定下一位置;控制第一对象运动到下一位置。
103.在一些实施方式中,上述运动控制模块504,还用于:基于第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹,包括:重复执行如下步骤,直至确定终止第一对象进行目标运动:在第二对象的目标包裹模型上确定下一位置;在第二对象的目标包裹模型上,位于第一对象的当前位置和下一位置之间按照预设步长进行插值,得到控制点集,控制点集包括插值和下一位置;控制第一对象基于控制点集进行运动。
104.在一些实施方式中,上述运动控制模块504,还用于:根据用户输入的视野需求确定第二预设系数;基于第二预设系数和第二对象的目标包裹模型,约束第一对象在进行目标运动时的运动轨迹。
105.在一些实施方式中,上述装置还包括:监测预警模块;监测预警模块用于:对运动轨迹进行监测;当检测到运动轨迹距离偏离预设距离阈值时,向第一对象发送预警信号。
106.本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
107.参见图6所示的一种电子设备的结构示意图,该电子设备100包括存储器60和处理器61;其中,存储器60即为机器可读存储介质,用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述运动控制方法的步骤。诸如移动终端、穿戴式设备以及其它专有的游戏设备和服务器均可参照如图6所示的电子设备实现,或者具有相比于图6所示的电子设备更多或更少的部件,在此不进行限制。
108.进一步,图6所示的电子设备还包括总线62和通信接口63,处理器61、通信接口63和存储器60通过总线62连接。
109.其中,存储器60可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non

volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线62可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
110.处理器61可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器61中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器61可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field

programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施方式中的发明的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施方式所发明的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器60,处理器61读取存储器60中的信息,结合其硬件完成前述实施方式的方法的步骤。
111.进一步,本实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机可执行指令,计算机可执行指令被处理器运行时执行前述任一项的运动控制方法的步骤。
112.本发明实施例所提供的运动控制方法、装置、电子设备和机器可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
113.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
114.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
115.此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
116.在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
117.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1