本申请适用于图像处理,尤其涉及一种用于数字角色的肢体碰撞检测方法、装置、设备及介质。
背景技术:
1、在使用前向运动学设计虚拟角色动作时,为了避免姿态设计不合理而导致角色肢体之间的交叉穿模,需要对骨骼模板进行空间体积化处理以便检测交叉碰撞。一般来说,使用切面为圆、方形、椭圆等标准形状的柱体结构来模拟肢体是比较常见的做法,因为它们有确定的参数方程。然而,在实际使用时,可能会存在非柱体结构来模拟肢体,对应的参数方程未知,这就导致采用参数方城进行碰撞、穿模检测方式无法有效使用。
2、因此,如何对参数方程未知的结构模拟的肢体进行碰撞检测,以准确地避免肢体穿模情况的发生成为亟待解决的问题。
技术实现思路
1、有鉴于此,本申请实施例提供了一种用于数字角色的肢体碰撞检测方法、装置、设备及介质,以解决如何对参数方程未知的结构模拟的肢体进行碰撞检测,以准确地避免肢体穿模情况的发生的问题。
2、第一方面,本申请实施例提供一种用于数字角色的肢体碰撞检测方法,所述肢体碰撞检测方法包括:
3、以任意方向在待检测的第一角色的第一肢体上做切面,得到目标切面;
4、将待检测的第二角色的第二肢体上的首端切面和末端切面上分别选择一个边缘点相连,得到采样线段;
5、检测所述采样线段是否与所述目标切面是否交叉;
6、若检测到所述采样线段与所述目标切面交叉,则确定所述第一角色的第一肢体与所述第二角色的第二肢体存在肢体碰撞。
7、第二方面,本申请实施例提供一种用于数字角色的肢体碰撞检测装置,所述肢体碰撞检测装置包括:
8、切面获取模块,用于以任意方向在待检测的第一角色的第一肢体上做切面,得到目标切面;
9、线段获取模块,用于将待检测的第二角色的第二肢体上的首端切面和末端切面上分别选择一个边缘点相连,得到采样线段;
10、交叉检测模块,用于检测所述采样线段是否与所述目标切面是否交叉;
11、碰撞判定模块,用于若检测到所述采样线段与所述目标切面交叉,则确定所述第一角色的第一肢体与所述第二角色的第二肢体存在肢体碰撞。
12、第三方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的肢体碰撞检测方法。
13、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的肢体碰撞检测方法。
14、本申请实施例与现有技术相比存在的有益效果是:本申请以任意方向在待检测的第一角色的第一肢体上做切面,得到目标切面,将待检测的第二角色的第二肢体上的首端切面和末端切面上分别选择一个边缘点相连,得到采样线段,检测所述采样线段是否与所述目标切面是否交叉,若检测到所述采样线段与所述目标切面交叉,则确定所述第一角色的第一肢体与所述第二角色的第二肢体存在肢体碰撞,直接将切面位置与线段进行比对,实现碰撞的检测,无需获取肢体的参数方程,有助于提高碰撞检测准确性,避免穿模现象的发生,本申请可以支持任意切面为凸形的结构体,提高了适用性。
1.一种用于数字角色的肢体碰撞检测方法,其特征在于,所述肢体碰撞检测方法包括:
2.根据权利要求1所述的肢体碰撞检测方法,其特征在于,在所述以任意方向在待检测的第一角色的第一肢体上做切面,得到目标切面之后,还包括:
3.根据权利要求2所述的肢体碰撞检测方法,其特征在于,所述根据所述采样线段中每个线采样点的坐标和所述边缘采样点集中每个面采样点的坐标,判断是否存在交叉点,包括:
4.根据权利要求3所述的肢体碰撞检测方法,其特征在于,所述根据所述单位法向量、所述第一向量和所述第二向量,判断所述采样线段与所述目标切面所在平面是否接触,包括:
5.根据权利要求4所述的肢体碰撞检测方法,其特征在于,所述确定接触点的坐标,包括:
6.根据权利要求3所述的肢体碰撞检测方法,其特征在于,所述检测所述接触点是否落在所有面采样点包围的所述目标切面中,包括:
7.根据权利要求6所述的肢体碰撞检测方法,其特征在于,在所述检测所述向量集的向量展开角度是否大于或者等于180°之前,还包括:
8.一种用于数字角色的肢体碰撞检测装置,其特征在于,所述肢体碰撞检测装置包括:
9.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的肢体碰撞检测方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的肢体碰撞检测方法。