The licensee has shared the following workaround for modifying NiagaraMeshVertexFactory.ush.
struct FVertexFactoryInterpolantsVSToPS { TANGENTTOWORLD_INTERPOLATOR_BLOCK #if USE_PARTICLE_SUBUVS float4 SubUV0AndTexCoord0 : TEXCOORD1; float4 SubUV1AndLerp : TEXCOORD2; // add #if NUM_TEX_COORD_INTERPOLATORS float4 TexCoords[( NUM_TEX_COORD_INTERPOLATORS+1)/2] : TEXCOORD0; #endif //
Open the attached project NewNiagaraEmitter to see the problem.
-Enable raytracing.
-Set the Material's Blend Mode to Addtive or Translucent.
-Use both Particle SubUV and Texture Sample.
-Use Niagara Mesh Particles.
If these conditions are met, a compile error will occur.
LogShaderCompilers: Warning: Failed to compile Material /Game/TestM.TestM for platform PCD3D_SM5, Default Material will be used in game.
LogShaderCompilers: Display: /Plugin/FX/Niagara/Private/NiagaraMeshVertexFactory.ush:926:42: error: no member named 'TexCoords' in 'FVertexFactoryInterpolantsVSToPS'
return Interpolants.InterpolantsVSToPS.TexCoords[0].xy;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
LogShaderCompilers: Display: /Plugin/FX/Niagara/Private/NiagaraMeshVertexFactory.ush:945:77: error: no member named 'TexCoords' in 'FVertexFactoryInterpolantsVSToPS'
Result.TexCoords[CoordinateIndex * 2] = Interpolants.InterpolantsVSToPS.TexCoords[CoordinateIndex].xy;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
LogShaderCompilers: Display: /Plugin/FX/Niagara/Private/NiagaraMeshVertexFactory.ush:946:81: error: no member named 'TexCoords' in 'FVertexFactoryInterpolantsVSToPS'
Result.TexCoords[CoordinateIndex * 2 + 1] = Interpolants.InterpolantsVSToPS.TexCoords[CoordinateIndex].wz;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
LogShaderCompilers: Display: /Plugin/FX/Niagara/Private/NiagaraMeshVertexFactory.ush:949:65: error: no member named 'TexCoords' in 'FVertexFactoryInterpolantsVSToPS'
Result.TexCoords[ 1 - 1] = Interpolants.InterpolantsVSToPS.TexCoords[ 1 / 2].xy;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
LogShaderCompilers: Display: /Plugin/FX/Niagara/Private/NiagaraMeshVertexFactory.ush:991:25: error: no member named 'TexCoords' in 'FVertexFactoryInterpolantsVSToPS'
O.InterpolantsVSToPS.TexCoords[i] = a.InterpolantsVSToPS.TexCoords[i] * aInterp + b.InterpolantsVSToPS.TexCoords[i] * bInterp ;
~~~~~~~~~~~~~~~~~~~~ ^
LogShaderCompilers: Display: /Plugin/FX/Niagara/Private/NiagaraMeshVertexFactory.ush:991:61: error: no member named 'TexCoords' in 'FVertexFactoryInterpolantsVSToPS'
O.InterpolantsVSToPS.TexCoords[i] = a.InterpolantsVSToPS.TexCoords[i] * aInterp + b.InterpolantsVSToPS.TexCoords[i] * bInterp ;
~~~~~~~~~~~~~~~~~~~~ ^
LogShaderCompilers: Display: /Plugin/FX/Niagara/Private/NiagaraMeshVertexFactory.ush:991:107: error: no member named 'TexCoords' in 'FVertexFactoryInterpolantsVSToPS'
O.InterpolantsVSToPS.TexCoords[i] = a.InterpolantsVSToPS.TexCoords[i] * aInterp + b.InterpolantsVSToPS.TexCoords[i] * bInterp ;
~~~~~~~~~~~~~~~~~~~~ ^
LogShaderCompilers: Display: D3DCompileToDxil failed
I am not able to find world outliner how to enable it?
What properties of the progress bar can be used for drag and drop highlighting?
What property of the Slider is the image used when dragging?
How to achieve HLSL Multiple Render Target in Material blueprints?
Undefined sysmbol: typeinfo for AActor when cross-compile linux dedicated server on windows
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-131311 in the post.
0 |
Component | UE - Niagara |
---|---|
Affects Versions | 4.27 |
Target Fix | 5.0 |
Created | Oct 12, 2021 |
---|---|
Resolved | Oct 20, 2021 |
Updated | Oct 26, 2021 |