NavMesh Recast From A-Z; Optimize Your NavMesh & Fix Problem Areas; UNREAL ENGINE
ฝัง
- เผยแพร่เมื่อ 24 มิ.ย. 2024
- Optimize your NavMesh with the Recast Object and Fix common NavMesh Problems like bald spots and the NavMesh clipping through geometry. Also get an explanation of each setting including Region Partitioning, Layer Partitioning, Tile Size, Cell Size, Cells per Tile Side, Cell Height, Agent Radius, Agent Height, Agent Max Slope, Agent Max Step Height, Min Region Area, Merge Region Size, and Max Simplification Error.
*Optimizing the Recast Object is essential for the Dynamic NavMeshes seen in these videos:
Dynamic NavMesh with Invokers: • Fully Dynamic NavMesh ...
Dynamic NavMesh with Modifiers Only: • Dynamic NavMesh With N...
*Need help with the Navigation Modifiers mentioned in this video? Check out these videos:
Custom NavModifiers Shapes: • Custom Nav Modifier Vo...
Nav Area Classes and Query Filters: • Nav Area Classes and N...
*Additional help with 'Max Step Height':
• Help With Nav Recast F...
*Follow along:
00:00 - Intro and Setup
00:57 - Region Partitioning - Watershed & Monotone
02:40 - Region Partitioning - Chunky Monotone
03:43 - Region Partitioning - Recap
04:08 - Cell Size & Tile Size Intro
04:44 - Choose a Cell Size
06:32 - Choose Cells per Tile Side
07:32 - Choose a Tile Size
09:08 - Cell Size for Difficult Geometry
09:41 - Layer Partitioning
10:28 - Tile Size for Difficult Geometry
11:47 - Cell & Tile Size for Large Maps
12:17 - Cell Height
14:37 - Agent Radius
15:20 - Agent Height
16:00 - Agent Max Slope
16:38 - Agent Max Step Height
17:10 - Min Region Area
17:35 - Merge Region Size
18:23 - Max Simplification Error
19:04 - Quick Note on Fine Tuning
19:23 - Fixing Problem Areas Example 1
19:59 - Fixing Problem Areas Example 2
21:23 - Fixing Problem Areas Example 3
21:58 - Fixing Problem Areas Example 4
23:10 - Fixing Problem Areas Example 5
24:13 - Hope This Video Helped! - แนวปฏิบัติและการใช้ชีวิต
Props for explaining usually less focused into areas of the engine, it really is appreciated.
Thank you. Literally fixed my issue within 32 seconds. I didn't realize there was a local recast so I was wondering why adjusting the project settings wasn't updating.
Thank you for tackling this subject, there's surprisingly little info out there on this.
Dude, thank you very much. I'm new to Unreal, and your playlist answered 80% of my questions
This was immensely informative and helped to fix a problem in my mostly completed game. You have a talent for teaching. Thank you much.
Super helpful! Thank you!
Thank you. It is very well explained , crystal clear. 👏👏👏
thats complex guide, thanks
Helped me a lot! Thx!
Glad the video helped! I have more videos coming soon!
that's very cool explanation
Thanks, I have more tutorial videos coming out soon!
thanku mate
very thank.. that was helpful
Glad you're enjoying the videos! Hope to see you in some more videos!
Hi! Thanks a lot, very helpful. I'm almost at the end of the video so maybe you explain it in the last minute, but, just to know, when you talk about the "cost" of the navmesh, are you talking about a realtime, runtime cost or just the cost of the generation? Because if the navmesh doesn't generate at runtime, cell height (for example) doesn't seem to increase the number of actual triangles of the navmesh (at least not after the simplification pass), so even if it takes longer to generate because it's tecnically more precise, is it something that actually affects the game framerate?
Hello, glad you found the video helpful! As for things affecting the cost of the navmesh, it mostly pertains to generation. But there are scenarios where it could affect runtime too. Let's say you're making a very complex game that includes a lot of cost intensive things like huge dynamic navmeshes, lots of characters navigating through lots of sublevels, etc... With all of that going on, you would already be making a lot of optimization choices and the topics in the video would just be included in those choices. It's not necessarily the navmesh by itself, but how it will interact with all those cost intensive things. So it just depends on the type of game you're making. Regarding your cell height example, a more precise navmesh also means more precise calculations by the nav engine. So even though you are not seeing new triangles, it is still making more sophisticated choices between the triangles/cells. And depending on the type of game your making, this may or may not have a negative effect at runtime.
Bro thanks. im just trying to make a horror game by default navmesh and saying: Navmesh is broken enemy cant come here! or:
How can i crouch the character on vents??
Thanks!❤
Thank you very much. It's really helpful
And sorry, I probably have a problem with translation to my native language. What is CELL and TILE difference? Tile is a square segment (big and main segment of navmesh). Cell is a triangle segment of tile? or it's a little square segment of tile separated by triangles?
And one more question please. You said that the AI moves using the cells. The center of each cell is a separate navigation point, right?
A tile is a large square or rectangular segment of the navigation mesh. Tiles are used for optimization and dividing the navigation mesh into smaller, manageable parts. A cell is a smaller unit within a tile, shaped as triangles. Cells form the actual navigation mesh that AI use for navigation during movement. Each cell represents a walkable area and is connected to neighboring cells, creating a path.
When AI moves through the navigation mesh, it uses cells to determine its path. Each cell has specific properties, such as the cost of movement (these parameters can be displayed in the Display category in Recast). As far as I know, the path does not necessarily have to go through the center of a cell, and this can be regulated by NavFilter.
But what if I want to Do this only for a specific nev mesh not for the whole nav mesh in the game!?
Hi, in the video at 00:05 I go to Project Settings and show the Global Recast. These are the default settings you can set for your whole game. Then at 00:18 I go to an individual map and select the Local Recast Object in the World Outliner. This is an Override and is specific to this map and you can change the Recast settings here and it will only apply to this map. The Local Recast Object will automatically spawn in on every map when you create the Nav Mesh Bounds Volume on that map. Hope that helps, see you in some more videos!
Well im back, what is a region? or layer? :D which is which
Hello,
A region is an area of continuous navmesh, so basically anywhere you see green nav tiles touching each other is a region.
A layer is when the regions go up or down the Z Axis. An example of this is shown in the video at 09:41 - Layer Partitioning. In this chapter, we click 'Draw Tile Bounds' in the 'Display' section, and it shows the yellow outlines of the regions that are trying to go up the stairs on the Z Axis.
Hope this helps.
🤤 "promo sm"