Description

Transform node which transforms vector from mesh particle space to world space in vertex shader always returns 0.
In ue4.24, it works fine.
This behavior has been changed in CL#12558699.

Removing following if statement line in FHLSLMaterialTranslator::TransformBase fixes this issue.

 

		case MCB_MeshParticle:
		{
			if (DestCoordBasis == MCB_World)
			{
				CodeStr = TEXT("mul(<A>, <MATRIX>(Parameters.Particle.ParticleToWorld))");
				if (ShaderFrequency == SF_Pixel)	// remove this line
				{
					bUsesParticleLocalToWorld = true;
				}
			}
			// use World as an intermediary base
			break;
		}

 

 

Steps to Reproduce
  1. Open attached project (  [Link Removed]  ) on ue4.25 
  2. See editor viewport

 
[Link Removed]
 

 

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-93591 in the post.

3
Login to Vote

Fixed
ComponentUE - Niagara
Affects Versions4.25
Target Fix4.26
Fix Commit13672064
Main Commit13672064
CreatedMay 27, 2020
ResolvedJun 14, 2020
UpdatedJul 21, 2020