Using non-LOD assets as LOD assets is going to have a sizeable GPU load cost attached. After all, you're using meshes with 20k+ vertices in places where other meshes have like 500 vertices. It's not too bad because it's not too many objects but if you'd replicate your approach to more objects/places, performance cost is going to add up quickly because of a phenomenon called vertex overdraw.
If you want to do this properly, you'll have to create actual LOD meshes for static objects that don't really have LOD.
I would agree with you and for anyone taking a look at this mod, you do run the risk above. In my first attempt with this, I did go all out and saw a performance hit as well as weird anomalies.
While this version for release isn't the best approach to achieve this goal it's what I have for now. I've also tested it for about 3-4 weeks now with acceptable performance hits (and they're in areas you would normally see fps drops - corvega, cambridge, downtown etc).
My ultimate goal is to learn how to properly create and implement new LODs. Still doing research but I can already tell it'll be lengthy project.
Heh thanks! I actually have a version of the roads (including sanctuary) but it does hit performance noticeably. Could upload under misc as experimental and as is for anyone interested.
Alrighty guys, its uploaded under Misc. Use at your own risk, didn't see any major issues besides fps drops (~10-20 in the expected areas). Honestly, I'm not using it since xlodgen seemed to do a pretty decent job for my loadout. You others that don't care and just want that fidelity... well let me know how it goes.
Edit: something I wanted to point out is that not all objects have lods when using the "is high lod" attribute. So you'll see roads for the most part but you'll also see missing roads - it's not a bug, thats just how the assets are set.
Also, I didn't do all of the roads in the town/cities, mostly around the cities and where you can see a good stretch from a distance. The idea was to reduce the chance of maxing out the engine while still trying to give some interesting details to the world.
hey dimedius have you made any progress with recreating meshes with less impact on performance? I also am wondering how you went about finding the objects you wanted to make lod and change it within xedit. Can you possible help me with that?
No progress, I've been distracted with other things but moseying about the reddits someone pointed to this mod which requires lodgen method (the preferred and safer path).
hmm this looks promising? ill try to find the meshes it points out in xEdit and then try to decimate it I think. ill let you know the performance cost of this badboi.
No, I tried to enable the Hi LOD attribute for the lights but nada.
If the LODs "exist" when checking this attribute they should show up but theres plenty that don't have it.
The only way around this is to create actual lods and to generate them into the ck if I understand correctly. I read another user was working on something like this but its been some time and dunno where they are.
Standing at Red Rocket, my Sanctuary build is only partially visible - I have to walk up on it and be interrupted with loading freezes/pauses as it loads the settlement, defenses, settlers, etc. This needs to stop!! I need things to be fully loaded at reasonable distances. I am looking for a way to make this happen.
So settle in for a history lesson how this game works...
The game only loads around 5 grids around the player (or whatever your ugrids is set to 7, 9 etc). Anything past that is handled by lods. I assume the vanilla set of lods was for performance reasons and why a lot of the lods look ugly or are missing. These lods are simpler 3d meshes to give a similar look etc and the data is baked into the engine.
If you wanted yur settlement to render, you'd have to increase the ugrids... not very performance friendly. The next more feasible approach is to get your settlement the way you want it, make a simple mesh that represents the look of your settlement and then bake that into your game.
This is probably not amazing advice and I don't work with meshes quite a lot, but I think one way that could be pretty simple to lower the vertice count on these LOD meshes would be to try and Decimate them in Blender. Doesn't lower the quality too much and makes them way less high poly than they were before, which can help a lot with performance. Again idk how helpful this advice would be but this is just my thoughts.
It's good advice and I do have some 3ds max experience and texturing, I'm just not familiar with how to implement them as new lods or resources to generate new lods and xlodgen atlas. Thanks for your input though :)
If you want some kind of workflow/approach to this, the FO4LODGen Resources from the xLODGen team show pretty much how it's done on the engine side of things.
If you're using Blender, the way to convert your Blender project to NIF is by converting the shape to NIF with Outfit Studio, then extracting the BSTriShape node of the shape from your OutfitStudio output with NifSkope, copy/pasting it into an existing LOD NIF to replace the BSTriShape that holds the vertices in that NIF. You don't need collisions for LOD so that's something to ignore, luckily.
Thanks for the great mod. I've been using it for a week(all three versions) and didn't notice any major performance issues. Atleast nothing more than the usual fps drops in places like downtown boston, lexington and settlements with lot of buildings. This mod makes lot of previously bland looking areas much better when looking from a distance. The added railroads and roads are just icing on the cake. But I do warn anyone thinking of using all three versions, while it is mostly fine there are still areas you might have minor stutters. I beleive that's because of loading the additional non-LOD assets. I will update my comment if I find any issues. Thanks!
This mod rules. You think you could do this for the Diamond city ball park exterior texture? it always takes so long to pop in for some reason I hate looking at it lol
1. To make a hi lod version appear (like many other objects) this LOD for DC would need to be removed. I don't know how to do that just yet.
2. The LOD textures themselves are around 256 or 512 (pretty small to work with). I was working on a slight project to enhance some of the LOD textures but not sure how to provide them for users (i.e. as a resource to create as a xLodgen file). You can actually see some of the edits in the pictures showcasing this mod (the highways, the water bridges, some buildings with bland orange or yellow textures, even DC is there. Here's another view).
3. The off chance that you might have some LOD transition issues could be a number of things but one that fixed it for me was changing in you FO4prefs.ini - fBlockLevel0Distance=45000 (anything higher and hd textures sometimes load, sometimes doesn't.
Just wondering, what effect does this have on stability? Speaking from experience, raising values such as uGridsToLoad might play fine initially, but if you put say, 24 hours into playing the game, you'll probably run into a CTD just because it's too much for Bethesda's inefficient code to handle, with another, non-modified example being the infamous Triangle Of Death. Overall, this mod seems like an great idea, and I'm not against it, I'm just not so sure about how it might perform in the long term when it comes to stability.
Really depends on your hardware I suppose. I did a version where many more items had hi lod enabled and it was fairly stable with teh exception where cars spawned from the sky!! but this current version is a majorly reduced version of it.
Interesting. I guess it depends on hardware as you were saying, but also where you are in game, as some areas are harder to run than others. Although, according to Understanding CTD's In The Triangle Of Death, hardware only benefits the system to a certain point unfortunately. It'll be interesting to see how this mod works out for users on older PC's, but hopefully it goes well for them. It is certainly nice to have detailed LOD's in the distance, especially when using things like scopes.
I began making some LOD assets some are missed by the F04LodGen team, such as the large Corvega sign, This mod, while I wont use for performance, might be handy to see what other items need LOD meshes that are missing. Do you compile previous other known areas into this mod, like nuka world transit centre and I think it was musem of witchcraft?
I did note a few areas but I suppose it would depend on how much lod you're willing to create. There's few major ones like the riptide, cambridge downtown (with the subway entrance), the junkyard near corvega. My approach was to address most areas that should noticeably be visable. PM me and I can send you more info!
36 comments
If you want to do this properly, you'll have to create actual LOD meshes for static objects that don't really have LOD.
In my first attempt with this, I did go all out and saw a performance hit as well as weird anomalies.
While this version for release isn't the best approach to achieve this goal it's what I have for now. I've also tested it for about 3-4 weeks now with acceptable performance hits (and they're in areas you would normally see fps drops - corvega, cambridge, downtown etc).
My ultimate goal is to learn how to properly create and implement new LODs.
Still doing research but I can already tell it'll be lengthy project.
Appreciate your advice and feedback, thank you!
Edit: something I wanted to point out is that not all objects have lods when using the "is high lod" attribute. So you'll see roads for the most part but you'll also see missing roads - it's not a bug, thats just how the assets are set.
Also, I didn't do all of the roads in the town/cities, mostly around the cities and where you can see a good stretch from a distance. The idea was to reduce the chance of maxing out the engine while still trying to give some interesting details to the world.
Edit 2 some pics:
1st, 2nd, 3rd, 4th, 5th
If the LODs "exist" when checking this attribute they should show up but theres plenty that don't have it.
The only way around this is to create actual lods and to generate them into the ck if I understand correctly. I read another user was working on something like this but its been some time and dunno where they are.
Anyone?
Thx 4 any assistance!
PM me
The game only loads around 5 grids around the player (or whatever your ugrids is set to 7, 9 etc). Anything past that is handled by lods. I assume the vanilla set of lods was for performance reasons and why a lot of the lods look ugly or are missing. These lods are simpler 3d meshes to give a similar look etc and the data is baked into the engine.
If you wanted yur settlement to render, you'd have to increase the ugrids... not very performance friendly. The next more feasible approach is to get your settlement the way you want it, make a simple mesh that represents the look of your settlement and then bake that into your game.
If you're using Blender, the way to convert your Blender project to NIF is by converting the shape to NIF with Outfit Studio, then extracting the BSTriShape node of the shape from your OutfitStudio output with NifSkope, copy/pasting it into an existing LOD NIF to replace the BSTriShape that holds the vertices in that NIF. You don't need collisions for LOD so that's something to ignore, luckily.
This mod makes lot of previously bland looking areas much better when looking from a distance. The added railroads and roads are just icing on the cake. But I do warn anyone thinking of using all three versions, while it is mostly fine there are still areas you might have minor stutters. I beleive that's because of loading the additional non-LOD assets.
I will update my comment if I find any issues.
Thanks!
I almost feel that the issues I had with the cars spawning could be due to an attribute where "respawn" was ticked (for some cars).
1. To make a hi lod version appear (like many other objects) this LOD for DC would need to be removed. I don't know how to do that just yet.
2. The LOD textures themselves are around 256 or 512 (pretty small to work with). I was working on a slight project to enhance some of the LOD textures but not sure how to provide them for users (i.e. as a resource to create as a xLodgen file). You can actually see some of the edits in the pictures showcasing this mod (the highways, the water bridges, some buildings with bland orange or yellow textures, even DC is there. Here's another view).
3. The off chance that you might have some LOD transition issues could be a number of things but one that fixed it for me was changing in you FO4prefs.ini - fBlockLevel0Distance=45000 (anything higher and hd textures sometimes load, sometimes doesn't.