Jump to content

[WIPz] TES5Edit


zilav

Recommended Posts

Follow up:  

 

I tested SolitudeVittoriaVicisHouse which has 3 levels of overlapping tris in the navmesh.  My hex template still works perfectly fine on the block of data at the end, so I believe the chunks are computed only in two dimensions.  I'll take some time and confirm that visually in the CK.  From a top down view, all the tris with a vertex inside the partition should end up in the partition regardless of Z-value. 

 

It's also theoretically possible that this data could be validated or generated by Edit.  I realize this is a sore subject for some,  but I think the kind of user Sharlikran is worried about doesn't even know Edit has scripts. :)

 

Though, as of now I'm suggesting this merely from an academic standpoint.  I would like to know that we know with 100% certainty the contents of the partitions can be predicted.  Hypothetically, a navmesh could become corrupted by the CK, and if these chunks are somehow integral to the functioning of the navmesh, maybe regenerating the partitions could uncorrupt the navmesh.  I would doubt this is ever the case, though I would be interested in looking into navmeshes generated by the CK pre-1.6 to see why navmeshes broke in the first place.

 

With all that said, even though I know algorithmically exactly how to generate the chunks,  I think right now I would like to figure out what they are even for.  I thought maybe some kind of culling, though obviously not of the visual variety, since the navmesh is relevant only to the AI agents and not the frustum.   I thought maybe it had to do with pathing, narrowing down what sections to solve for, yet there is nothing stored to say which of the chunks are adjacent (though this can be computed at runtime).  The triangles inside each chunk are not even necessarily contiguous, both in X/Y and also Z (overlap), so such an acceleration structure seems odd.  Though I believe there are *always* triangles shared between adjacent chunks, assuming at least one triangle on the edge in question does not have all 3 vertices inside the partition.  

 

 

Edit: 

 

New version works great! :)

Link to comment
Share on other sites

i sincerely hope i was not the guy you though was complaining about edits functionality with navmeshes. i know i asked a question regarding it, hoping that maybe i would work. but i never expected anything or complained about it not working. it was purely informative and i have the highest respect for all the work that went into edit.

Link to comment
Share on other sites

I think it is purely for optimization. The whole engine operates on square blocks of something: worldspace is divided into blocks, blocks into subblocks, subblocks into cells, landscape into quadrants, lod into tiles, and now navmeshes into square chunks. Really hope they will get rid of that system in TES6 or use something more convinient since new gen consoles have enough power and memory to calculate almost anything in runtime.

  • Like 1
Link to comment
Share on other sites

I think it is purely for optimization. The whole engine operates on square blocks of something: worldspace is divided into blocks, blocks into subblocks, subblocks into cells, landscape into quadrants, lod into tiles, and now navmeshes into square chunks. Really hope they will get rid of that system in TES6 or use something more convinient since new gen consoles have enough power and memory to calculate almost anything in runtime.

Or it could be leftover. I don't know about TES games, but before navmesh we just used tiles. Usually square tiles. We were thought very forward-looking in freeciv to use either square or hexagonal tiles back in the late '90s. Sure enough, Civ IV used hex.

Link to comment
Share on other sites

It's also theoretically possible that this data could be validated or generated by Edit. I realize this is a sore subject for some, but I think the kind of user Sharlikran is worried about doesn't even know Edit has scripts. :)

I'm a bit pessimistic and doom and gloom. I'd take my comments with a grain of salt. It's clear to me you know what you are talking about. I couldn't have visualized it that way.

I'm not against Edit being able to work with the NavMesh properly. My only concern is that skilled individuals like yourself will use it correctly because you know what you're doing. Then someone will come along and do it wrong and say that it's broke or have unreasonable expectations for its use when it is only intended for certain things.

Link to comment
Share on other sites

I'm not against Edit being able to work with the NavMesh properly. My only concern is that skilled individuals like yourself will use it correctly because you know what you're doing. Then someone will come along and do it wrong and say that it's broke or have unreasonable expectations for its use when it is only intended for certain things.

 

Oh, I definitely understand those people... well I don't understand them, but I empathize.  :hug:

 

OT: I recently had an entire comment thread on my mod saying that they had to uninstall it because they had "VM Frozen errors" in their logs...  I had to explain to them that this is the Papyrus VM freezing (and also thawing) when the game is loaded and unloaded (started/unpaused, or quit/paused).   Odd that they somehow didn't notice this in 100% of their logs prior to and after MY mod was installed...  This is the epitomization of confirmation bias.  And in this case giving them access to Papyrus logs was definitely detrimental. 

 

Back to the topic at hand, I think living with a crippling fear of such users is no way to live at all--though I do understand resentment toward your user base and the lack of motivation therefrom... :whistle:.  Edit should just not exist at all if you worry about everyone who is abusing it--I'm being hyperbolic of course.  I'm not saying this to push my thoughts about the navmesh stuff, just about changes to Edit in general.  They can already do significant damage by misusing any of the scripts anyway.

 

Also, give them the benefit of the doubt.  If I wouldn't have had tools like Nifskope, Edit, the CK, etc. over the past several years, I wouldn't be at the point today where I'm considered one of the smart ones (putting words in your mouth a bit ;)) ...  In fact, I remember trying to play with Nifskope nearly ten years ago and it was completely mindboggling and foreign to me.  Now I'm one of the people programming for it.  :geek:

 

But yeah, I haven't really thought if anything useful can come of editing navmeshes in any way from inside Edit.  But I think from a dev standpoint, a script to export that data, and to generate the chunks would help toward understanding the format.  Edit will most likely never integrate 3D so not much can be done to visualize the navmesh from within Edit.   But if such a thing were possible with Edit maybe it'd pique someone's interest in writing an external tool for tweaking or optimizing navmeshes.  Or at least validating / finding errors in bulk.  Of course nothing beats Havok's own tools, but going cell by cell in the CK is a scary thought.

Link to comment
Share on other sites

I sincerely hope I was not the guy you though was complaining about edits functionality with navmeshes.

No I'm not talking about any one person. I'm talking about all the posts that I've seen aggregately over the last year or so.

Link to comment
Share on other sites

Thanks for understanding jonwd7. A user recently tried to merge SkyRe with another mod and did it wrong, lost all faith and respect in the program. So I can see you understand exactly where I am coming from. I don't think it could have been explained any better right down to the confirmation bias. I think good things will come from the information you provided.

Link to comment
Share on other sites

  • 2 weeks later...

navmesh Triangle flags "Unknown 11" is "door". Only shows up after Finalize, and matches the green triangle.

 

Presumably, this flag means look in the Door Triangles table.

Link to comment
Share on other sites

navmesh Triangle flags "Unknown 11" is "door". Only shows up after Finalize, and matches the green triangle.

Presumably, this flag means look in the Door Triangles table.

Thanks, I uploaded updated version to help you find something else :)

It also includes a new small feature which was asked on nexus: scripted persistent (means preserved between different xEdit sessions) bookmarking of records: Ctrl+1..5 to set a bookmark, Alt+1..5 to go back

  • Thanks 1
Link to comment
Share on other sites

Thanks, I uploaded updated version to help you find something else :)

It also includes a new small feature which was asked on nexus: scripted persistent (means preserved between different xEdit sessions) bookmarking of records: Ctrl+1..5 to set a bookmark, Alt+1..5 to go back

Thanks for the new version. I'm trying, but it's convoluted.

 

After applying automated cover:

 

A triangle with one white -1 edges (#1 1<->2) next to a house gains a non-zero in both Cover #1 and #2 flags: 192 and 67 respectively.

 

A triangle which has only one -1 dark blue edge (#1 1<->2) next to a bale of hay and the house gains a non-zero in Cover #2 flags only: 73.

 

The triangle beside it also has only one -1 dark blue edge (#0 0<->1) next to the bale of hay only, gains a non-zero in both Cover #1 and #2 flags: 52 and 64 respectively.

 

A wee bit farther along the house, dark blue edge #1 1<->2 next to the house only gains a non-zero in both Cover #1 and #2 flags: 64 and 73 respectively, but one vertex is on higher ground than the other.

 

The triangle beside it, dark blue edge #1 1<->2 gains a non-zero in both Cover #1 and #2 flags: 64 and 69 respectively next to the house only.

 

Finally, around the corner, a triangle with two -1 edges (#0 0<->1 and #2 2<->0) -- white next to the house and yellow on some rocks -- gains a non-zero in both Cover #1 and #2 flags: 15 and 64 respectively.

 

Are those elevations rather than flags?

Link to comment
Share on other sites

near a stone fence corner, bright blue #0 0<->1 has 2 and 64 respectively.

 

near a stone fence corner, bright blue  #1 1<->2 has 128 and 64 respectively.

 

Dammit, as elevations those last two should swap. Or maybe ordered by vertex?

Link to comment
Share on other sites

navmesh Triangle flags "Unknown 1", "2", and "3" are border connections. Probably indicates a need to lookup an entry in the External Connections table.

 

Unknown 3 always seem to be in the middle of other 1, 2, or 3. So I'd just call it "Border3" or just "Border".

 

Unknown 2 is the next most common, and is either alone, next to another 2, or a 3, and other size is not connected. Call it "Border2" or "BorderEnd".

 

Unknown 1 is rare, and I see no pattern. Perhaps the new graphic mapping could light up the 3 border edge/triangles with different shades of green or something (bright 1, medium 2, dark 3), we could see an overall pattern. Until then, I'd call it "Border1".

Link to comment
Share on other sites

Did you compare with the definition from FalloutNV ? I thiink Elminster went with:

          'Triangle #0 Is External',
          'Triangle #1 Is External',
          'Triangle #2 Is External',
 

Link to comment
Share on other sites

I didn't. They don't seem to be related to #0 #1 #2.

 

But I suppose matching "External" naming convention: External1, External2End, External3Mid.

 

Have no idea what "Unknown 12" might be, because I haven't found a triangle without it set. Need a script to look for it across cells.

Link to comment
Share on other sites

Sneak preview on the upcoming TES5LODGen
- no LOD atlases
- unlimited number of textures per worldspace
- unlimited number of textures per mesh
- LOD textures of any resolution
- tileable textures on LOD meshes

- using original full meshes as LOD

- Oblivion style lod in _far meshes, no need to setup LOD on static records

- automatic decimation of full meshes if missing lods (in the works)
- and much more...

A tribute to Arthmoor, Sjors and other devs of RAEVWD

 

oLwx8oR.jpg

Link to comment
Share on other sites

I echo that. Are you saying we're getting lodgen for Skyrim? If so, you will be everyone's new hero! Can't wait to get my hands on that!

Link to comment
Share on other sites

I echo that. Are you saying we're getting lodgen for Skyrim? If so, you will be everyone's new hero! Can't wait to get my hands on that!

 

Yes, but I'm not the author. Working together with Ehamloptiran. Me exporting lod information with TES5Edit script, him - doing the hardest part of generating lod :innocent:

  • Like 1
Link to comment
Share on other sites

[snip]

- automatic decimation of full meshes if missing lods (in the works)

 

What The F*** ! Do you mean low-poly meshes auto-generation ?!! :scared:  I would never, never, never have been able to dream about that !!!!  :stare:

 

BTW, landscape LOD generation is actually a PITA for custom worldspaces (it requires external and painful tools such as Oscape). Should I understand that you have something on the rails for this issue ?  :o

Link to comment
Share on other sites

I mean, Oscape does work. But it is extremely long : more than 2.5 hours to regenerate landscape LOD for Solstheim worldspace on my gaming computer...

As you're an active member from the Skywind project, do you have any informations of the time that was required to generate the Vvardenfell worldspace ? (and Solstheim is in the same one)

Link to comment
Share on other sites

I only used it on Skyblivion which is bigger than Vvardenfell, takes around 17 minutes.

You are probably using some very high quality settings or useless options like DirectX or png format export. Also using quality setting of more than 600000 is overkill.

  • Like 1
Link to comment
Share on other sites

Where do I go to understand this LOD stuff? I presume that means my Touring Carriage stables will appear at greater distances? It annoyed me that they seemed to pop into place, so I hid them all in the middle of existing trees so it wouldn't be so obvious.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...