3d模型持续移动阶段到停止阶段的过度动画的疑问

有一个3D模型M:

  1. 行走的动画有2秒,移动距离2米(跨出左脚,再跨出右脚两个部分组成)。
  2. 停止时的收脚动画,(由
    右脚在前的状态达到双脚并拢的状态)

控制模型M由A点移动到B点,AB之间距离为10米。
所以需要播放行走动画5次,然后再播放停止的动画。

现在产生了一个问题,模型只走了9米,所以这个时候是
左脚在前方的,而停止动画时是
右脚在前的状态开始计算的
这样就会在播放停止动画的时候出现一个闪屏,就好像断帧了,效果很不好。

请问有不有什么方法可以直接让模型M由
左脚在前的状态完成到
并拢的过度动画

PS:再问一个额外的问题,cocos2d-x有办法能完成上半身和下半身动作的分离吗?
开发游戏过程中有个需求是让模型在移动的过程中进行各种攻击动作。

cocos2d-x支持两个动画的过渡,行走动画到站立动画。

过渡时间不可能很长,默认是0.1秒,以站立到攻击动作为例,我们还是期望按一个按钮立刻攻击,楼主的例子有点极端,从左脚在前过渡到右脚在前,这就需要自己控制,比如模型走9米位移停下了,但是动画可以不立刻停止,等行走动画完成再播放停止动作,或者行走时间累计除以2的余数小于一个阈值的时候立刻停止,否则等行走动作播放完成。

  1. 让模型播放完走的动作再停止,很多游戏都会这么做,就是停止的时候看着多走半步,或走完剩下的一步。
  2. 目前cocos无法做上下身分离的动作。

使用了这种方案,有的时候效果会变得很怪异

我们做的模型中,行走的动画时间是1秒。

如果在到达目标点时:行走动作已经接近完成,这个时候看起来就非常自然
如果在到达目标点时:行走动作才刚开始起步,这个时候就会看到一个长的原地行走效果,比较怪异。

采用这种方案是不是需要把移动动作的时间设计的比较短,或者要分为两步走?

找到个新方法,取两帧的数据创建一个新动画,由自动补间来完成

取了奔跑到终点时,奔跑动作当前的帧的骨骼数据
过度到停止动画的最后一帧的骨骼数据

用两个数据创建一个新动画,感觉效果还是可以

这个方法不错~~赞!!!:2::2::2: