dynamic navmesh: ai in the dynamic environment of splinter cell : conviction
DESCRIPTION
Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction. Martin Walsh. Splinter Cell: Conviction Ubisoft Montréal. Dynamic Environment. Lots of objects Explosions Lots of NPCs Dynamic Traps. AI. React Interact Navigate. Overview. Compare Development - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/1.jpg)
Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell: Conviction
Splinter Cell: ConvictionUbisoft Montréal
Martin Walsh
![Page 2: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/2.jpg)
Dynamic Environment
Lots of objectsExplosionsLots of NPCsDynamic Traps
![Page 3: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/3.jpg)
AI
React
Interact
Navigate
![Page 4: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/4.jpg)
Overview
CompareDevelopmentProblemsCool Features
![Page 5: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/5.jpg)
Current Solutions
Grid-based
Two-tiered
![Page 6: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/6.jpg)
Two-Tiered Solutions
Detailed Inconsistent
![Page 7: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/7.jpg)
Why a Dynamic Navmesh?
One-tier solution
NPCs instantly aware
![Page 8: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/8.jpg)
Dynamic Cover 1
![Page 9: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/9.jpg)
Dynamic Cover 2
![Page 10: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/10.jpg)
Blocked Paths
![Page 11: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/11.jpg)
Overview
CompareDevelopmentProblemsCool Features
![Page 12: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/12.jpg)
What is a Dynamic Navmesh?
![Page 13: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/13.jpg)
Navmesh
2D representation of a 3D world• Triangles• Vertices• Edges• Walkable area• Extra information
![Page 14: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/14.jpg)
What Makes it Dynamic
Modified in real timeFast Robust
![Page 15: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/15.jpg)
Basic Operations
Adding
Removing
![Page 16: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/16.jpg)
Adding an Object : Take 1
Cutting a hole
![Page 17: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/17.jpg)
Adding an Object -- In Action
![Page 18: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/18.jpg)
Adding an Object -- Paradigm
Rip out a chunkCut the holeReplug the new chunks
![Page 19: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/19.jpg)
Adding an Object -- Pipeline
Get Object Contour
Get Affected Navmesh Contours
Combine Contours and Retessellate
Plug Triangles into Navmesh
![Page 20: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/20.jpg)
Bounding volume
![Page 21: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/21.jpg)
Points of Volume
![Page 22: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/22.jpg)
Points projected onto X-Y plane
![Page 23: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/23.jpg)
Convex hull
![Page 24: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/24.jpg)
Expanded convex hull
![Page 25: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/25.jpg)
Retessellated Navmesh
![Page 26: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/26.jpg)
Get Affected Navmesh Contours
Find affected TrianglesMake Homogeneous contours
![Page 27: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/27.jpg)
Combine Contours and Retessellate
CSG OperationTessellator
![Page 28: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/28.jpg)
Plug Triangles into Navmesh
Will match up vertex for vertexNo floating point comparisonsVertex poolsLocal border recalculation
![Page 29: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/29.jpg)
Removing an Object
How can you plug up a hole?
![Page 30: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/30.jpg)
Removing an Object: Take 1
Use “Undo” to remove object
![Page 31: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/31.jpg)
Removing an Object: Take 2
Undoing is free but redoing is expensive
What about subdividing?
![Page 32: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/32.jpg)
Removing an Object: Take 3
But first…
![Page 33: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/33.jpg)
Adding an Object: Take 2
How do you add an object so that you can remove it later?
![Page 34: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/34.jpg)
Hole vs. Patch
Loss of information (Hole) Information retained (Patch)
![Page 35: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/35.jpg)
Removing an Object: Take 3
Un-tag affected “Patch” triangles
Vertex clean-up
![Page 36: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/36.jpg)
Overview
CompareDevelopmentProblemsCool Features
![Page 37: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/37.jpg)
Plugging Problem
Vertex too close to edge of contour
Floating point imprecision
![Page 38: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/38.jpg)
Degenerate Triangles
Produced by tessellator (or bad input)Bad for Robustness
![Page 39: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/39.jpg)
Output Modification
Angle-optimal triangulation
Worked at first…
![Page 40: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/40.jpg)
Degenerate Triangles Return
Stressing the system exposed problems
Degenerate faces
![Page 41: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/41.jpg)
Input modification
Control your intersection vertices
Use vertex welding
![Page 42: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/42.jpg)
Robustness Recap
Input/output modificationAvoid floating point comparisonControl your vertices
![Page 43: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/43.jpg)
Performance Recap
LocalizePoolPartitionThread
![Page 44: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/44.jpg)
Overview
CompareDevelopmentProblemsCool Features
![Page 45: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/45.jpg)
The “Patch” system
Allows for new solutions to AI problems
![Page 46: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/46.jpg)
Getting Stuck
![Page 47: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/47.jpg)
Getting Unstuck
![Page 48: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/48.jpg)
Interaction Based on State
Patrol• Avoid small obstacles
• Open doors
Combat• Plow through small obstacles• Bash doors
![Page 49: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/49.jpg)
Guard and Civilians
![Page 50: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/50.jpg)
Don’t Be Omniscient
Blocked door
![Page 51: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/51.jpg)
The Future
Full 3D navigation
![Page 52: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/52.jpg)
Bridges
![Page 53: Dynamic Navmesh: AI in the Dynamic Environment of Splinter Cell : Conviction](https://reader033.vdocuments.us/reader033/viewer/2022061603/5681488e550346895db5a896/html5/thumbnails/53.jpg)
www.creatorsofemotions.com
Questions and AnswersDynamic Navmesh: AI in the Dynamic Environment of Splinter Cell: Conviction