Notifications
Clear all
0
01/10/2025 3:06 下午
Topic starter
如何在项目内动态修改单个rvo单位的动画速率animspeed
1 Answer
0
01/10/2025 7:55 下午
1. 最简单的方式是使用ECSGraphics预留的shader字段_UserdataVec4,在GPU动画shader中按照下图创建_UserdataVec4节点替代AnimSpeed,通过方法ECSGraphicsComponent.Instance.SetGPUAnimationUserdata()就可以设置_UserdataVec4的值,将动画速度塞入_UserdataVec4.x即可。
具体也可以参考万人同屏工程自带demo的受击闪烁shader,演示了如何把额外的自定义参数通过预留字段_UserdataVec4进行传递。
2. DOTS下修改材质参数的方法(如果不使用预留_UserdataVec4传参, 可以用DOTS标准用法):
https://efunstudio.cn/community/gpuanim/ecs物体怎么更新贴图,比如用于头像动态生成/#post-18