Description

Performing operations on a Landscape with simplified collision can result in an assertion

Steps to Reproduce

1. Create a new level
2. Create any landscape
3. On the landscape's properties, set the SimpleCollisionMipLevel property to 1
4. Select landscape component deletion mode and remove a landscape component
5 Result: Assertion failed: CollisionHeightData.GetElementCount() == FMath::Square(CollisionSizeVerts)

Callstack

> UE4Editor-Landscape-Win64-Debug.dll!ULandscapeHeightfieldCollisionComponent::UpdateHeightfieldRegion(int ComponentX1, int ComponentY1, int ComponentX2, int ComponentY2) Line 1160 C++
UE4Editor-Landscape-Win64-Debug.dll!ULandscapeComponent::UpdateCollisionHeightData(const FColor * HeightmapTextureMipData, const FColor * SimpleCollisionHeightmapTextureData, int ComponentX1, int ComponentY1, int ComponentX2, int ComponentY2, bool bUpdateBounds, const FColor * XYOffsetTextureMipData) Line 932 C++
UE4Editor-Landscape-Win64-Debug.dll!FLandscapeEditDataInterface::SetHeightData(int X1, int Y1, int X2, int Y2, const unsigned short * Data, int Stride, bool CalcNormals, const unsigned short * NormalData, bool CreateComponents) Line 433 C++
UE4Editor-LandscapeEditor-Win64-Debug.dll!ALandscape::SplitHeightmap(ULandscapeComponent * Comp, bool bMoveToCurrentLevel) Line 141 C++
UE4Editor-LandscapeEditor-Win64-Debug.dll!FEdModeLandscape::DeleteLandscapeComponents(ULandscapeInfo * LandscapeInfo, TSet<ULandscapeComponent *,DefaultKeyFuncs<ULandscapeComponent *,0>,FDefaultSetAllocator> ComponentsToDelete) Line 3170 C++
UE4Editor-LandscapeEditor-Win64-Debug.dll!FLandscapeToolStrokeDeleteComponent::Apply(FEditorViewportClient * ViewportClient, FLandscapeBrush * Brush, const ULandscapeEditorObject * UISettings, const TArray<FLandscapeToolInteractorPosition,FDefaultAllocator> & InteractorPositions) Line 1098 C++
UE4Editor-LandscapeEditor-Win64-Debug.dll!FLandscapeToolBase<FLandscapeToolStrokeDeleteComponent>::BeginTool(FEditorViewportClient * ViewportClient, const FLandscapeToolTarget & InTarget, const FVector & InHitLocation) Line 1342 C++
UE4Editor-LandscapeEditor-Win64-Debug.dll!FEdModeLandscape::InputKey(FEditorViewportClient * ViewportClient, FViewport * Viewport, FKey Key, EInputEvent Event) Line 1444 C++
UE4Editor-UnrealEd-Win64-Debug.dll!FEditorModeTools::InputKey(FEditorViewportClient * InViewportClient, FViewport * Viewport, FKey Key, EInputEvent Event) Line 751 C++
UE4Editor-UnrealEd-Win64-Debug.dll!FEditorViewportClient::InputKey(FViewport * InViewport, int ControllerId, FKey Key, EInputEvent Event, float __formal, bool __formal) Line 2278 C++
UE4Editor-UnrealEd-Win64-Debug.dll!FLevelEditorViewportClient::InputKey(FViewport * InViewport, int ControllerId, FKey Key, EInputEvent Event, float AmountDepressed, bool bGamepad) Line 2510 C++
UE4Editor-Engine-Win64-Debug.dll!FSceneViewport::OnMouseButtonDown(const FGeometry & InGeometry, const FPointerEvent & InMouseEvent) Line 482 C++
UE4Editor-Slate-Win64-Debug.dll!SViewport::OnMouseButtonDown(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 195 C++
UE4Editor-Slate-Win64-Debug.dll!FSlateApplication::RoutePointerDownEvent::__l5::<lambda>(const FArrangedWidget TargetWidget, const FPointerEvent & Event) Line 4953 C++
UE4Editor-Slate-Win64-Debug.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,FReply <lambda>(const FArrangedWidget, const FPointerEvent &) >(FSlateApplication * ThisApplication, FEventRouter::FBubblePolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerDownEvent::__l5::FReply <lambda>(const FArrangedWidget, const FPointerEvent &) & Lambda) Line 239 C++
UE4Editor-Slate-Win64-Debug.dll!FSlateApplication::RoutePointerDownEvent(FWidgetPath & WidgetsUnderPointer, FPointerEvent & PointerEvent) Line 4942 C++
UE4Editor-Slate-Win64-Debug.dll!FSlateApplication::ProcessMouseButtonDownEvent(const TSharedPtr<FGenericWindow,0> & PlatformWindow, FPointerEvent & MouseEvent) Line 4898 C++
UE4Editor-Slate-Win64-Debug.dll!FSlateApplication::OnMouseDown(const TSharedPtr<FGenericWindow,0> & PlatformWindow, const EMouseButtons::Type Button, const FVector2D CursorPos) Line 4816 C++
UE4Editor-Core-Win64-Debug.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 1712 C++
UE4Editor-Core-Win64-Debug.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,0> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 2127 C++
UE4Editor-Core-Win64-Debug.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 869 C++
UE4Editor-Core-Win64-Debug.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 713 C++
[External Code]
ammemb64.dll!0000000001dbc561() Unknown
ammemb64.dll!0000000001e16a07() Unknown
[External Code]
avcuf64.dll!000000006f33d0f9() Unknown
[External Code]
UE4Editor-Core-Win64-Debug.dll!FWindowsPlatformMisc::PumpMessages(bool bFromMainLoop) Line 983 C++
UE4Editor-Win64-Debug.exe!FEngineLoop::Tick() Line 3058 C++
UE4Editor-Win64-Debug.exe!EngineTick() Line 63 C++
UE4Editor-Win64-Debug.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 169 C++
UE4Editor-Win64-Debug.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 199 C++
[External Code]

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - LD & Modeling - Terrain - Landscape
Affects Versions4.154.164.17
Target Fix4.16.24.17
Fix Commit3475725
CreatedMay 18, 2017
ResolvedJun 6, 2017
UpdatedApr 27, 2018