The message in ensure is below
LogOutputDevice: Error: === Handled ensure: === LogOutputDevice: Error: Ensure condition failed: (FMath::Abs(1.f - M.GetScaledAxis(EAxis::X).SizeSquared()) <= (1.e-4f)) && (FMath::Abs(1.f - M.GetScaledAxis(EAxis::Y).SizeSquared()) <= (1.e-4f)) && (FMath::Abs(1.f - M.GetScaledAxis(EAxis::Z).SizeSquared()) <= (1.e-4f)) [File:E:\dev\UnrealEngine-4.25\Engine\Source\Runtime\Core\Public\Math/Quat.h] [Line: 600]
This issue is caused by scaled transform.
To remove scale from the matrix fixes it.
//in FNiagaraDataInterfaceParametersCS_SkeletalMesh::Set SetShaderValue(RHICmdList, ComputeShaderRHI, NumFilteredSockets, StaticBuffers->GetNumFilteredSockets()); SetShaderValue(RHICmdList, ComputeShaderRHI, FilteredSocketBoneOffset, StaticBuffers->GetFilteredSocketBoneOffset()); SetShaderValue(RHICmdList, ComputeShaderRHI, InstanceTransform, InstanceData->Transform); SetShaderValue(RHICmdList, ComputeShaderRHI, InstancePrevTransform, InstanceData->PrevTransform); #if 1 SetShaderValue(RHICmdList, ComputeShaderRHI, InstanceRotation, InstanceData->Transform.GetMatrixWithoutScale().ToQuat()); SetShaderValue(RHICmdList, ComputeShaderRHI, InstancePrevRotation, InstanceData->PrevTransform.GetMatrixWithoutScale().ToQuat()); #else SetShaderValue(RHICmdList, ComputeShaderRHI, InstanceRotation, InstanceData->Transform.ToQuat()); SetShaderValue(RHICmdList, ComputeShaderRHI, InstancePrevRotation, InstanceData->PrevTransform.ToQuat()); #endif SetShaderValue(RHICmdList, ComputeShaderRHI, InstanceInvDeltaTime, 1.0f / InstanceData->DeltaSeconds); SetShaderValue(RHICmdList, ComputeShaderRHI, EnabledFeatures, EnabledFeaturesBits); }
> [Inline Frame] UE4Editor-Core.dll!FQuat::
{ctor}::__l6::<lambda_c6ec71c1cea6b9d5da85fbd207816d2b>::operator()() Line 600 C++ Symbols loaded.
UE4Editor-Core.dll!FQuat::FQuat(const FMatrix & M) Line 600 C++ Symbols loaded.
UE4Editor-Core.dll!FMatrix::ToQuat() Line 554 C++ Symbols loaded.
UE4Editor-Niagara.dll!FNiagaraDataInterfaceParametersCS_SkeletalMesh::Set(FRHICommandList & RHICmdList, const FNiagaraDataInterfaceSetArgs & Context) Line 1157 C++ Symbols loaded.
UE4Editor-Niagara.dll!UNiagaraDataInterfaceSkeletalMesh::SetParameters(const FNiagaraDataInterfaceParametersCS * Base, FRHICommandList & RHICmdList, const FNiagaraDataInterfaceSetArgs & Context) Line 1263 C++ Symbols loaded.
UE4Editor-Niagara.dll!NiagaraEmitterInstanceBatcher::SetDataInterfaceParameters(const TArray<FNiagaraDataInterfaceProxy *,TSizedDefaultAllocator<32>> & DataInterfaceProxies, const TShaderRefBase<FNiagaraShader,FNiagaraShaderMapPointerTable> & Shader, FRHICommandList & RHICmdList, const FNiagaraComputeInstanceData * Instance, const FNiagaraGPUSystemTick & Tick, unsigned int SimulationStageIndex) Line 1343 C++ Symbols loaded.
UE4Editor-Niagara.dll!NiagaraEmitterInstanceBatcher::Run(const FNiagaraGPUSystemTick & Tick, const FNiagaraComputeInstanceData * Instance, unsigned int UpdateStartInstance, const unsigned int TotalNumInstances, const TShaderRefBase<FNiagaraShader,FNiagaraShaderMapPointerTable> & Shader, FRHICommandList & RHICmdList, FRHIUniformBuffer * ViewUniformBuffer, const FNiagaraGpuSpawnInfo & SpawnInfo, bool bCopyBeforeStart, unsigned int DefaultSimulationStageIndex, unsigned int SimulationStageIndex, FNiagaraDataInterfaceProxy * IterationInterface, bool HasRunParticleStage) Line 1489 C++ Symbols loaded.
UE4Editor-Niagara.dll!NiagaraEmitterInstanceBatcher::DispatchMultipleStages(const FNiagaraGPUSystemTick & Tick, FNiagaraComputeInstanceData * Instance, FRHICommandList & RHICmdList, FRHIUniformBuffer * ViewUniformBuffer, const TShaderRefBase<FNiagaraShader,FNiagaraShaderMapPointerTable> & ComputeShader) Line 512 C++ Symbols loaded.
UE4Editor-Niagara.dll!NiagaraEmitterInstanceBatcher::DispatchAllOnCompute(TArray<FNiagaraGPUSystemTick *,TMemStackAllocator<0>> & OverlappableTick, FRHICommandList & RHICmdList, FRHIUniformBuffer * ViewUniformBuffer) Line 732 C++ Symbols loaded.
UE4Editor-Niagara.dll!NiagaraEmitterInstanceBatcher::ExecuteAll(FRHICommandList & RHICmdList, FRHIUniformBuffer * ViewUniformBuffer, ETickStage TickStage) Line 1005 C++ Symbols loaded.
UE4Editor-Niagara.dll!NiagaraEmitterInstanceBatcher::PreInitViews(FRHICommandListImmediate & RHICmdList, bool bAllowGPUParticleUpdate) Line 1131 C++ Symbols loaded.
UE4Editor-Engine.dll!FFXSystemSet::PreInitViews(FRHICommandListImmediate & RHICmdList, bool bAllowGPUParticleUpdate) Line 98 C++ Symbols loaded.
UE4Editor-Renderer.dll!FSceneRenderer::PreVisibilityFrameSetup(FRHICommandListImmediate & RHICmdList) Line 3053 C++ Symbols loaded.
[Inline Frame] UE4Editor-Renderer.dll!FDeferredShadingSceneRenderer::PreVisibilityFrameSetup(FRHICommandListImmediate &) Line 4272 C++ Symbols loaded.
UE4Editor-Renderer.dll!FDeferredShadingSceneRenderer::InitViews(FRHICommandListImmediate & RHICmdList, FExclusiveDepthStencil::Type BasePassDepthStencilAccess, FILCUpdatePrimTaskData & ILCTaskData, TArray<TRefCountPtr<FGraphEvent>,TInlineAllocator<4,TSizedDefaultAllocator<32>>> & UpdateViewCustomDataEvents) Line 4288 C++ Symbols loaded.
UE4Editor-Renderer.dll!FDeferredShadingSceneRenderer::Render(FRHICommandListImmediate & RHICmdList) Line 1370 C++ Symbols loaded.
UE4Editor-Renderer.dll!RenderViewFamily_RenderThread(FRHICommandListImmediate & RHICmdList, FSceneRenderer * SceneRenderer) Line 3482 C++ Symbols loaded.
[Inline Frame] UE4Editor-Renderer.dll!FRendererModule::BeginRenderingViewFamily::__l35::<lambda_759d0c4589f205101b108f5da3fb1556>::operator()(FRHICommandListImmediate &) Line 3721 C++ Symbols loaded.
UE4Editor-Renderer.dll!TEnqueueUniqueRenderCommandType<`FRendererModule::BeginRenderingViewFamily'::`35'::FDrawSceneCommandName,<lambda_759d0c4589f205101b108f5da3fb1556>>::DoTask(ENamedThreads::Type CurrentThread, const TRefCountPtr<FGraphEvent> & MyCompletionGraphEvent) Line 195 C++ Symbols loaded.
UE4Editor-Renderer.dll!TGraphTask<TEnqueueUniqueRenderCommandType<`FRendererModule::BeginRenderingViewFamily'::`35'::FDrawSceneCommandName,<lambda_759d0c4589f205101b108f5da3fb1556>>>::ExecuteTask(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32>> & NewTasks, ENamedThreads::Type CurrentThread) Line 849 C++ Symbols loaded.
[Inline Frame] UE4Editor-Core.dll!FBaseGraphTask::Execute(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32>> & CurrentThread, ENamedThreads::Type) Line 516 C++ Symbols loaded.
UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread(int QueueIndex, bool bAllowStall) Line 692 C++ Symbols loaded.
UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit(int QueueIndex) Line 587 C++ Symbols loaded.
UE4Editor-RenderCore.dll!RenderingThreadMain(FEvent * TaskGraphBoundSyncEvent) Line 341 C++ Symbols loaded.
UE4Editor-RenderCore.dll!FRenderingThread::Run() Line 492 C++ Symbols loaded.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-95350 in the post.
1 |
Component | UE - Niagara |
---|---|
Affects Versions | 4.25 |
Target Fix | 4.26 |
Created | Jul 14, 2020 |
---|---|
Resolved | Jul 14, 2020 |
Updated | Jul 16, 2020 |