Jump to content

busecombinedobject Alternative?


Spifferino

Recommended Posts

Hello all,

 

I've recently been trying to figure out a way to bypass using the line "busecombinedobjects=0" in order to get my mod regrowth to work. It's been brought to my attention this line is causing FPS loss and creating LOD bugs. I was wondering if anyone would have any suggestions or ideas of how to do this, other than editing all cell data by hand. Thanks for any and all feedback or responses.

 

- Spiffy

Link to comment
Share on other sites

I don't think there is anything that can be done. The pre-combined meshes are part of Bugthesda's attempt to improve performance and are part of the game engine. There is the "No More LOD Flicker" mod which does help somewhat, but nothing fixes it entirely.

 

Also even if you were to go through and edit every cell, and re-render/re-make every pre-combined mesh, as greekrage pointed out, it would cause extensive mod conflicts, you end up with hundreds of "patch/compatibility" requests (read- 'nasal whines')

Link to comment
Share on other sites

You can fix the occlusion bug (which is what I assume you mean) by also adding bUsePreculledObjects=0 under [Display], but that will make the performance drop even worse, and ironically enough actually cause the bug in interior cells*.

It should only happen for settlements where people are able to scrap the buildings that have the occlusion meshes, so you could instead just recommend putting Scrap Everything after your mod (for those that use it) or getting the "ini compatible" version of my Spring Cleaning patch**, as they wouldn't be able to scrap most of the stuff causing occlusion bugs without a scrap mod.

You would still have the performance hit caused by using the ini edit you are currently using, but it would fix the LOD flicker in any vanilla settlement cell.

The only way to get your mod to work without the ini is indeed to edit each cell record (If you decide to do so, I'd recommend making it a seperate esp). That said, you wouldn't necessarily have to do it by hand. If you check out mator's Automation Tools, the AT - QuickChange script lets you remove a field on as many records as you want, so you could use it to remove the XCRI (and possibly XPRI, not sure if needed) field from any cell you want your edited tree meshes to show up in. This would have the same function as the ini edit, but it would let you exclude places (like the city) that are most heavily impacted by the ini edit. If you want to "regrow" a tree that is in a "cluttered" cell like the city, I would recommend creating a new record and having it in the exact same position as the original tree (if you haven't changed the base shape of the trunk/branches). This would keep the game from disabling precombineds and previs in that cell***.

Probably the quickest way to get a list of all the cells you need to edit is to:


1) open up the CK (making a new mod preferably, even if you plan to integrate the final changes into the same plugin as the rest of your mod)
2) delete all the tree records pointing to trees you edited the meshes of (From what I know, this should mark all the placed references of those objects as deleted, which will put the cell records they are in into the plugin as well)
3) Save this new plugin, and close the CK
4) Open the plugin in FO4Edit
5) Delete everything but the Worldspace (and Cell, if there are any) categories
6) Use the AT - Quickchange script I mentioned above on all the cells (you have to expand the sub-blocks, so you are selecting the cell records themselves) to remove the fields I mentioned.
7) repeat step 6 as needed if you are removing multiple fields.

Do to a quirk in how the script works, it will actually delete any sub-record attached to the record you are editing. This doesn't matter for most, as most record types don't have sub-records, but it is relevant for Worldspace and Cell records as well as Quest records. This is actually helpful here, as you don't have to delete all the references that were marked as deleted.

To use the QuickChange script to remove an entire field:
1) Select all the records you want it to be applied to
2) Right click (in the left-hand section, where the mods are listed) -> Apply Script, and select the AT - Quickchange script
3) Change the function from "Add" to "Remove"
4) Put the field name where it says "<Path> (the field name is the abbreviation, so XCRI for the Combined References field, EDID for the Editor ID field, etc...)
5) Click OK

Even though you can tell it to remove more than one thing at a time, you don't want to do it for full fields like that, at least not for Cell records. It might work for removing parts of a field (such as a single keyword from an armor record), but it just gives an error if you try to remove multiple fields at once for cell records

You can then either check to see what affected cells cause significant lag (i.e. cells that make up the city, and possibly a few others), or just leave that to your mod users to report. To make sure the occlusion bug doesn't happen, feel free to use "Deep Copy as Override" on my patch I linked above, to disable previs in the settlement areas. The only way the occlusion bug will occur is when a large object is removed, so disabling previs shouldn't be needed outside of settlements (with the exception of people using a mod like Conquest that lets you build anywhere, but they should know by now that they either need to use both ini edits, or deal with it).

 

Then just add a copy of your ini with bUseCombinedObjects=0 removed, and make it an optional file for people to download.

It's still a fair amount of work, but nowhere near what it would be to do it entirely by hand, and it should minimize the mod conflicts you'll cause while eliminating most of the performance impact in the most performance-heavy areas of the game.



*this is due to sloppiness on Bethesda's part
**it works for any scrap mod, not just spring cleaning
***due to a workaround Bethesda implemented, if your mod touches a single record that is part of a precombined mesh, previs and precombineds are disabled for that cell.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...