Cross-Fading Issue

Tom Scott 5 years ago updated by Aaron Brown 5 years ago 1

The cross-fading system which goes from mesh to billboard and vice-versa is not behaving as I would expect. Once a cross-fade begins, it should complete in a set period of time even if I don't move any closer. Currently, if I move slowly toward a billboard tree it will begin to cross-fade, but if I stop moving then the tree is stuck in a partially faded state where it's obvious there are dithered pixels. When observing other fading systems in games as soon as the cross-fading begins, it completes within a set period of time (1-2 seconds) even if I stop moving.


In the lower quality settings, the cross fade is more obvious because the fades by breaking the billboard / high quality mesh into dithered pixel-y patterns. But in the higher quality settings, it uses a post-processing shader to do the fade. I assume you are using one of the lower qualtiy settings... because you say you are seeing pixels.

When I originally designed LushLOD, I tested it with the option to fade the trees fully once the transition got triggered. I didn't think it looked as good. Because when you are standing still, it's much easier to tell that the trees are "changing shape", than when you are moving. When your whole camera is moving, that movement kind of helps to hide the fact that the trees are changing. So when I would stand still and a few of the trees continued to change shape, while the other trees didn't, I thought it looked way more obvious. But I was also using rather rounded looking trees where the pixels didn't stand out very much, so partially transitioned trees didn't leave obvious pixels on my screen.

I include the full source with my package. Each tree has a script attached to it, which controls the value of the transition as a float value. If you think it would look better to transition all the way, it wouldn't be too hard for you to get your hands on that float value and simply add a timer of some sort, to transition it fully once it starts to transition. If I remember correctly, I made the transition code slightly more complicated than I should have, so I apologize if you find it messy. ;p