-
Notifications
You must be signed in to change notification settings - Fork 243
Add support for props to skip the automatic computation of LODs #6906
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
I'm not sure if this is going in a direction that is helpful to address the root problem. In theory the changing of LOD levels should ideally be barely noticeable to the user. When the lowest level looks better than the level before that, then we should investigate there. |
@BlackYps This PR is designed to only give us an additional knob to play with. Right now, the blueprint values are skipped entirely, but I think it would be beneficial to at least have the option for blueprint values to take precedence, if desired.
After some additional testing and further contemplation, I think the way the second LOD looks is fine, and the issue is that it’s currently being used at too-high zoom levels. I addressed this in my other PR. This is the maximum zoom level at which the second LOD level is currently visible:As you can see, tree groups are more difficult to identify, and the overall look feels a bit out of place. Displaying the most detailed LOD level for longerYou made the suggestion, that the second, less detailed LOD level could be removed entirely. I found the idea intriguing, so I tested it. With the second LOD level retained: With the second LOD level removed: Visually, I prefer the first screenshot (with the second LOD level retained). Removing it, however, eliminates the transition between the LOD levels, which looks smoother and more modern - albeit with a potential performance cost that still needs to be investigated. In summary, I think a good argument can be made for both keeping and removing the second LOD. I would prefer to keep it for now and make the LOD behavior more similar to how it was pre-patch, while retaining the increased maximum render distance of trees (which is what I am doing here and in #6907). |
If the goal is to prefer showing higher LODs sooner then you can also adjust the formula found here: fa/lua/system/blueprints-props.lua Lines 115 to 137 in 3bad1c4
If you change
Looking at these results it may also be interesting to add a flat value of 10 to each level. Because a LODCutoff of 4.3 won't show up any time soon, let alone 1.45 😃 ! |
@Garanas Good catch, It looks promising on Seton's, but I haven't tested very many other maps yet. I think red maps still need some tuning, the most detailed LOD of a lot of the trees there is still not visible for very long. @Rhaelya Can you give these changes a try to see if this does what you are looking for? I did some preliminary testing on Seton's, and I think this is the outcome we're after. You won't need the changes from #6907 to test the new LOD levels now. |
I did some more testing on a variety of maps, and found no glaring issues. If the @BlackYps Since you are more experienced than I am, can you take another look at this? |
Description of the proposed changes
As per the title. Currently, all props have their blueprint-defined LOD values overridden. This is good because it allows us to test and implement sweeping changes with relatively little work. However, in some cases, a bit more control is desired, e.g., when certain LOD levels are meant to be displayed for longer. This PR adds this option via the introduction of the
USEBLUEPRINTLOD
category, which enables a prop's blueprint values to take precedence again. I imagine this could also be useful for mod authors in cases where they want to exclude some props from the automatic computation.At the moment, no props have this category. I will create a separate PR to fine-tune the individual LOD values of certain props in the near future. The goal is to preserve the improvements Jip made while reverting the distance at which the VertexNormal of certain props is displayed to its previous value. From what I can tell, this is possible.
Checklist