Notifications
Clear all
0
10/10/2025 3:13 下午
Topic starter
例如上万小兵被同时击飞数米远,但血量有剩余,怎么做到原地起身
1 Answer
0
10/10/2025 3:27 下午
Topic starter
GPU动画本质是在shader中使顶点运动,不会改变物体的位置。但万人同屏插件相比其他GPU动画插件额外支持骨骼记录,使gpu动画仍然支持实时获得骨骼Transform信息。
1. 将击飞动画尾帧添加一个GPU动画事件
2. 在这个动画事件触发时通过GetGPUAnimationBone接口获取到当前时间根骨骼的transform(位置、旋转、缩放)
3. 设置rvo的navigationEnabled为false(暂停移动避让系统更新位置),把获取到的根骨骼位置修改到rvo agent的pos即可。注意:修改pos前建议先确保Jobs已经计算完成,防止pos被Jobs计算结果覆盖。修改pos前调用RVOComponent.Instance.Complete()。修改位置后下一帧恢复navigationEnabled为true,rvo单位就能继续自主移动