It seems to have occurred since UE4.23, and the cause was the following part of "ParticleModules_Location.cpp".
//From UE4.23 if (bOrientMeshEmitters) { //We have the mesh oriented to the normal of the triangle it's on but this looks fugly as particles on each triangle are facing the same way. //The only valid orientation reference should be the normal. So add an additional random rotation around it. SourceRotation = SourceRotation * FQuat(FVector::UpVector, RandomStream.FRand()*(PI*2.0f));
//Up to UE4.22 if (bOrientMeshEmitters) { //We have the mesh oriented to the normal of the triangle it's on but this looks fugly as particles on each triangle are facing the same way. //The only valid orientation reference should be the normal. So add an additional random rotation around it. int32 OldRandSeed = FMath::GetRandSeed(); FMath::SRandInit((int32)((intptr_t)ParticleBase)); SourceRotation = SourceRotation * FQuat(FVector::UpVector, FMath::SRand()*(PI*2.0f)); FMath::SRandInit(OldRandSeed);
I think we need to fix "RandomSeed" as before, or put a random value in "FoamLocationLocationVertSurfaceParticlePayload".
It seems to have been changed in CL5661716 to address the Deterministic problem.
If you open the attached project and play it, it will be reproduced.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-93517 in the post.
1 |
Component | UE - Niagara |
---|---|
Affects Versions | 4.25 |
Created | May 25, 2020 |
---|---|
Resolved | Aug 31, 2021 |
Updated | Sep 19, 2021 |