过去做这类效果我一般是先在 Houdini 里把模型信息烘进 UV 或贴图,再靠 Shader 做动态,这本质是单帧计算,单纯 Shader 拿不到上一帧数据,所以像 Spring、Delay这种时间积分行为无法稳定实现,也无法实现准确的运动模糊
目前这套系统核心思路是预烘焙 Mesh + 运行时矩阵计算,将大量Mesh离线烘焙为一个大 Mesh,存储每个Mesh的 PartId 与基础矩阵,运行时通过去计算每个Part的独立动态矩阵,在顶点阶段进行 TRS 变换,对于大量物体渲染只需要一次Drawcall
CPU 侧使用 NativeArray 管理数据并用 Job 多线程并行处理大量数据;主线程只做调度与上传。GPU 侧接收Buffer(baseMatrix + dynMatrix + attribute),在顶点阶段完成形变

通用的ASE节点,可用在任何ASE Shader中





