Description

Users are reporting crashes and poor performance when generating foliage using the Experimental Procedural Foliage Volume tool.

Regression?
Yes, this does not occur in the previous engine version of 4.13.2-3172292.

Steps to Reproduce

1. Download and Open "LandscapeMountains" project for engine version 4.13.2
2. Enable the Experimental Procedural Folliage
3. Create new Procedural Foliage Spawner.
4. Add new Foliage Type using the SM_Pine mesh
5. Set the Volume Brush Size to 100,000 for x, y, and z.
6. Use the properties in the attached images within the zipped folder.
7. Resimulate
8. Repeat steps 1-7 in 4.14.3

Outcome It takes a significantly longer amount of time to generate the foliage instances. It will sometimes time out or cause a crash when attempting to generate the instances as well.

Expected The foliage is populated within the same timeframe as previous engine versions and no crash occurs.

Callstack

PhysX3PROFILE_x64!physx::Bp::SimpleAABBManager::removeBounds() bpsimpleaabbmanager.cpp:1708
PhysX3PROFILE_x64!physx::Sc::ElementSim::removeFromAABBMgr() scelementsim.cpp:151
PhysX3PROFILE_x64!physx::Sc::ShapeSim::removeFromBroadPhase() scshapesim.cpp:163
PhysX3PROFILE_x64!physx::Sc::Scene::removeShapes() scscene.cpp:5042
PhysX3PROFILE_x64!physx::Sc::Scene::removeStatic() scscene.cpp:5094
PhysX3PROFILE_x64!physx::Scb::Scene::remove<physx::Scb::RigidStatic>() scbscene.cpp:414
PhysX3PROFILE_x64!physx::Scb::Scene::removeActor() scbscene.cpp:583
PhysX3PROFILE_x64!physx::NpRigidStatic::release() nprigidstatic.cpp:67
UE4Editor_Engine!TermBodyHelper() bodyinstance.cpp:1972
UE4Editor_Engine!FBodyInstance::TermBody() bodyinstance.cpp:2025
UE4Editor_Engine!UInstancedStaticMeshComponent::ClearAllInstanceBodies() instancedstaticmesh.cpp:1084
UE4Editor_Engine!UInstancedStaticMeshComponent::OnDestroyPhysicsState() instancedstaticmesh.cpp:1157
UE4Editor_Engine!UActorComponent::DestroyPhysicsState() actorcomponent.cpp:1168
UE4Editor_Engine!UActorComponent::ExecuteUnregisterEvents() actorcomponent.cpp:1197
UE4Editor_Engine!FComponentReregisterContextBase::UnRegister() componentreregistercontext.h:34
UE4Editor_Engine!UStaticMeshComponent::InvalidateLightingCacheDetailed() staticmeshlight.cpp:411
UE4Editor_Foliage!FFoliageMeshInfo::AddInstance() instancedfoliage.cpp:963
UE4Editor_Foliage!FFoliageMeshInfo::AddInstance() instancedfoliage.cpp:946
UE4Editor_FoliageEdit!FEdModeFoliage::AddInstancesImp() foliageedmode.cpp:1353
UE4Editor_FoliageEdit!FEdModeFoliage::AddInstances() foliageedmode.cpp:1283
UE4Editor_FoliageEdit!FProceduralFoliageComponentDetails::OnResimulateClicked() proceduralfoliagecomponentdetails.cpp:88
UE4Editor_FoliageEdit!TMemberFunctionCaller<FProceduralFoliageComponentDetails,FReply() delegateinstanceinterface.h:161
UE4Editor_FoliageEdit!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<FProceduralFoliageComponentDetails,FReply() tuple.h:116
UE4Editor_FoliageEdit!TBaseSPMethodDelegateInstance<0,FProceduralFoliageComponentDetails,0,FReply __cdecl() delegateinstancesimpl.h:318
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() delegatesignatureimpl.inl:522
UE4Editor_Slate!SButton::OnMouseButtonUp() sbutton.cpp:275
UE4Editor_Slate!<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1>::operator() slateapplication.cpp:5010
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1> >() slateapplication.cpp:215
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() slateapplication.cpp:4999
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() slateapplication.cpp:5462
UE4Editor_Slate!FSlateApplication::OnMouseUp() slateapplication.cpp:5439
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() windowsapplication.cpp:1652
UE4Editor_Core!FWindowsApplication::DeferMessage() windowsapplication.cpp:2071
UE4Editor_Core!FWindowsApplication::ProcessMessage() windowsapplication.cpp:814
UE4Editor_Core!FWindowsApplication::AppWndProc() windowsapplication.cpp:678
user32!<Unknown>
user32!<Unknown>
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() windowsplatformmisc.cpp:951
UE4Editor!FEngineLoop::Tick() launchengineloop.cpp:2811
UE4Editor!GuardedMain() launch.cpp:152
UE4Editor!GuardedMainWrapper() launchwindows.cpp:126
UE4Editor!WinMain() launchwindows.cpp:202
UE4Editor!__scrt_common_main_seh() exe_common.inl:264
kernel32!<Unknown>
ntdll!<Unknown>

Have Comments or More Details?

Head over to the existingAnswerHub thread and let us know what's up.

17
Login to Vote

Duplicate
ComponentTools - Foliage
Affects Versions4.14.3
Target Fix4.15
Fix Commit3252614
Main Commit3389599
CreatedFeb 14, 2017
ResolvedFeb 16, 2017
UpdatedApr 27, 2018