欢迎光临小豌豆知识网!
当前位置:首页 > 生活技术 > 运动娱乐> 一种可视化轨迹插件制作的方法及其装置独创技术17562字

一种可视化轨迹插件制作的方法及其装置

2021-02-01 16:33:06

一种可视化轨迹插件制作的方法及其装置

  技术领域

  本发明涉及游戏设计技术领域,特别是一种可视化轨迹插件制作的方法及其装置。

  背景技术

  在游戏开发过程中,经常会对某些物体的运动轨迹进行设计制作。类似Laya这种游戏引擎,由于没有视图编辑界面,无法对目标物体进行可视化样条线编辑。

  现有的运动轨迹的设计一种方法是由程序编程制作,但该方法的局限性很强,不能很好的模拟出特定的物理效果和美术设计人员想要非线性动画效果;

  另一种方法则是由美术同学在游戏引擎之外的软件进行制作(如3DMax软件,Maya软件等),该方法从效果表现上来说,可完全由美术同学进行质量的把关,但相关制作软件不具有跨平台性,在不同的游戏场景中,还原的效果具有不可控性。给游戏制作过程带来巨大的不确定性,且效果需要反复调试,导致相关制作周期长,制作成本高。

  发明内容

  为克服上述问题,本发明的目的是提供一种可视化轨迹插件制作的方法,最大可能的还原游戏真实场景,制作周期短。

  本发明采用以下方案实现:一种可视化轨迹插件制作的方法,所述方法包括如下步骤:

  步骤S1、导入原场景模型,在原场景模型需要编辑的位置放入一可编辑的轨迹;

  步骤S2、对轨迹进行编辑设计;该步骤S2具体为:

  步骤S21、对轨迹进行路线编辑即直接拖动轨迹路线上的点;

  步骤S22、对轨迹进行编辑S-T图,使轨迹达到缓动效果;

  步骤S23、在线预览轨迹路径及运动效果;

  步骤S3:效果确定后,导出为Json文件形成轨迹插件;

  步骤S4:在需要使用该轨迹的项目中,进行解析Json文件,即可将轨迹插件运用到该项目中。

  进一步的,所述步骤S21进一步具体为:所述轨迹采用三阶贝塞尔曲线作为数学模型,三阶贝塞尔曲线公式为:B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1](1),其中B(t)为三阶贝塞尔曲线,P0,P1,P2,P3分别为轨迹上4个点坐标,t为比例系数;算出三阶贝塞尔曲线上任意一点的位置,再对轨迹路线上的点位置进行编辑。

  进一步的,所述步骤S22进一步具体为:为了让物体在整个轨迹上运动时的快慢可控,引入S-T图,该S-T图也是采用贝塞尔曲线,该贝塞尔曲线公式为:

  

  其中S(t)为贝塞尔曲线,P0,P1,P2...Pi...Pn分别为轨迹上点坐标,t为比例系数;S-T图纵坐标为位移变化量s,s∈[0,1],横坐标为比例系数t(0~1),该比例系数在运动开始后,随着游戏时间进行而增加,使轨迹达到缓动效果。

  进一步的,所述步骤S3进一步具体为:效果确定后,将轨迹关键信息全部导出到一个Json文件形成轨迹插件,所述轨迹关键信息包括:轨迹上的各点P0,P1,P2...Pn坐标信息,S-T图曲线信息,以及轨迹运动总时长。

  进一步的,所述步骤S4中进行解析Json文件具体为:对轨迹进行分段定位,轨迹分段后,能确定任意一分段中任意轨迹点位置和朝向,从而将轨迹插件运用到该项目中;所述对轨迹进行分段定位具体为:得到整段轨迹的比例系数t后,进行轨迹分段定位计算,具体计算公式

  其中Cs为轨迹总段数,ta为以多段曲线为基础的段数比例系数,i为ta向上取整的值,t0则为在该分段轨迹上的位置比例系数,i0则为该分段轨迹的第一个点的索引;这样通过整段轨迹的比例系数,来定位到轨迹上的点具体为哪一分段轨迹的位置。

  进一步的,所述确定任意一分段中任意轨迹点的朝向,具体为:对公式(1)进行求导,结果如公式(3),

  B'(t)=3(1-t)2(P1-P0)+6t(1-t)(P2-P1)+3t2(P3-P2)(3);便能得出贝塞尔曲线在任意一点的朝前向量,至此,一个跟随该轨迹运动的物体,就有了任意时刻的位置以及朝前向量。

  本发明还提供了一种可视化轨迹插件制作的装置,所述装置包括导入模块、编辑设计模块、轨迹插件形成模块、以及插件运用模块;

  所述导入模块,用于导入原场景模型,在原场景模型需要编辑的位置放入一可编辑的轨迹;

  所述编辑设计模块,用于对轨迹进行编辑设计;所述编辑设计模块具体包括路线编辑单元、缓动效果处理单元、以及预览单元;

  所述路线编辑单元,用于对轨迹进行路线编辑即直接拖动轨迹路线上的点;

  所述缓动效果处理单元,用于对轨迹进行编辑S-T图,使轨迹达到缓动效果;

  所述预览单元,用于在线预览轨迹路径及运动效果;

  所述轨迹插件形成模块,用于效果确定后,导出为Json文件形成轨迹插件;

  所述插件运用模块,用于在需要使用该轨迹的项目中,进行解析Json文件,即可将轨迹插件运用到该项目中。

  进一步的,所述路线编辑单元进一步具体为:所述轨迹采用三阶贝塞尔曲线作为数学模型,三阶贝塞尔曲线公式为:B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1](1),其中B(t)为三阶贝塞尔曲线,P0,P1,P2,P3分别为轨迹上4个点坐标,t为比例系数;算出三阶贝塞尔曲线上任意一点的位置,再对轨迹路线上的点位置进行编辑。

  进一步的,所述缓动效果处理单元进一步具体为:为了让物体在整个轨迹上运动时的快慢可控,引入S-T图,该S-T图也是采用贝塞尔曲线,该贝塞尔曲线公式为:

  

  其中S(t)为贝塞尔曲线,P0,P1,P2...Pi...Pn分别为轨迹上点坐标,t为比例系数;S-T图纵坐标为位移变化量s,s∈[0,1],横坐标为比例系数t(0~1),该比例系数在运动开始后,随着游戏时间进行而增加,使轨迹达到缓动效果。

  进一步的,所述轨迹插件形成模块进一步具体为:效果确定后,将轨迹关键信息全部导出到一个Json文件形成轨迹插件,所述轨迹关键信息包括:轨迹上的各点P0,P1,P2...Pn坐标信息,S-T图曲线信息,以及轨迹运动总时长。

  进一步的,所述插件运用模块中进行解析Json文件具体为:对轨迹进行分段定位,轨迹分段后,能确定任意一分段中任意轨迹点位置和朝向,从而将轨迹插件运用到该项目中;所述对轨迹进行分段定位具体为:得到整段轨迹的比例系数t后,进行轨迹分段定位计算,具体计算公式

  其中Cs为轨迹总段数,ta为以多段曲线为基础的段数比例系数,i为ta向上取整的值,t0则为在该分段轨迹上的位置比例系数,i0则为该分段轨迹的第一个点的索引;这样通过整段轨迹的比例系数,来定位到轨迹上的点具体为哪一分段轨迹的位置。

  进一步的,所述确定任意一分段中任意轨迹点的朝向,具体为:对公式(1)进行求导,结果如公式(3),

  B'(t)=3(1-t)2(P1-P0)+6t(1-t)(P2-P1)+3t2(P3-P2)(3);便能得出贝塞尔曲线在任意一点的朝前向量,至此,一个跟随该轨迹运动的物体,就有了任意时刻的位置以及朝前向量。

  本发明的有益效果在于:美术设计人员可以可视化地在相关游戏引擎中进行运动轨迹制作,导出成Json数据文件后,拓展运用于其他任何引擎,而现有的技术尤其类似Laya这种游戏引擎,没有一个可视化的编辑界面,必须运行起来才能对效果进行判断,开发成本高,且也会导致在画面上的质量把控尤为困难。使用本发明的方法进行轨迹的制作,可保证所见即所得,并且无论运用于什么引擎,只要解析Json数据文件,都能进行轨迹的使用,最大的还原游戏真实场景,这样输出的数据才会保证准确性、可用性。

  附图说明

  图1是本发明轨迹制作的流程示意图。

  图2是本发明的方法流程示意图。

  图3是本发明的轨迹分段示意图。

  图4是本发明的S-T关系图。

  图5是本发明的S-T设置图A。

  图6是本发明的S-T设置图B。

  图7是本发明的轨迹路线编辑示意图。

  图8是本发明的装置的原理框图。

  具体实施方式

  下面结合附图对本发明做进一步说明。

  请参阅图1和图2所示,本发明的一种可视化轨迹插件制作的方法,所述方法包括如下步骤:

  步骤S1、导入原场景模型,在原场景模型需要编辑的位置放入一可编辑的轨迹;

  步骤S2、对轨迹进行编辑设计;该步骤S2具体为:

  步骤S21、对轨迹进行路线编辑即直接拖动轨迹路线上的点(如图7所示);

  步骤S22、对轨迹进行编辑S-T图,使轨迹达到缓动效果;

  步骤S23、在线预览轨迹路径及运动效果;效果不好则重复步骤S21;

  步骤S3:效果确定后,导出为Json文件形成轨迹插件;

  步骤S4:在需要使用该轨迹的项目中,进行解析Json文件,即可将轨迹插件运用到该项目中。

  下面结合一具体实施例对本发明作进一步说明:

  步骤S1、导入原场景模型,在原场景模型需要编辑的位置放入一可编辑的轨迹;

  步骤S2、对轨迹进行编辑设计;该步骤S2具体为:

  步骤S21、对轨迹进行路线编辑即直接拖动轨迹路线上的点;

  所述步骤S21进一步具体为:所述轨迹采用三阶贝塞尔曲线作为数学模型,三阶贝塞尔曲线公式为:B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1](1),其中B(t)为三阶贝塞尔曲线,P0,P1,P2,P3分别为轨迹上4个点坐标,t为比例系数;算出三阶贝塞尔曲线上任意一点的位置,再对轨迹路线上的点位置进行编辑。

  步骤S22、对轨迹进行编辑S-T图,使轨迹达到缓动效果;

  所述步骤S22进一步具体为:为了让物体在整个轨迹上运动时的快慢可控,引入S-T图,该S-T图也是采用贝塞尔曲线,该贝塞尔曲线公式为:

  

  其中S(t)为贝塞尔曲线,P0,P1,P2...Pi...Pn分别为轨迹上点坐标,t为比例系数;S-T图纵坐标为位移变化量s,s∈[0,1],横坐标为比例系数t(0~1),该比例系数在运动开始后,随着游戏时间进行而增加,使轨迹达到缓动效果。参阅图4所示,该图4可直观的展示并设计一个物体在轨迹中的运动过程,在t=0.2时(A点)运动到轨迹正中,并在t=1时(B点)运动到轨迹终点。缓动关系则通过曲线的设置进行把控,如图5和图6所示;图5表示当t=0.3时,物体运动到整段轨迹的s=0.8处,并在剩下的0.7时间内运动完0.2的路程,即先快后慢的运动节奏;图6表示当t=0.8时,物体运动到整段轨迹的s=0.3处,并在剩下的0.2时间内运动完0.7的路程,即先慢后快的运动节奏;缓动效果即平稳或者疾速的效果,可以调节曲线慢停、快停、快入、慢入等,缓动效果是一种流行的表现手法,可以让界面显得更加生动和真实。

  步骤S23、在线预览轨迹路径及运动效果;效果不好则重复步骤S21;

  步骤S3:效果确定后,导出为Json文件形成轨迹插件;

  所述步骤S3进一步具体为:效果确定后,将轨迹关键信息全部导出到一个Json文件形成轨迹插件,所述轨迹关键信息包括:轨迹上的各点P0,P1,P2...Pn坐标信息,S-T图曲线信息,以及轨迹运动总时长(该值可在编辑曲线时进行手动设置)。

  步骤S4:在需要使用该轨迹的项目中,进行解析Json文件,即可将轨迹插件运用到该项目中。

  所述步骤S4中进行解析Json文件具体为:对轨迹进行分段定位,如图3所示,轨迹分段后,能确定任意一分段中任意轨迹点位置和朝向,从而将轨迹插件运用到该项目中;所述对轨迹进行分段定位具体为:得到整段轨迹的比例系数t后,进行轨迹分段定位计算,具体计算公式

  其中Cs为轨迹总段数,ta为以多段曲线为基础的段数比例系数,i为ta向上取整的值,t0则为在该分段轨迹上的位置比例系数(即当ta为1.5时,i可求得为1,t0可求得为0.5,表示该点在第1段轨迹的0.5处位置),i0则为该分段轨迹的第一个点的索引(即当i0为3时,可知道是当前是在由P3P4P5P6组成的三阶贝塞尔曲线上);这样通过整段轨迹的比例系数,来定位到轨迹上的点具体为哪一分段轨迹的位置。

  进一步的,所述确定任意一分段中任意轨迹点的朝向,具体为:对公式(1)进行求导,结果如公式(3),

  B'(t)=3(1-t)2(P1-P0)+6t(1-t)(P2-P1)+3t2(P3-P2)(3);便能得出贝塞尔曲线在任意一点的朝前向量,至此,一个跟随该轨迹运动的物体,就有了任意时刻的位置以及朝前向量,在游戏过程中,只要帧更新按该轨迹运动的物体,设置其位置、其朝前向量(forward)即可。

  若希望在任意引擎中使用该段轨迹运动,则可在游戏逻辑中根据步骤S4进行相对应的解析计算即可,并且,该运动轨迹还可以根据父节点位置的不同,展示在游戏的各个位置。

  如图8所示,本发明还提供了一种可视化轨迹插件制作的装置,所述装置包括导入模块、编辑设计模块、轨迹插件形成模块、以及插件运用模块;

  所述导入模块,用于导入原场景模型,在原场景模型需要编辑的位置放入一可编辑的轨迹;

  所述编辑设计模块,用于对轨迹进行编辑设计;所述编辑设计模块具体包括路线编辑单元、缓动效果处理单元、以及预览单元;

  所述路线编辑单元,用于对轨迹进行路线编辑即直接拖动轨迹路线上的点;

  所述缓动效果处理单元,用于对轨迹进行编辑S-T图,使轨迹达到缓动效果;

  所述预览单元,用于在线预览轨迹路径及运动效果;

  所述轨迹插件形成模块,用于效果确定后,导出为Json文件形成轨迹插件;

  所述插件运用模块,用于在需要使用该轨迹的项目中,进行解析Json文件,即可将轨迹插件运用到该项目中。

  其中,所述路线编辑单元进一步具体为:所述轨迹采用三阶贝塞尔曲线作为数学模型,三阶贝塞尔曲线公式为:B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1](1),其中B(t)为三阶贝塞尔曲线,P0,P1,P2,P3分别为轨迹上4个点坐标,t为比例系数;算出三阶贝塞尔曲线上任意一点的位置,再对轨迹路线上的点位置进行编辑。

  进一步的,所述缓动效果处理单元进一步具体为:为了让物体在整个轨迹上运动时的快慢可控,引入S-T图,该S-T图也是采用贝塞尔曲线,该贝塞尔曲线公式为:

  

  其中S(t)为贝塞尔曲线,P0,P1,P2...Pi...Pn分别为轨迹上点坐标,t为比例系数;S-T图纵坐标为位移变化量s,s∈[0,1],横坐标为比例系数t(0~1),该比例系数在运动开始后,随着游戏时间进行而增加,使轨迹达到缓动效果。

  所述轨迹插件形成模块进一步具体为:效果确定后,将轨迹关键信息全部导出到一个Json文件形成轨迹插件,所述轨迹关键信息包括:轨迹上的各点P0,P1,P2...Pn坐标信息,S-T图曲线信息,以及轨迹运动总时长。

  所述插件运用模块中进行解析Json文件具体为:对轨迹进行分段定位,轨迹分段后,能确定任意一分段中任意轨迹点位置和朝向,从而将轨迹插件运用到该项目中;所述对轨迹进行分段定位具体为:得到整段轨迹的比例系数t后,进行轨迹分段定位计算,具体计算公式

  其中Cs为轨迹总段数,ta为以多段曲线为基础的段数比例系数,i为ta向上取整的值,t0则为在该分段轨迹上的位置比例系数,i0则为该分段轨迹的第一个点的索引;这样通过整段轨迹的比例系数,来定位到轨迹上的点具体为哪一分段轨迹的位置。

  另外,所述确定任意一分段中任意轨迹点的朝向,具体为:对公式(1)进行求导,结果如公式(3),

  B'(t)=3(1-t)2(P1-P0)+6t(1-t)(P2-P1)+3t2(P3-P2)(3);便能得出贝塞尔曲线在任意一点的朝前向量,至此,一个跟随该轨迹运动的物体,就有了任意时刻的位置以及朝前向量。

  总之,本发明设计或制作人员在进行物体路线规划时,要最大可能的还原游戏真实场景,这样输出的数据才会保证准确性、可用性。由于Unity引擎对插件制作的支持较为完善,所以选用Unity引擎进行插件的制作。

  以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

《一种可视化轨迹插件制作的方法及其装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)