1.一种虚拟现实中腰带跟随玩家的移动方法,其特征在于,所述方法包括:获取所述玩家的头部当前旋转的向前向量,根据所述当前向量与水平面的法向量获取到当前玩家低头的插值,获取所述腰带往后移的最大距离,将所述插值与所述最大距离进行乘积运算,得到所述腰带需要往后移的第一距离;
获取当前玩家头朝向在水平面上投影向量,将所述投影向量转化为单位向量,将所述单位向量乘以所述第一距离,得到所述第一距离的位移向量,获取所述玩家的头部的当前位置的坐标,将所述当前位置的坐标减去所述位移向量,得到所述腰带即将移动到的第二距离的坐标;
获取所述腰带当前的第一位置坐标,将所述第二距离的坐标减去所述第一位置坐标得到距离差,获取腰带位移移动速度系数,根据所述腰带位移移动速度系数与所述距离差得到所述腰带的当前速度,其中,腰带的位移速度与腰带和玩家当前的距离有关,所述当前速度可根据实际需求进行调整;
获取上一帧的时间,将所述当前速度与所述上一帧时间进行相乘,得到第三距离,获取所述腰带当前帧的位移坐标,将所述当前帧的位移坐标与所述第三距离进行累加,得到所述当前的腰带的更新位置,所述腰带基于所述更新位置进行移动。
2.根据权利要求1所述的方法,其特征在于,根据所述当前向量与水平面的法向量获取到当前玩家低头的插值,包括:将所述当前向量与水平面的法向量进行点积,根据所述点积得到夹角;
将90度减去所述夹角的度数,得到差值,将所述差值再除以90度,得到所述当前玩家低头的插值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述夹角的度数大于90度时,将所述夹角的度数设置为90度。
4.根据权利要求1所述的方法,其特征在于,所述根据所述腰带位移移动速度系数与所述距离差得到所述腰带的当前速度,包括:计算所述距离差的平方值,将所述平方值与所述所述腰带位移移动速度系数进行相乘,得到当前帧腰带的速度,根据所述当前帧腰带的速度得到所述腰带的当前速度。
5.根据权利要求4所述的方法,其特征在于,所述根据所述当前帧腰带的速度得到所述腰带的当前速度,包括:获取所述腰带的最小速度;
将所述最小速度与所述当前帧腰带的速度进行比较,将所述最小速度与所述当前帧腰带的速度中的最大速度作为所述腰带的当前速度。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述腰带的第一旋转和所述玩家的第二旋转,获取所述第一旋转和所述第二旋转的角度差;
获取腰带位移移动旋转系数,将所述角度差与所述腰带位移移动旋转系数的乘积,得到所述腰带的旋转速度;
通过上一帧的时间,将所述上一帧的时间乘以所述腰带的旋转速度,得到所述腰带的旋转值;
获取所述腰带的当前旋转,将所述当前旋转加上所述腰带的旋转值,得到所述腰带的更新旋转,所述腰带根据所述更新旋转在移动中进行旋转。
7.根据权利要求6所述的方法,其特征在于,所述将所述角度差与所述腰带位移移动旋转系数的乘积,得到所述腰带的旋转速度,包括:将所述角度差与所述腰带位移移动旋转系数的乘积,得到乘积值;
获取所述腰带最小旋转速度;
获取所述乘积值与所述腰带最小旋转速度中的最大值,将所述最大值作为所述腰带的旋转速度。
8.一种虚拟现实中腰带跟随玩家的移动装置,其特征在于,所述装置包括:第一获取模块,用于获取所述玩家的头部当前旋转的向前向量,根据所述当前向量与水平面的法向量获取到当前玩家低头的插值,获取所述腰带往后移的最大距离,将所述插值与所述最大距离进行乘积运算,得到所述腰带需要往后移的第一距离;
第二获取模块,用于获取当前玩家头朝向在水平面上投影向量,将所述投影向量转化为单位向量,将所述单位向量乘以所述第一距离,得到所述第一距离的位移向量,获取所述玩家的头部的当前位置的坐标,将所述当前位置的坐标减去所述位移向量,得到所述腰带即将移动到的第二距离的坐标;
第三获取模块,用于获取所述腰带当前的第一位置坐标,将所述第二距离的坐标减去所述第一位置坐标得到距离差,获取腰带位移移动速度系数,根据所述腰带位移移动速度系数与所述距离差得到所述腰带的当前速度;
第四获取模块,用于获取上一帧的时间,将所述当前速度与所述上一帧时间进行相乘,得到第三距离,获取所述腰带当前帧的位移坐标,将所述当前帧的位移坐标与所述第三距离进行累加,得到所述当前的腰带的更新位置,所述腰带基于所述更新位置进行移动。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的应用程序,其特征在于,所述处理器执行所述应用程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有应用程序,其特征在于,所述应用程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。