请问unity如何用ecs做 角色 动画?
先在其他system里面把角色状态计算完,在另一个system里面去获取这些状态,通过状态去刷新动画状态机 先在其他system里面把角色状态计算完,在另一个system里面去获取这些状态,通过状态去刷新动画状态机 ECS做角色动画,不知道你的需求的复杂度如何。如果骨骼数量和动画总时长可控的话,可以考虑GPU Animation,这样在最后渲染的时候不用更新Vertex Buffer的数据,只是提交一些Frame相关的数据。GPU Animation,可以参考这个特别初级的版本:
https://github.com/Unity-Technologies/Animation-Instancing
但是这个版本其实实用性不高,想要实用性更高,要自己考虑实现一些内容:
1. ECS化的Animator,可以像默认的Animator一样切换动作,并且在GPU Animation侧实现动画融合;
2. Unity的ECS,在Instance Rendering侧的实现不好,不能传递自定义的Instance Data,可以考虑修改ECS和引擎的代码;
3. 考虑一些算法优化帧的数量,可以降低帧的存储;考虑Shader侧采样的优化;
页:
[1]