Objects with "Has Tree LOD" flag set...

Post » Sat Nov 27, 2010 10:38 pm

I'm adding the ability to move and/or copy most fixed objects to Feng Shui, and I've found that attempting to spawn any objects that have the "Has Tree LOD" flag set causes the game to immediately crash (thanks to c2552 for reporting crashes with certain objects that led me to this conclusion). The reason for the crash is not really important - it's not surprising since generating LOD data is a somewhat involved process done in the editor.

What I'm looking for is the best way to deal with these objects. First of all, there are only a limited number of Base Forms with this flag:

Fallout 3 records with "Has Tree LOD" flag:[STAT] [00015448] TreeDead02               :  Has Tree LOD, On Local Map[STAT] [000155A9] TreeDead03               :  Has Tree LOD, On Local Map, NavMesh Generation - Bounding Box[STAT] [000155AB] TreeDead04               :  Has Tree LOD, On Local Map[STAT] [00033C4E] 1stPersonPlasmaGrenade   :  Has Tree LOD[STAT] [00057ADC] TreeWastelandHardwood01  :  Has Tree LOD, On Local Map, NavMesh Generation - Bounding Box[STAT] [00077CC7] TreeWastelandEvergreen01 :  Has Tree LOD, On Local Map, NavMesh Generation - Bounding Box[STAT] [0007DF79] TreeWastelandEvergreen02 :  Has Tree LOD, On Local Map, NavMesh Generation - Bounding Box[STAT] [0007DF7A] TreeWastelandEvergreen03 :  Has Tree LOD, On Local Map, NavMesh Generation - Bounding Box[STAT] [0007DF7B] TreeWastelandEvergreen04 :  Has Tree LOD, On Local Map, NavMesh Generation - Bounding Box[STAT] [00086998] TreeHardwoodPebblesDirt01:  Has Tree LOD, On Local Map[STAT] [0008FFC3] TreeHardwoodMudDirt01    :  Has Tree LOD, On Local Map

To verify that this flag was the cause of the crashes, I made a plugin to override these records and clear it - this prevented the crashes when attempting to spawn these objects. But, with the exception of 1stPersonPlasmaGrenade (which I think is a mistake), there are hundreds or thousands of references to each of these placed throughout the wasteland, so if clearing this flag is actually preventing the LOD meshes/textures from being displayed in game, that's almost certainly not something I'd wanna do. Since overriding and clearing the flag would be the easiest solution for me, that's my first question. Does anyone know if this would be having an effect on LOD in-game, and subsequently having a negative effect on performance? I can't say for sure from my own limited observations, because I haven't seen a difference, but maybe I'm not viewing things from enough distance for their LOD to kick in anyway.

The next best way for me to handle this is to prevent the use of Feng Shui on these objects. Does anyone know if there's a way to detect from script if this flag is set on a given reference? I haven't found one, and I wouldn't be surprised if there wasn't, because I can't think of a need other than this one. If there's no such function or other method, I could hard-code a check for these particular forms to exclude them from FS selection - not too big a deal since there's relatively few forms to check for, but I haven't yet scanned the DLCs for this, and forms added by mods would be an unknown as well.

Any help is appreciated!
User avatar
LuCY sCoTT
 
Posts: 3410
Joined: Sun Feb 04, 2007 8:29 am

Post » Sat Nov 27, 2010 4:31 pm

I've never experimented with this but I'm guessing the flag is just used by the Geck to generate LOD objects for the tree statics when you run LOD object generation. I doubt it would have any effect on existing LOD. :shrug: You could ask the FOSE guys to make a function that allows you to toggle it on and off, I suppose.

The problem that occurs to me is that, even if you allow players to move the trees, you're not going to be able to move the tree LOD objects without regenerating the LOD. This would apply to any object that has LOD, since the LOD mesh is just 'underneath' the high-poly mesh. I'm not sure there's a way around this.
User avatar
James Shaw
 
Posts: 3399
Joined: Sun Jul 08, 2007 11:23 pm

Post » Sat Nov 27, 2010 8:02 am

The problem that occurs to me is that, even if you allow players to move the trees, you're not going to be able to move the tree LOD objects without regenerating the LOD. This would apply to any object that has LOD, since the LOD mesh is just 'underneath' the high-poly mesh. I'm not sure there's a way around this.

Oh, I didn't even think of that part. Would you know what game settings (View Distance, Distant LOD, etc.) I could use to be able to easily see any LOD meshes if they exist? Then I can test and figure this stuff out for sure.

Thanks for the reply!

EDIT:
By the way, here's the full report including all the DLCs:

Spoiler
Records with "Has Tree LOD" flag in Fallout3.esm:[STAT] [00015448] TreeDead02                      :  Has Tree LOD, On Local Map[STAT] [000155A9] TreeDead03                      :  Has Tree LOD, On Local Map, NavMesh Generation - Bounding Box[STAT] [000155AB] TreeDead04                      :  Has Tree LOD, On Local Map[STAT] [00033C4E] 1stPersonPlasmaGrenade          :  Has Tree LOD[STAT] [00057ADC] TreeWastelandHardwood01         :  Has Tree LOD, On Local Map, NavMesh Generation - Bounding Box[STAT] [00077CC7] TreeWastelandEvergreen01        :  Has Tree LOD, On Local Map, NavMesh Generation - Bounding Box[STAT] [0007DF79] TreeWastelandEvergreen02        :  Has Tree LOD, On Local Map, NavMesh Generation - Bounding Box[STAT] [0007DF7A] TreeWastelandEvergreen03        :  Has Tree LOD, On Local Map, NavMesh Generation - Bounding Box[STAT] [0007DF7B] TreeWastelandEvergreen04        :  Has Tree LOD, On Local Map, NavMesh Generation - Bounding Box[STAT] [00086998] TreeHardwoodPebblesDirt01       :  Has Tree LOD, On Local Map[STAT] [0008FFC3] TreeHardwoodMudDirt01           :  Has Tree LOD, On Local MapRecords with "Has Tree LOD" flag in Anchorage.esm:[STAT] [xx002DA2] DLCAnchTreeWastelandHardwood01  :  Has Tree LOD, On Local Map[STAT] [xx002DA3] DLCAnchTreeWastelandEvergreen01 :  Has Tree LOD, On Local MapRecords with "Has Tree LOD" flag in BrokenSteel.esm:Records with "Has Tree LOD" flag in ThePitt.esm:Records with "Has Tree LOD" flag in PointLookout.esm:[STAT] [xx002B8B] DLC04Tree01                     :  Has Tree LOD, On Local Map[STAT] [xx00457F] DLC04Tree01Lichen               :  Has Tree LOD, On Local Map[STAT] [xx004943] DLC04Tree01DirtGrass            :  Has Tree LOD, On Local Map[STAT] [xx006440] DLC04SwampTree01                :  Has Tree LOD, On Local Map[STAT] [xx006449] DLC04SwampTree02                :  Has Tree LOD, On Local Map[STAT] [xx00644C] DLC04SwampTree03                :  Has Tree LOD, On Local Map[STAT] [xx00810C] DLC04SwampTree01Canopy          :  Has Tree LOD, On Local Map[STAT] [xx008110] DLC04SwampTree02Canopy          :  Has Tree LOD, On Local Map[STAT] [xx008112] DLC04SwampTree03Canopy          :  Has Tree LOD, On Local Map[STAT] [xx00E774] DLC04TreeDead02                 :  Has Tree LOD, On Local Map[STAT] [xx00E775] DLC04TreeDead03                 :  Has Tree LOD, On Local Map[STAT] [xx00E776] DLC04TreeDead04                 :  Has Tree LOD, On Local Map[STAT] [xx00E777] DLC04TreeE03                    :  Has Tree LOD, On Local Map[STAT] [xx00E778] DLC04TreeE04                    :  Has Tree LOD, On Local Map[STAT] [xx00E779] DLC04TreeH01                    :  Has Tree LOD, On Local MapRecords with "Has Tree LOD" flag in Zeta.esm:

User avatar
Nany Smith
 
Posts: 3419
Joined: Sat Mar 17, 2007 5:36 pm


Return to Fallout 3