System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及动作状态机动作管理,特别是一种基于动作状态机的动作无缝过渡方法及系统。
技术介绍
1、当前对游戏的品质要求越来越高,市面上的游戏很多开始使用无缝动作系统增强动作表现,比如motionmatching技术的出现很大层度提高了动作表现效果,但是motionmatching技术也存在性能消耗比较大,对移动端支持不理想等限制;于是很多游戏使用原有引擎的状态机动作系统来做无缝动作系统,比如使用unity的animator切换不同的动作并且做过渡融合、左右脚衔接、融合树等达到无缝动作衔接效果;在从一个动作过渡到另一个动作时,经常性会出现因为两个动作差别比较大融合时效果不佳,或者有些是程序控制角色转向、击飞等等,如何优化动作过渡时的效果对动作整体表现提升至关重要。
技术实现思路
1、本专利技术的目的在于提供一种基于动作状态机的动作无缝过渡方法,能够使用动作状态机提高在动作切换时的过渡表现效果。
2、为实现上述目的,本专利技术提供如下技术方案:一种基于动作状态机的动作无缝过渡方法,所述方法包括以下步骤:
3、步骤s1、角色起步时,通过动作状态机将八相位起步动作融合出所有角度的角色起步转身动作;
4、步骤s2、角色起步后角色移动时,通过动作状态机融合不同速度的角色移动动作;
5、步骤s3、角色在移动过程中需要转身,则通过动作状态机将多个不同的边转身边移动动作融合出所有角度的角色移动转身动作;
6、步骤s4、在角色移动过程中需要
7、步骤s5、在遇到事件中断移动过程时,判断当前动作帧是迈开左脚还是右脚以及脚离地高度,根据遇到事件时左脚或者右脚离地高度,融合出收脚的动作,收步动作播放完成,然后切换到响应事件的动作;
8、步骤s6、被击时,根据顿帧和播放指定某一帧动作做角色振动表现效果;步骤s7、被击死亡时,使用布娃娃系统做击飞,根据外界力度表现不同动作效果。
9、进一步的,所述步骤s1进一步具体为:通过动作状态机在角色待机状态下将往八个方向移动的动作做融合,并且根据动作对角色旋转的角度设置这八个动作的权重;所述八个方向分别为角色移动初始朝向角度、角色移动初始朝向的左45°、角色移动初始朝向的左90°、角色移动初始朝向的左135°、角色移动初始朝向的左180°、角色移动初始朝向的右45°、角色移动初始朝向的右90°、角色移动初始朝向的右135°、角色移动初始朝向的右180°。
10、进一步的,所述步骤s2进一步具体为:角色移动时,通过动作状态机融合走路到最大速度跑步动作,根据角色或在场景的实际位移速度融合出对应的前进动作。
11、进一步的,所述步骤s3进一步具体为:通过动作状态机在走路或者跑步过程中转身将多个不同的边转身边移动动作做融合,并且根据动作对角色旋转的角度设置这多个动作的权重;所述步骤s3中多个不同的边转身边移动动作的角度分别为角色移动不转身初始朝向角度、角色移动转身向左180°、角色移动转身向右180°。
12、进一步的,所述步骤s5中的事件包括在移动过程中如果遇到障碍物且剩余距离小于步幅的事件与响应外部动作改变的事件。
13、进一步的,所述步骤s5中的判断当前动作帧是迈开左脚还是右脚以及脚离地高度是通过把移动的脚动作运动情况预先写入移动动作的curves曲线中,根据左右脚的脚底骨骼的y的差值写入到curves曲线中,然后角色在播放走路或者跑步时读取该curves曲线进行判断,其中y的差值代表左脚掌骨骼的世界坐标y值减去右脚掌骨骼世界坐标y值的差值,角色移动时差值大于0,就代表当前是左脚在前,差值就是左脚掌高度,角色移动时差值小于0,就代表右脚在前,差值就是右脚掌高度。
14、本专利技术还提供了一种基于动作状态机的动作无缝过渡系统,所述系统包括:起步转身模块、角色移动模块、移动转身模块、肢体接触模块、事件中断模块、被击模块、被击死亡模块;所述起步转身模块负责角色起步时,通过动作状态机将八相位起步动作融合出所有角度的角色起步转身动作;所述角色移动模块负责角色起步后角色移动时,通过动作状态机融合不同速度的角色移动动作;所述移动转身模块负责角色在移动过程中需要转身,则通过动作状态机将多个不同的边转身边移动动作融合出所有角度的角色移动转身动作;所述事件中断模块负责在遇到事件中断移动过程时,判断当前动作帧是迈开左脚还是右脚以及脚离地高度,根据遇到事件时左脚或者右脚离地高度,融合出收脚的动作,收步动作播放完成,然后切换到响应事件的动作;所述被击模块负责被击时,根据顿帧和播放指定某一帧动作做角色振动表现效果;所述肢体接触模块负责在角色移动过程中需要肢体贴地和抓取时,使用ik动画工具做表现效果;所述被击死亡模块负责被击死亡时,使用布娃娃系统做击飞,根据外界力度表现不同动作效果。
15、进一步的,所述起步转身模块进一步具体为:通过动作状态机在角色待机状态下将往八个方向移动的动作做融合,并且根据动作对角色旋转的角度设置这八个动作的权重;所述八个方向分别为角色移动初始朝向角度、角色移动初始朝向的左45°、角色移动初始朝向的左90°、角色移动初始朝向的左135°、角色移动初始朝向的左180°、角色移动初始朝向的右45°、角色移动初始朝向的右90°、角色移动初始朝向的右135°、角色移动初始朝向的右180°。
16、进一步的,所述角色移动模块进一步具体为:角色移动时,通过动作状态机融合走路到最大速度跑步动作,根据角色在场景的实际位移速度融合出对应的前进动作。
17、进一步的,所述移动转身模块进一步具体为:通过动作状态机在走路或者跑步过程中转身将多个不同的边转身边移动动作做融合,并且根据动作对角色旋转的角度设置这多个动作的权重;所述步骤s3中多个不同的边转身边移动动作的角度分别为角色移动不转身初始朝向角度、角色移动转身向左180°、角色移动转身向右180°。
18、进一步的,所述事件中断模块中的事件包括在移动过程中如果遇到障碍物且剩余距离小于步幅的事件与响应外部动作改变的事件。
19、进一步的,所述事件中断模块中的判断当前动作帧是迈开左脚还是右脚以及脚离地高度是通过把移动的脚动作运动情况预先写入移动动作的curves曲线中,根据左右脚的脚底骨骼的y的差值写入到curves曲线中,然后角色在播放走路或者跑步时读取该curves曲线进行判断,其中y的差值代表左脚掌骨骼的世界坐标y值减去右脚掌骨骼世界坐标y值的差值,角色移动时差值大于0,就代表当前是左脚在前,差值就是左脚掌高度,角色移动时差值小于0,就代表右脚在前,差值就是右脚掌高度。
20、本专利技术的有益效果:本专利技术通过八相位起步转身动作融合出所有角度的起步转身动作,起步转身之后通过融合走路到最大速度跑步动作,根据角色或者怪物在场景的实际位移速度融合出对应的前进动作,之后通过在走路或者跑步过程中如果需要转身也是使用向左和向右各转180°本文档来自技高网...
【技术保护点】
1.一种基于动作状态机的动作无缝过渡方法,其特征在于:所述方法包括以下步骤:
2.根据权利要求1所述的一种基于动作状态机的动作无缝过渡方法,其特征在于:所述步骤S1进一步具体为:通过动作状态机在角色待机状态下将往八个方向移动的动作做融合,并且根据动作对角色旋转的角度设置这八个动作的权重;所述八个方向分别为角色移动初始朝向角度、角色移动初始朝向的左45°、角色移动初始朝向的左90°、角色移动初始朝向的左135°、角色移动初始朝向的左180°、角色移动初始朝向的右45°、角色移动初始朝向的右90°、角色移动初始朝向的右135°、角色移动初始朝向的右180°。
3.根据权利要求1所述的一种基于动作状态机的动作无缝过渡方法,其特征在于:所述步骤S2进一步具体为:角色移动时,通过动作状态机融合走路到最大速度跑步动作,根据角色或在场景的实际位移速度融合出对应的前进动作。
4.根据权利要求1所述的一种基于动作状态机的动作无缝过渡方法,其特征在于:所述步骤S3进一步具体为:通过动作状态机在走路或者跑步过程中转身将多个不同的边转身边移动动作做融合,并且根据动作对
5.根据权利要求1所述的一种基于动作状态机的动作无缝过渡方法,其特征在于:所述步骤S5中的事件包括在移动过程中如果遇到障碍物且剩余距离小于步幅的事件与响应外部动作改变的事件。
6.根据权利要求1所述的一种基于动作状态机的动作无缝过渡方法,其特征在于:所述步骤S5中的判断当前动作帧是迈开左脚还是右脚以及脚离地高度是通过把移动的脚动作运动情况预先写入移动动作的Curves曲线中,根据左右脚的脚底骨骼的y的差值写入到Curves曲线中,然后角色在播放走路或者跑步时读取该Curves曲线进行判断,其中y的差值代表左脚掌骨骼的世界坐标y值减去右脚掌骨骼世界坐标y值的差值,角色移动时差值大于0,就代表当前是左脚在前,差值就是左脚掌高度,角色移动时差值小于0,就代表右脚在前,差值就是右脚掌高度。
7.一种基于动作状态机的动作无缝过渡系统,其特征在于:所述系统包括:起步转身模块、角色移动模块、移动转身模块、肢体接触模块、事件中断模块、被击模块、被击死亡模块;所述起步转身模块负责角色起步时,通过动作状态机将八相位起步动作融合出所有角度的角色起步转身动作;所述角色移动模块负责角色起步后角色移动时,通过动作状态机融合不同速度的角色移动动作;所述移动转身模块负责角色在移动过程中需要转身,则通过动作状态机将多个不同的边转身边移动动作融合出所有角度的角色移动转身动作;所述事件中断模块负责在遇到事件中断移动过程时,判断当前动作帧是迈开左脚还是右脚以及脚离地高度,根据遇到事件时左脚或者右脚离地高度,融合出收脚的动作,收步动作播放完成,然后切换到响应事件的动作;所述被击模块负责被击时,根据顿帧和播放指定某一帧动作做角色振动表现效果;所述肢体接触模块负责在角色移动过程中需要肢体贴地和抓取时,使用IK动画工具做表现效果;所述被击死亡模块负责被击死亡时,使用布娃娃系统做击飞,根据外界力度表现不同动作效果。
8.根据权利要求9所述的一种基于动作状态机的动作无缝过渡系统,其特征在于:所述起步转身模块进一步具体为:通过动作状态机在角色待机状态下将往八个方向移动的动作做融合,并且根据动作对角色旋转的角度设置这八个动作的权重;所述八个方向分别为角色移动初始朝向角度、角色移动初始朝向的左45°、角色移动初始朝向的左90°、角色移动初始朝向的左135°、角色移动初始朝向的左180°、角色移动初始朝向的右45°、角色移动初始朝向的右90°、角色移动初始朝向的右135°、角色移动初始朝向的右180°。
9.根据权利要求9所述的一种基于动作状态机的动作无缝过渡系统,其特征在于:所述角色移动模块进一步具体为:角色移动时,通过动作状态机融合走路到最大速度跑步动作,根据角色在场景的实际位移速度融合出对应的前进动作。
10.根据权利要求9所述的一种基于动作状态机的动作无缝过渡系统,其特征在于:所述移动转身模块进一步具体为:通过动作状态机在走路或者跑步过程中转身将多个不同的边转身边移动动作做融合,并且根据动作对角色旋转的角度设置这多个动作的权重;所述步骤S3中多个不同的边转身边移动动作的角度分别为角色移动不转身初始朝向角度、角色移动转身向左180°、角色移动转身向右180°。
11.根据权利要求9所述的一种基于动作状态机的动作无缝过渡系统,其特征在于:所述事件中断模...
【技术特征摘要】
1.一种基于动作状态机的动作无缝过渡方法,其特征在于:所述方法包括以下步骤:
2.根据权利要求1所述的一种基于动作状态机的动作无缝过渡方法,其特征在于:所述步骤s1进一步具体为:通过动作状态机在角色待机状态下将往八个方向移动的动作做融合,并且根据动作对角色旋转的角度设置这八个动作的权重;所述八个方向分别为角色移动初始朝向角度、角色移动初始朝向的左45°、角色移动初始朝向的左90°、角色移动初始朝向的左135°、角色移动初始朝向的左180°、角色移动初始朝向的右45°、角色移动初始朝向的右90°、角色移动初始朝向的右135°、角色移动初始朝向的右180°。
3.根据权利要求1所述的一种基于动作状态机的动作无缝过渡方法,其特征在于:所述步骤s2进一步具体为:角色移动时,通过动作状态机融合走路到最大速度跑步动作,根据角色或在场景的实际位移速度融合出对应的前进动作。
4.根据权利要求1所述的一种基于动作状态机的动作无缝过渡方法,其特征在于:所述步骤s3进一步具体为:通过动作状态机在走路或者跑步过程中转身将多个不同的边转身边移动动作做融合,并且根据动作对角色旋转的角度设置这多个动作的权重;所述步骤s3中多个不同的边转身边移动动作的角度分别为角色移动不转身初始朝向角度、角色移动转身向左180°、角色移动转身向右180°。
5.根据权利要求1所述的一种基于动作状态机的动作无缝过渡方法,其特征在于:所述步骤s5中的事件包括在移动过程中如果遇到障碍物且剩余距离小于步幅的事件与响应外部动作改变的事件。
6.根据权利要求1所述的一种基于动作状态机的动作无缝过渡方法,其特征在于:所述步骤s5中的判断当前动作帧是迈开左脚还是右脚以及脚离地高度是通过把移动的脚动作运动情况预先写入移动动作的curves曲线中,根据左右脚的脚底骨骼的y的差值写入到curves曲线中,然后角色在播放走路或者跑步时读取该curves曲线进行判断,其中y的差值代表左脚掌骨骼的世界坐标y值减去右脚掌骨骼世界坐标y值的差值,角色移动时差值大于0,就代表当前是左脚在前,差值就是左脚掌高度,角色移动时差值小于0,就代表右脚在前,差值就是右脚掌高度。
7.一种基于动作状态机的动作无缝过渡系统,其特征在于:所述系统包括:起步转身模块、角色移动模块、移动转身模块、肢体接触模块、事件中断模块、被击模块、被击死亡模块;所述起步转身模块负责角色起步时,通过动作状态机将八相位起步动作融合出所有角度的角色起步转身动作;所述角色移动模块负责角色起步后角色移动时,通过动作状态机融合不同速度的角色移动动作;所述移动转身模块负责角色在移动过程中需要转身,则通过动作状态机将多个不同的边...
【专利技术属性】
技术研发人员:刘德建,郑福淦,李佳,
申请(专利权)人:福建天晴数码有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。