动画播放问题

FBX中的动画,两段,一个是IDEL一个是ATTACK(向前跳的攻击),当播放ATTACK完成时,角色位置会复位到起跳的位置,相当于跳出去打了人马上又反回来,不知道是需要在动画里设置,还是需要单独代码来记录跳出后的位置,然后再将角色新位置进行设置,如果是这样感觉比较麻烦。有更好的办法处理吗?经过测试,起跳前后的worldPosition是一样的(应该是ATTACK播放完前后的坐标是一样的,无法知道跳出后的新坐标),也就是通过记录并修改角色的坐标应该不可行.
还就是设置了SkeletalAnimationState的speed,动画播放速度未见变化昵

再次测试,通过给ATTACK动画添加帧事件(倒数第一帧)来记录跳出后的位置还是获取到的是起跳时的位置。感觉像是虽然ATTACK动画显示时有位移,但实际NODE位置却没发生变化

你的动画是挂在节点的子节点上,还是节点上?

挂载节点上的,和这个有关吗?还就是我播放了attack结束后就播放idle动画就会弹回去,如果播放了attack后不播放idle动画,它就不会反弹回去

我仔细看了一下,你的动画自带位移对吗?如果是的话,只能自己去动画设计那边看一下位移是多大,然后用变量保存下来,如果不是就自己写移动

是的,动画带位移,一个往前的跳砍动作。如果是这样那只能通过获取动画位移来代码调整角色位置?

你的跳砍动作肯定没有回去的那个动作吧?只有出去的动作,所以是这个动画有问题,而不是代码问题

是的,没有回去的动作,我的理解是它跳出去就不要回来了,刚好也满足我的需要,结果attack播放完了就自动会到idle是的位置并播放idle动画了。既然没有回去的动画,那你就attack后不要动了嘛

没做过3d,我做2d的思路就是,位移不做在动画里面,动画只做原地跳劈的动作,位移用代码调整
你这就是动画给你播放出去了,但是节点原地没动,所以播放待机的时候会重置回去

一般也是这么做的

实在不行可能也只有这样,看还有其他办法没只是原地动画+位移处理,不知道效果衔接好不好

效果基本没什么问题的,你只要移动做的和你之前的动画基本一致就没什么问题

要的,晚些试下