When changing the static meshes of a Foliage instance by swapping the mesh or changing the scale (build settings) of the mesh, the bounds for the mesh do not appear to update to use the new bounds.

When painting a mesh with small bounds, if you switch it out with a new larger mesh the bounds of the smaller will be the determining factor in how they are frustum culled. This works the other way as well, by using a mesh with large bounds and then swapping it out for a mesh with smaller bounds will not be frustum culled. This latter method was checked using FreezeRendering command to see that the landscape tiles and other actors were culled but the swapped smaller mesh was not.

Tested and happens in all builds used:

4.11.2 CL-2946394
4.12.5 CL-3039270
4.13 Preview 2 CL-3088355
4.14 Dev-Main CL-3091931

Steps to Reproduce

1. Paint any small mesh like the Cube or Cylinder from the Modes panel.
2. Open the Static Mesh in the Static Mesh Editor and in the Build Settings set the Z scale to something like 5 and hit Apply Settings button.
3. In the viewport, move the camera in close to the foliage and start to look up towards the new height of the actors painted.

Regression: No

Results: The foliage is frustum culled based on the original bounding box of the mesh.

Expected: The foliage instances should update to use the bounds of the mesh if it is swapped or scale is changed.

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-35029 in the post.

Login to Vote

ComponentTools - Foliage
Affects Versions4.
Target Fix4.16
Fix Commit3396123
Main Commit3427032
Release Commit3396288
CreatedAug 22, 2016
ResolvedApr 17, 2017
UpdatedMay 12, 2017