Description

This is because THeightField::PhiWithNormal has not been implemented yet.

Steps to Reproduce
  1. open attached project on chaos enabled 4.25 engine  [Link Removed]
  2. Open /Content/LandscapeLevel
  3. start PIE or simulate

Result

An assertion occurs.

Assertion failed: false [File:E:\dev\UnrealEngine-4.25.1\Engine\Source\Runtime\Experimental\Chaos\Public\Chaos/HeightField.h] [Line: 56] 
Callstack
> UE4Editor-Chaos.dll!Chaos::THeightField<float>::PhiWithNormal(const Chaos::TVector<float,3> & x, Chaos::TVector<float,3> & Normal) Line 56 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::Collisions::SampleObjectNormalAverageHelper<float,3>(const Chaos::FImplicitObject & Object, const Chaos::TRigidTransform<float,3> & ObjectTransform, const Chaos::TRigidTransform<float,3> & SampleToObjectTransform, const Chaos::TVector<float,3> & SampleParticle, float Thickness, float & TotalThickness, Chaos::TRigidBodyPointContactConstraint<float,3> & Constraint) Line 120 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::Collisions::SampleObject<1>(const Chaos::FImplicitObject & Object, const Chaos::TRigidTransform<float,3> & ObjectTransform, const Chaos::TBVHParticles<float,3> & SampleParticles, const Chaos::TRigidTransform<float,3> & SampleParticlesTransform, float Thickness, Chaos::TRigidBodyPointContactConstraint<float,3> & Constraint) Line 442 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::Collisions::UpdateLevelsetLevelsetConstraint<1,float,3>(const float CullDistance, Chaos::TRigidBodyPointContactConstraint<float,3> & Constraint) Line 1831 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::Collisions::ConstructLevelsetLevelsetConstraints<float,3>(Chaos::TGeometryParticleHandleImp<float,3,1> * Particle0, Chaos::TGeometryParticleHandleImp<float,3,1> * Particle1, const Chaos::FImplicitObject * Implicit0, const Chaos::FImplicitObject * Implicit1, const Chaos::TRigidTransform<float,3> & Transform0, const Chaos::TRigidTransform<float,3> & Transform1, const float CullDistance, Chaos::FCollisionConstraintsArray & NewConstraints) Line 1868 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::Collisions::ConstructConstraintsImpl<float,3>(Chaos::TGeometryParticleHandleImp<float,3,1> * Particle0, Chaos::TGeometryParticleHandleImp<float,3,1> * Particle1, const Chaos::FImplicitObject * Implicit0, const Chaos::FImplicitObject * Implicit1, const Chaos::TRigidTransform<float,3> & Transform0, const Chaos::TRigidTransform<float,3> & Transform1, const float CullDistance, const Chaos::FCollisionContext & Context, Chaos::FCollisionConstraintsArray & NewConstraints) Line 2218 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::Collisions::ConstructConstraints<float,3>(Chaos::TGeometryParticleHandleImp<float,3,1> * Particle0, Chaos::TGeometryParticleHandleImp<float,3,1> * Particle1, const Chaos::FImplicitObject * Implicit0, const Chaos::FImplicitObject * Implicit1, const Chaos::TRigidTransform<float,3> & Transform0, const Chaos::TRigidTransform<float,3> & Transform1, const float CullDistance, const Chaos::FCollisionContext & Context, Chaos::FCollisionConstraintsArray & NewConstraints) Line 2521 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::Collisions::ConstructConstraints<float,3>(Chaos::TGeometryParticleHandleImp<float,3,1> * Particle0, Chaos::TGeometryParticleHandleImp<float,3,1> * Particle1, const Chaos::FImplicitObject * Implicit0, const Chaos::FImplicitObject * Implicit1, const Chaos::TRigidTransform<float,3> & Transform0, const Chaos::TRigidTransform<float,3> & Transform1, const float CullDistance, const Chaos::FCollisionContext & Context, Chaos::FCollisionConstraintsArray & NewConstraints) Line 2522 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::FNarrowPhase::GenerateCollisions(Chaos::FCollisionConstraintsArray & NewConstraints, float Dt, Chaos::TGeometryParticleHandleImp<float,3,1> * Particle0, Chaos::TGeometryParticleHandleImp<float,3,1> * Particle1, const float CullDistance, Chaos::CollisionStats::FStatData & StatData) Line 55 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::FSpatialAccelerationBroadPhase::ProduceParticleOverlaps<Chaos::TSpatialAccelerationCollection<Chaos::TAABBTree<Chaos::TAccelerationStructureHandle<float,3>,Chaos::TAABBTreeLeafArray<Chaos::TAccelerationStructureHandle<float,3>,float,1>,float,1>,Chaos::TBoundingVolume<Chaos::TAccelerationStructureHandle<float,3>,float,3>,Chaos::TAABBTree<Chaos::TAccelerationStructureHandle<float,3>,Chaos::TBoundingVolume<Chaos::TAccelerationStructureHandle<float,3>,float,3>,float,1>>>(float Dt, Chaos::TPBDRigidParticleHandleImp<float,3,0> & Particle1, const Chaos::TSpatialAccelerationCollection<Chaos::TAABBTree<Chaos::TAccelerationStructureHandle<float,3>,Chaos::TAABBTreeLeafArray<Chaos::TAccelerationStructureHandle<float,3>,float,1>,float,1>,Chaos::TBoundingVolume<Chaos::TAccelerationStructureHandle<float,3>,float,3>,Chaos::TAABBTree<Chaos::TAccelerationStructureHandle<float,3>,Chaos::TBoundingVolume<Chaos::TAccelerationStructureHandle<float,3>,float,3>,float,1>> & InSpatialAcceleration, Chaos::FNarrowPhase & NarrowPhase, Chaos::FAsyncCollisionReceiver & Receiver, Chaos::CollisionStats::FStatData & StatData) Line 244 C++ Symbols loaded.
 [Inline Frame] UE4Editor-Chaos.dll!Chaos::FSpatialAccelerationBroadPhase::ProduceOverlaps::__l2::<lambda_e8bd941b3e2231ff2bb06c7245c40685>::operator()(Chaos::TPBDRigidParticleHandleImp<float,3,0> &) Line 127 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::ParticleViewParallelForImp::__l10::<lambda>(const int HandleIdx) Line 647 C++ Symbols loaded.
 [Inline Frame] UE4Editor-Chaos.dll!UE4Function_Private::TFunctionRefBase<UE4Function_Private::FFunctionRefStoragePolicy,void __cdecl(int)>::operator()(int <Params_0>) Line 676 C++ Symbols loaded.
 [Inline Frame] UE4Editor-Chaos.dll!ParallelForImpl::TParallelForData<TFunctionRef<void __cdecl(int)>>::Process(int) Line 171 C++ Symbols loaded.
 UE4Editor-Chaos.dll!ParallelForImpl::ParallelForInternal<TFunctionRef<void __cdecl(int)>>(int Num, TFunctionRef<void __cdecl(int)> Body, EParallelForFlags Flags) Line 215 C++ Symbols loaded.
 [Inline Frame] UE4Editor-Chaos.dll!ParallelFor(int) Line 339 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::ParticleViewParallelForImp<Chaos::TParticleView<Chaos::TPBDRigidParticles<float,3>>,<lambda_e8bd941b3e2231ff2bb06c7245c40685>>(const Chaos::TParticleView<Chaos::TPBDRigidParticles<float,3>> & Particles, const Chaos::FSpatialAccelerationBroadPhase::ProduceOverlaps::__l2::<lambda_e8bd941b3e2231ff2bb06c7245c40685> & Func) Line 639 C++ Symbols loaded.
 [Inline Frame] UE4Editor-Chaos.dll!Chaos::ParticlesParallelForImp(const Chaos::TParticleView<Chaos::TPBDRigidParticles<float,3>> &) Line 59 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::ParticlesParallelFor<Chaos::TParticleView<Chaos::TPBDRigidParticles<float,3>>,<lambda_e8bd941b3e2231ff2bb06c7245c40685>>(const Chaos::TParticleView<Chaos::TPBDRigidParticles<float,3>> & Particles, const Chaos::FSpatialAccelerationBroadPhase::ProduceOverlaps::__l2::<lambda_e8bd941b3e2231ff2bb06c7245c40685> & Func, bool bForceSingleThreaded) Line 94 C++ Symbols loaded.
 [Inline Frame] UE4Editor-Chaos.dll!Chaos::TParticleView<Chaos::TPBDRigidParticles<float,3>>::ParallelFor(const Chaos::FSpatialAccelerationBroadPhase::ProduceOverlaps::__l2::<lambda_e8bd941b3e2231ff2bb06c7245c40685> &) Line 579 C++ Symbols loaded.
 [Inline Frame] UE4Editor-Chaos.dll!Chaos::FSpatialAccelerationBroadPhase::ProduceOverlaps(float Dt, const Chaos::TSpatialAccelerationCollection<Chaos::TAABBTree<Chaos::TAccelerationStructureHandle<float,3>,Chaos::TAABBTreeLeafArray<Chaos::TAccelerationStructureHandle<float,3>,float,1>,float,1>,Chaos::TBoundingVolume<Chaos::TAccelerationStructureHandle<float,3>,float,3>,Chaos::TAABBTree<Chaos::TAccelerationStructureHandle<float,3>,Chaos::TBoundingVolume<Chaos::TAccelerationStructureHandle<float,3>,float,3>,float,1>> &) Line 124 C++ Symbols loaded.
 [Inline Frame] UE4Editor-Chaos.dll!Chaos::PBDComputeConstraintsLowLevel_Helper(float) Line 301 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::TSpatialAccelerationCollection<Chaos::TAABBTree<Chaos::TAccelerationStructureHandle<float,3>,Chaos::TAABBTreeLeafArray<Chaos::TAccelerationStructureHandle<float,3>,float,1>,float,1>,Chaos::TBoundingVolume<Chaos::TAccelerationStructureHandle<float,3>,float,3>,Chaos::TAABBTree<Chaos::TAccelerationStructureHandle<float,3>,Chaos::TBoundingVolume<Chaos::TAccelerationStructureHandle<float,3>,float,3>,float,1>>::PBDComputeConstraintsLowLevel(float Dt, Chaos::FSpatialAccelerationBroadPhase & BroadPhase, Chaos::FNarrowPhase & NarrowPhase, Chaos::FAsyncCollisionReceiver & Receiver, Chaos::CollisionStats::FStatData & StatData) Line 493 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::FSpatialAccelerationBroadPhase::ProduceOverlaps(float Dt, Chaos::FNarrowPhase & NarrowPhase, Chaos::FAsyncCollisionReceiver & Receiver, Chaos::CollisionStats::FStatData & StatData) Line 107 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::TCollisionDetector<Chaos::FSpatialAccelerationBroadPhase,Chaos::FNarrowPhase,Chaos::FAsyncCollisionReceiver,Chaos::TPBDCollisionConstraints<float,3>>::DetectCollisions(const float Dt, Chaos::CollisionStats::FStatData & StatData) Line 61 C++ Symbols loaded.
 UE4Editor-Chaos.dll!Chaos::FPBDRigidsEvolutionGBF::AdvanceOneTimeStep(const float Dt, const float StepFraction) Line 297 C++ Symbols loaded.
 UE4Editor-ChaosSolvers.dll!Chaos::AdvanceOneTimeStepTask::DoWork() Line 136 C++ Symbols loaded.
 UE4Editor-ChaosSolvers.dll!Chaos::FPBDRigidsSolver::AdvanceSolverBy(float DeltaTime) Line 558 C++ Symbols loaded.
 UE4Editor-ChaosSolvers.dll!FPhysicsSolverAdvanceTask::StepSolver(Chaos::FPBDRigidsSolver * InSolver, float InDt) Line 219 C++ Symbols loaded.
 UE4Editor-ChaosSolvers.dll!FPhysicsSolverAdvanceTask::DoTask(ENamedThreads::Type CurrentThread, const TRefCountPtr<FGraphEvent> & MyCompletionGraphEvent) Line 190 C++ Symbols loaded.
 UE4Editor-ChaosSolvers.dll!TGraphTask<FPhysicsSolverAdvanceTask>::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!FTaskThreadAnyThread::ProcessTasks() Line 1039 C++ Symbols loaded.
 UE4Editor-Core.dll!FTaskThreadAnyThread::ProcessTasksUntilQuit(int QueueIndex) Line 863 C++ Symbols loaded.
 [Inline Frame] UE4Editor-Core.dll!FTaskThreadBase::Run() Line 528 C++ Symbols loaded.
 UE4Editor-Core.dll!FTaskThreadAnyThread::Run() Line 940 C++ Symbols loaded.
 UE4Editor-Core.dll!FRunnableThreadWin::Run() Line 86 C++ Symbols loaded.
 UE4Editor-Core.dll!FRunnableThreadWin::GuardedRun() Line 27 C++ Symbols loaded.

Have Comments or More Details?

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

1
Login to Vote

Fixed
ComponentUE - Simulation - Physics
Affects Versions4.25
Target Fix4.26
Fix Commit14437097
Release Commit14437097
CreatedJul 27, 2020
ResolvedOct 7, 2020
UpdatedApr 28, 2021