UE4.9 does not hide last LOD - speedtree

I’ve updated my project to 4.9, from 4.8.3 and all my speedtree imported trees no longer hide lod3, no matter the distance(except from when I completely cull by distance the entire actor).
Lod3 in my case is the billboard tree.
Lod mode for the actor is based on manual screen size. My lod settings are lod1: screensize 1, lod2: screensize 0.25, lod3: screensize 0.1
These settings worked right just before this update.
It does not happen on any of my vegetation objects, just the speedtree tree.

Hello Virgil Tuser,

I am sorry you are experiencing this issue. I ran into a similar issue when I was using the foliage tool and imported a project. The result was no matter what distance I had my cull distance set to I could see my trees.

I am also using Speed Trees so no worries there. What I ended up doing is adding a a PerInstanceFadeAmount node inside of my material. I then multiplied that by the alpha channel for my texture and plugged that into my opacity map.

Since culling gives an abrupt halt to what is calculated, the PerInstanceFadeAmount helps to calculate a smoother drop off.

Please try this troubleshoot and let me know if it works. If not then please post a screenshot of your viewport and where you have your LOD"s implemented on your mesh. Also, please link you .uproject, content, and config folders.

Thank you,

Hello,

Thank you for the quick reply. But, it seems as PerInstanceFadeAmount is returning some rather unuseable numbers for me - definitely does not relate to the culling I’ve set in the instance area. + I had to oneminus it, then divide it by 2.5 to increase the range barely. But I figured it’s not worth using it since it doesn’t relate nicely to instance culling numbers anywho.
So, I ended up using particle fade so I could more easily control fade distance and offset from camera.
I’m abandoning this particular problem now, since the trees I’m using shall get changed by custom trees anyway. But was curious what happened all of the sudden. + now it’s extra weird since PerInstanceFadeAmount seems to throw bogus at me x___x

Hello Virgil,

The per instance fade amount node does relate to culling. To clarify, this is a link to our documentation with the highlighted area directly relating to PerInstanceFadeAmount.

Could you please link a screenshot of what you mean by “bogus”. Also if you could link how you are handling the particle fade. UE 4.9 now utilizes a hierarchical LOD system through the use of volumes which is listed in our release notes here.

Lastly there is a new grass feature that is implemented through your materials and through a Landscape Grass Type in your content browser.

Because of these new features the old way of handling LOD’s may not be handled in the same way as in 4.8.3.
Please look into some of these new features and if you are still having problems then please feel free to post again.

Thank you,

Wow! Thank you . I won’t have time to check this out today but I’ll be sure to get back to you after looking into all this material.
I was referring to bogus as I was expecting the instance fade to work based on cull values set on instance settings.

Hi I’m having the exact same issue here - speedtree instanced foliages are rendering all their LODs at close distances, then removing near LODs as you get farther away.

Unless I’m completely misunderstanding something, I don’t think this is an issue of fading out over distance for smooth transition - the billboard is rendering all the time. Adding the perinstancefade node does make the transition smoother, but all the LODs is still showing up, which is really apparent when the ‘wind’ moves them, some LOD moves and the other doesn’t with the effect of making the tree actually just look like a bunch of meshes occupying the same location:

I am back with more info, having had time to work a bit more this weekend.
I’d like to report this as an actual problem starting with 4.9. I appreciate your suggestions for getting past this issue but I found out that all my LODs for vegetation never actually transition and hide. I understand 4.9 handles LODs differently but the system is clearly broken for me.
So not only speedtree trees retain LODs. It is the same for grass, flowers, plants, everything that is painted on a terrain. UE 4.9 stacks all their LODs all together with full visibility at all times until the whole thing gets culled entirely.
This system still DOES work nicely in the preview window of each vegetation object, it is in game and editor viewports that it completely ignores any distances assigned to LODs screen sizes - even automatic distance doesn’t work. I’d really like to keep my LOD system as originally created and really looking forward to a fix in a future version :frowning:

Thank you,
Virgil

I can verify the reproducability of this issue. I’m having the exact same problem. When I drop a speed tree in the game, LODs are correct. It happens as an instanced foliage mesh.

I can confirm this is only happening with instanced foliage meshes. I’m having the exact same issue.

Hello all,

This is a known issue that is currently being worked on. What is happening is the smooth transition between LOD’s is not transitioning very well. The system works and is being called however, what is occurring at different levels is LOD’s is being called at the same distance.

The work around is to enter in the console command foliage.ditheredLOD 0. This will forcefully move your LOD’s to the first LOD layer within the Hierarchical LOD system and be called at what value you set it to inside of your Static Mesh. In other words the system inside of the Hierarchical LOD system is having some issues at this point.

I will keep you all posted on it’s progress.

Thank you,

I can now safely approve that version 4.9.1 has fixed all the instanced vegetation LODs flawlesly in all my cases!
Thank you again for the stellar support, !

Not a problem. I’m glad this issue is resolved and you can continue with your projects.

I am having a similar-ish problem but in reverse - my instanced speedtrees work fine in all cases, but when I enable the hierarchical LOD feature in the World Settings, my individual speedtree actors break (that is, the trees I drop in as individual static meshes in the main play area, rather than paint as foliage on the periphery). The scaling, wind animation and (probably) LOD settings go wrong, and some meshes around them are also affected (possibly some borked shadows - i.e. the lawn beneath the tree, which is a static mesh).

e.g. first picture is as intended (bar the over-bright foliage which is the subject of another question/bug report), then the other pictures are the same scene viewed from different positions.

I’ve reimported the trees in question with both the LOD for painted foliage and the LOD for individual actor settings selected, with no change in effect.

These are just standard speedtrees from a standard package on sale - White Birch, American Elm, London Plane, Douglas Fir, and some grass, I think.

Any suggestions? Turning off hierarchical LOD is a fix but I’d like to have the option of HLOD.

(This isn’t letting me add images for some reason so here’s the links)



Let me know if I should raise this as a separate report/question and I’ll be happy to do so

Hello Fatmarrow,

Please raise this as a separate issue. It appears to be specific to speedtrees with HLOD’s.