Jump to content

Newbie fixing navmesh issues


Recommended Posts

Adding this to another post, so as not to confuse things.

 

I've looked at Eli's Breezehome and there are a couple of things I'd alter on the navmesh. Nothing too serious, just that for my preference, I'd have navmeshed a bit further away from the doors and stairs. You can safely narrow the navmesh between the stairs and dividing wall. Path-testing using Lydia suggests she can navigate a strip that's quite a bit narrower. This will force her to walk further away from the stair stringer and dividing wall, so she's less likely to get stuck. I may do it myself and test, since I love the place and will use it.

 

Also, I was a bit unsure about the reason that the area near the kitchen table is not navmeshed. Maybe Elianora simply didn't navmesh it because the kids or Lydia could wander into the area and block the player's exit. Breezehome is pretty small and Lydia is prone to getting in the way! That dividing wall close to the stairs is one area Lydia got stuck when following. It's not navmeshed. if Lydia gets stuck there, facing it from the kitchen side, she could be attempting to go through the wall onto the closest triangle. NPC AI is a bit screwy. Not sure why she wandered onto it in the first place since there's no navmesh...maybe I nudged her off the navmesh while I was running around seeing what she'd do!

 

She could have used the table bench and not been able to get back onto the navmesh. I'll raise that with Elianora.

 

I'd definitely delete that triangle above the cellar trapdoor. That could get NPCs stuck. Any navmesh beyond the trapdoor towards the kids'room is fine. Lydia won't get stuck there.

 

In general, I'd pull the navmesh further away from static furniture. It's too close and sometimes even clips underneath. This is especially true at the kids' bedroom door. The kids could get stuck on the door trying to go to bed, though it's nothing major.

 

The same is true but to a lesser extent in the cellar, imo. The grindstone needs tweaking. One triangle next to the first door goes under a bucket. I'd delete that. Again it's no real issue NPC's won't generally try to use that triangle

 

Having said all that, as I said in my last post Lydia had no issues that I observed when she was not following me. I watched her for half an hour or so, real time.

 

If my observations of Lydia are much better than your own that's still suggesting a problem with another mod. i can't help much there because I don't use things like 'Interesting NPCs'. My best suggestion is load any esps that you had active while testing and 'Apply filter to show conflict losers'. Once SSE edit is finished (could take a while depending how many mods its cross-referencing). Look for anything that Elianora's Breezehome loses out to.

Link to comment
Share on other sites

Adding this to another post, so as not to confuse things.

 

I've looked at Eli's Breezehome

...

 

Wow, thanks for looking into this. I didn't mean to dump this on you.

 

I'm patiently examining things at my end, and learning as I go, but you've given me some great pointers.

 

Thanks!

Link to comment
Share on other sites

No probs.

 

Actually thanks to you. Without getting interested in this post I'd never have downloaded Eli's Breezehome... and I love it! i normally just make my own player homes, bscause I can set them up exactly how I want them. I do have Breezehome by Lupus and a version of Honeyside... in all honesty, the only one I use is Breezehome by Lupus, just 'cause it suits my taste and I couldn't alter anything to make it much more so.. My own mod is actually a variation on Honeyside plus a massive quest. The house is set to my taste! It was the reason I started on the mod I've published... no Honeyside, modded or otherwise was one, I'd ever use... so I made my own and it just snowballed from there! It's not Honeyside... it's opposite Heartwood Mill, set in its own grounds.

 

You didn't dump it on me. I just got interested and dived in. Thank you for your consideration, though. Tbh, I had a vested interest anyway, since it gave me a chance to look at Eli's home once I'd finished with mine. I even picked up some useful stuff that I can use, so I've gained massively anyway.

 

Is Lydia's behaviour, as I describe it, matching what you see?

 

The navmesh tweaks that I suggest don't seem to account for massive improvements, except perhaps for that area around the kitchen table, if Lydia is a follower. I haven't had a reply from Eli, yet, so I won't try to put words in her mouth as to why she did it this way. She may have had a very good reason for it. I know I've deliberately not navmeshed some rare areas and I've always had a reason for it. Like I say, I'll not try to second-gues her! I've seen far worse navmesh than that! it's generally something I'd be happy enough with. I'd have done it slightly differently, but I'm massively fussy about navmesh.

Link to comment
Share on other sites

Here's another one for you...

 

...this shows the difficulty with AI behaviour and determining what the source of the problem is...

 

... I am working in a Dwemer cell for the expansion to my mod. I have all sorts of Dwemer bridges, platforms, rubble, rocks... you name it, it's in there. I also have enemies, so they need to be able to use the navmesh. One is my own centurion. Its stats and damage are way higher but other than that, physically it's the same as a normal one. After navmeshing, I used 'path checking' to check that it could patrol as I wanted. CK said it was fine.

 

In-game, first time it got stuck because something was too low for it to pass underneath. CK didn't detect this, even with path-testing.

 

I rectified that. next time, it was on top of a structure that it wasn't even meant to patrol. This was related to a ladder I'd put in for the player to use... the Centurion used it too. I altered the ladder to 'minimal use' and tried again.

 

As of now, it's getting stuck on a ramp that the player and all other NPCs can use. path testing gives this bit the green light for the Centurion. It still won't go up the ramp. The rest of its patrol it does nicely. there is nothing wrong with either the navmesh or the ramp, as far as I can see. Why won't the Centurion go when everything else will? No idea at present. I'll suss it eventually, though.

Link to comment
Share on other sites

After almost 12 hours of work, I've got the Centurion and everything else to patrol correctly. Hurray!

 

Partly, it was so difficult because they were using my own Dwemer Bridge Facade meshes with hictch-posts and railings. Partly, it was to do with how the centurions move. The navmesh was part of it, I tried various manual navmeshes before I found one that worked. In all, I moved stuff and re-did the navmesh each time, loaded clean saves and re-tested.

 

Partly, it was the trapdoor that they could use, so they used it when their AI was struggling with the navmesh. It should never have used the trapdoor to teleport somewhere it wasn't supposed to be patrolling, though!

 

In the end, I tweaked the position and orientation of all the bridges and some of the railings at the bit it was struggling re-did the navmesh and made the ladders 'minimal use'. What did the trick? One or all of them. The issues I have with Eli's Breezehome are not massive. There are some, but I still don't know exactly where the problem is.

 

You may need to do something similar to what I did for the centurion to erase them altogether.

Link to comment
Share on other sites

Well,

 

I've cured it. Not only that, you don't need to purchase the kids' room. Lydia now behaves perfectly (irritatingly) in that she's back to following you all around the house. She doesn't get stuck and doesn't use the trapdoor to the cellar all the time when she's following the player. Now you can fully enjoy having to use 'unrelenting force' on her to get her to move out of your way, again!

 

She is moved by the 'Dragon Rising' quest appropriately to be your housecarl, so no issues there.

 

When she's dismissed, she still sandboxes and sleeps properly. She can even use the cookpot in the cellar now. i've witnessed her using almost every item of furniture while sandboxing includong the kitchen table. I've also fixed the floating mannequins and some lighting isues.

 

The solution was manifold.

 

1) in SSEedit, remove all navmeshes from Breezehome to force the game to reload the vanilla ones.

2) In CK floodfill the vanilla navmesh and drag it way down (hundreds) below even the sauna area. Do not delete it or edit it in any way other than dragging it down!

3) Scaled a few objects like chests and custom storage down and moved wooden pillars and any dividing walls a touch to create more room

4) Moved the staircase a bit away from the wall to stop them getting stuck at the bottom.

5) Moved Lydia's bed until it touched the wall, re-sized the little divider at the foot of the bed. This allowed a touch more room in Lydia's room.

6) Moved the cupboards in the main room in front of the dividing wall closer to the armoury to give more clearance here.

7) Swapped Eli's mannequin bases for standard BYOH ones (There was an issue with the original meshes that could make the mannequins float.)

8} Moved the trapdoor to the cellar from under the stairs to the kitchen area

9) With all that done, I re-did the navmesh, with all doors set to 'Open by default' so as to avoid having navmesh going under the open doors. I navmeshed the kitchen area and NPCs can now get to the oven and use it. (Needed to scale down the woodpile to get that to work). They can also get on and off the kitchen table bench easier.

10) I simplified the navmesh with bigger triangles and kept all triangles further from the statics walls and furniture, now I had room to do it. My new navmesh has fewer traingles, even though I covered the un-navmeshed kitchen area.

11) Moved the teleport markers a bit further from the doors.

12) Checked the navmesh, did path testing everywhere, found cover edges and finalized inside and in the exterior.

13) Swapped out some shadow casters for non shadow lights and re-sized a few to eliminate the flickering on the main room carpet.

 

Of course I haven't tested with a family, but as Lydia now behaves perfectly, no reason why they won't.* Tested on a new game, Bought the house, didn't need to buy the kids' room, as I said. I didn't do anything that I thought would eliminate that step, so I don't know if that was a fluke, or something I did has cured it.

 

Job done. This shows what I was trying to say... weird AI behaviour is not exclusively down to navmesh! Layout, Loc Ref Types, minimal use doors, edited vanilla mesh, they all play a part. This was a useful exercise for me. I am now firmly convinced that the only way to handle a vanilla mesh, with or without vanilla NPCs on it, is to drag it down and make a new one. It's worked every time for me and it cured these issues. I'm a bit shocked that Eli didn't do this, now. She edited the vanilla mesh. The mesh itself looked Okay. How it was made was not!

 

The screenshot shows the problematic stair area now it's opened out a touch. The green line is a path test run from the main bedroom down the stairs and into the kitchen area (tested on acolyte Jensen, but he's the same size as Lydia). Green means he can do it, yellow means he can't. This is only a guide. You always need to test.

 

* I noticed most of the idle markers and x-markers with Loc Ref Types that you need for moving a family in, but I wasn't really looking for these. I just trust that Eli has added all the requirements... there are lots of them!

 

P.P.S. Eli's mannequins will still move, as with any other mod and vanilla. The only ones that don't are mine. It was a simple fix, but I'm a simple-minded person!

 

P.P.P.S the thin green line in the screenshot is not a navmesh error. It is the link between the start and end point of the path-test.

Link to comment
Share on other sites

Sorry for the late response ... had Real Life® to deal with.

 

Looks like you've created a whole new mod. Great work!

 

One thing I find bizarre, and please excuse my ignorance, but are you saying that you need to keep the original vanilla navmeshes, but essentially just move them out of the way, or else custom navmeshes won't work?

 

So how is the game engine referencing those unused navmeshes? Is it like a cumulative effect?

 

That is strange - not at all what I would have expected, intuitively speaking.

 

Also, interesting that CK path testing doesn't really work. Again, I know basically nothing about this process, but I'm guessing it uses some standard size model for testing, and if there's anything even slightly different about your NPC then it'll get stuck.

 

Anyway, you fixed it!

 

From her Twitter feed, I think Eli is a bit busy atm with BLM protests, so I'm not surprised she hasn't replied.

 

Good luck!

Link to comment
Share on other sites

Yes, I am saying keep the vanilla navmeshes and drag them down.

 

I don't fully understand how the game references navmeshes, but they are much more than just a set of triangles to let NPCs know where they can walk...much more. At first, I read tutorials and discussions on the subject. Some people advocated dragging them down. Others said that as long as you didn't delete them, you could edit them. Some said you could delete triangles from an area as long as that didn't count as deleting. Joining a vanilla 'island' to the rest of the main navmesh effectively deletes a navmesh because the island is a separate mesh. None of this added up, to me. Forget this lot. Drag it all down, islands and all and make a new mesh.

 

By massive failure on my part, this is what drew me to this conclusion...

 

With a private mod, I edited the DLC02 home in Ravenrock. I didn't delete navmesh, not even by merging islands. I added to the exterior to make it prettier and tweaked the nodes of the mesh to suit, deleted some triangles and added others. It totally screwed up the behaviour of the RavenRock NPCs who went back and forth between their day-jobs and working on the nearby stone. I removed the mesh in SSEefit, dragged the original one down, made a new mesh and all the vanilla NPCs behaved correctly again.

 

Gut-feeling is that the NPCs reference the triangles in the vanilla mesh. If they reference triangle 134 at a certain x and y position on the grid, they will always try to use it. If it is dragged down 1000 units in the z direction, it is still at the same x and y coordinates. They can still use this reference point. If you move triangles or delete and re-do them, even if your actions don't delete the mesh, you may make triangle 134 into triangle 27 or 249. Triangle 134 is now somewhere else in the x and y direction. The NPC still tries to use triangle 134. Hence the weird AI screw-ups.

 

This is just my theory. It does explain a lot of the AI odd behaviour, when people edit a vanilla mesh. It also explains why dragging the mesh down works. The NPCs use the new navmesh for movement, but can still reference the vanilla one for where their editor location is meant to be, or where they are meant to move to when it is called for in a quest or package.

 

Since then, I've only ever done it this way. It has never failed.

 

Path testing is a useful tool, but it's only an approximation. It looks at the width of the navmesh and works out if a given NPC can walk up that width of a path. It doesn't take into account statics that you've placed above this path, so if you've got a wide path with a boulder sticking out above it and the NPC can't fit under the collision of the boulder, path-testing will say fine... NPC will get stuck!

 

You should still always use path-testing on a new mesh, but only to check the basics. To check height issues, I put an actor into the cell. I choose the biggest actor that will use the navmesh. I move it around in CK until I'm sure that it can pass under overhead statics. I then test to know that it works.

 

Eli? Fair does. I'll hold off.

Link to comment
Share on other sites

Oh wait, so navesh location data is baked into NPC records?

 

Damn.

 

So theroetically, in order to actually navmesh an area from scratch, by deleting the vanillas, you'd need to edit the location records of every NPC that has those references baked in?

 

But by keeping the vanillas, and overlaying them with new ones. NPCs can still follow their "programmed" route, but also wander into the new routes, as per some random factor?

 

Am I making any sense?

Link to comment
Share on other sites

This is just my theory, based on experience and what I've observed. I think that this is the case.

 

All we can do is add new paths for them to tread. We can't alter where they originally wanted to be. This is just my theory, but it bears out in practice.

 

You hear people saying 'drag it way down'. Why? It has to be far enough down that they don't 'see' both navmeshes. This would confuse their little AI minds, bless them! By dragging a mesh way down, they see no connection to it and use the one you've put in for movement...

 

...that doesn't prevent them from using other references to the original mesh... they are still there, just lower! It just seems to make sense to me. If they didn't reference the vanilla navmesh in ways other than moving on it, we could just delete every navmesh we wanted to change and life would be much simpler for us! It'd be interesting if we got comments from people who disagree. Confusing, but interesting!

Link to comment
Share on other sites

  • Recently Browsing   0 members

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