如何实现动画击飞后原地起身继续战斗?
 
Notifications
Clear all

[已解决] 如何实现动画击飞后原地起身继续战斗?

1 帖子
1 Users
0 Reactions
7 查看
0
Topic starter

例如上万小兵被同时击飞数米远,但血量有剩余,怎么做到原地起身


1 Answer
0
Topic starter

GPU动画本质是在shader中使顶点运动,不会改变物体的位置。但万人同屏插件先比其他GPU动画插件,额外支持骨骼记录,使gpu动画仍然支持实时获得骨骼Transform信息。

1. 将击飞动画尾帧添加一个GPU动画事件

2. 在这个动画事件触发时通过GetGPUAnimationBone接口获取根骨骼的位置

3. 设置rvo的navigationEnabled为false,即可直接强制修改pos,修改后rvo单位就会从动画当前位置继续战斗。注意:修改pos前建议先确保Jobs已经计算完成,防止pos被Jobs计算结果覆盖。修改pos前调用RVOComponent.Instance.AgentProvider.Complete()


您的答复

Author Name

Author Email

Your question *

文件不超过 2MB

 
Share:

滚动至顶部