所在项目2W+粒子,修改shaderversion.ush之后,这些粒子里存的CachedVMScriptId会和计算的对不上,从而走pre-compile过程从DDC中获取数据,只有Resave之后才会回复正常。虽然每个粒子0.xx秒耗时很少,但是加载地图粒子数量多了之后还是有不可忽视的开销。Resave ALL粒子对于多分支开发模式不仅耗时也会有冲突。有没有什么好的解决办法?目前Niagara依赖的shader 文件如下:
/Engine/Plugins/FX/Niagara/Shaders/Private/NiagaraEmitterInstanceShader.usf
/Engine/Shaders/Public/Platform.ush
/Engine/Shaders/Public/FP16Math.ush
/Engine/Shaders/Public/Platform/D3D/D3DCommon.ush
/Engine/Shaders/Public/ShaderVersion.ush
/Engine/Plugins/FX/Niagara/Shaders/Private/NiagaraShaderVersion.ush
/Engine/Shaders/Private/Common.ush
/Engine/Shaders/Private/CommonViewUniformBuffer.ush
/Engine/Shaders/Private/InstancedStereo.ush
/Engine/Shaders/Private/Definitions.usf
/Engine/Shaders/Private/FastMath.ush
/Engine/Shaders/Private/Random.ush
/Engine/Shaders/Private/LandscapeMaterialId.ush
/Engine/Shaders/Private/GlobalDistanceFieldShared.ush
/Engine/Shaders/Private/SceneTexturesCommon.ush
/Engine/Plugins/FX/Niagara/Shaders/Private/NiagaraPhysicsCommon.ush