[BUG] Particle System Mesh Tessellation

I think I’ve found a bug when I try to use a mesh with tessellation in a particle system.

Repro steps:

  1. Create material, set its tessellation to Flat and compile it.

  2. Assign the material to a mesh

  3. Create new particle system, and use the mesh

  4. Duplicate the particle emitter

  5. Delete the mesh data of any of those particle emitters inside the particle system

Immediately we get the next log errors. Once this happens, you’re no longer able to use a tessellated mesh in any particle system, even after deleting all the assets.

LogShaderCompilers:Warning: Failed to compile Material /Engine/Transient.PreviewMaterial_1 for platform PCD3D_SM5, Default Material will be used in game.
LogShaderCompilers:Warning:     HitProxyVertexShader.usf(27,3-34):  err0r X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
LogTemp:Display: Finished compile of shader map 0x000001D684807C80
LogTemp:Display: Shader map NewMaterial complete, GameThreadShaderMap 0x000001D684807C80, marking material NewMaterial as finished
LogTemp:Display: Marking material as finished 0x000001D699C6B700
LogShaderCompilers:Warning: Failed to compile Material /Game/FirstPersonBP/NewMaterial.NewMaterial for platform PCD3D_SM5, Default Material will be used in game.
LogShaderCompilers:Warning:     ShadowDepthVertexShader.usf(124,2-33):  err0r X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
LogShaderCompilers:Warning:     HitProxyVertexShader.usf(27,3-34):  err0r X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
LogShaderCompilers:Warning:     LightMapDensityShader.usf(23,3-34):  err0r X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
LogShaderCompilers:Warning:     VelocityShader.usf(49,3-34):  err0r X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
LogShaderCompilers:Warning:     BasePassVertexCommon.usf(30,3-34):  err0r X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
LogShaderCompilers:Warning:     DepthOnlyVertexShader.usf(30,3-34):  err0r X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
LogShaderCompilers:Warning:     DebugViewModeVertexShader.usf(18,3-34):  err0r X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
MaterialEditorStats:Error: Error [SM5] ShadowDepthVertexShader.usf(124,2-33):  error X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
MaterialEditorStats:Error: Error [SM5] HitProxyVertexShader.usf(27,3-34):  error X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
MaterialEditorStats:Error: Error [SM5] LightMapDensityShader.usf(23,3-34):  error X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
MaterialEditorStats:Error: Error [SM5] VelocityShader.usf(49,3-34):  error X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
MaterialEditorStats:Error: Error [SM5] BasePassVertexCommon.usf(30,3-34):  error X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
MaterialEditorStats:Error: Error [SM5] DepthOnlyVertexShader.usf(30,3-34):  error X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'
MaterialEditorStats:Error: Error [SM5] DebugViewModeVertexShader.usf(18,3-34):  error X3000: unrecognized identifier 'FVertexFactoryInterpolantsVSToDS'

So… I guess I should forget about using tessellated mesh on particles…

Hey, bro. I just finished my tesselated mesh particle. So what happened in your case, when you delete mesh info from emmiter, particle system use tesselated material for sprites, so you need to return in your material and uncheck “Use with particle sprites” and leave only “particle mesh”. Also make sure your “crack free” checkbox in tesselation part of the material is UNcheck and mode setted to “Flat”

it works,thanks