mirror of
				https://github.com/DerTyp7/grow-ai-unity.git
				synced 2025-10-31 21:37:07 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| > Please use the branch matching the version of your Unity editor: [master](../../tree/master) for the latest released version, [2018.3](../../tree/2018.3), [2018.2](../../tree/2018.2), [2018.1](../../tree/2018.1), [2017.2](../../tree/2017.2) for up to 2017.4-LTS, [2017.1](../../tree/2017.1), [5.6](../../tree/5.6).
 | ||
| 
 | ||
| # Components for Runtime NavMesh Building
 | ||
| 
 | ||
| Here we introduce four components for the navigation system:
 | ||
| 
 | ||
| * __NavMeshSurface__ – for building and enabling a NavMesh surface for one agent type.
 | ||
| * __NavMeshModifier__ – affects the NavMesh generation of NavMesh area types, based on the transform hierarchy.
 | ||
| * __NavMeshModifierVolume__ – affects the NavMesh generation of NavMesh area types, based on volume.
 | ||
| * __NavMeshLink__ – connects same or different NavMesh surfaces for one agent type.
 | ||
| 
 | ||
| These components comprise the high level controls for building and using NavMeshes at runtime as well as edit time.
 | ||
| 
 | ||
| Detailed information can be found in the [Documentation](Documentation) section or in the [NavMesh building components](https://docs.unity3d.com/Manual/NavMesh-BuildingComponents.html) section of the Unity Manual.
 | ||
| 
 | ||
| # How To Get Started
 | ||
| 
 | ||
| Download and install Unity 5.6 or newer.
 | ||
| 
 | ||
| Clone or download this repository and open the project in Unity.
 | ||
| Alternatively, you can copy the contents of `Assets/NavMeshComponents` to an existing project. Make sure to select a branch of the repository that matches the Unity version.
 | ||
| 
 | ||
| Additional examples are available in the `Assets/Examples` folder.
 | ||
| The examples are provided "as is". They are neither generic nor robust, but serve as inspiration.
 | ||
| 
 | ||
| _Note: During the beta cycle features and API are subject to change.\
 | ||
| **Make sure to backup an existing project before opening it with a beta build.**_
 | ||
| 
 | ||
| # FAQ
 | ||
| 
 | ||
| Q: Can I bake a NavMesh at runtime?  
 | ||
| A: Yes.
 | ||
| 
 | ||
| Q: Can I use NavMesh'es for more than one agent size?  
 | ||
| A: Yes.
 | ||
| 
 | ||
| Q: Can I put a NavMesh in a prefab?  
 | ||
| A: Yes - with some limitations.
 | ||
| 
 | ||
| Q: How do I connect two NavMesh surfaces?  
 | ||
| A: Use the NavMeshLink to connect the two sides.
 | ||
| 
 | ||
| Q: How do I query the NavMesh for one specific size of agent?  
 | ||
| A: Use the NavMeshQuery filter when querying the NavMesh.
 | ||
| 
 | ||
| Q: What's the deal with the 'DefaultExecutionOrder' attribute?  
 | ||
| A: It gives a way of controlling the order of execution of scripts - specifically it allows us to build a NavMesh before the
 | ||
| (native) NavMeshAgent component is enabled.
 | ||
| 
 | ||
| Q: What's the use of the new delegate 'NavMesh.onPreUpdate'?  
 | ||
| A: It allows you to hook in to controlling the NavMesh data and links set up before the navigation update loop is called on the native side.
 | ||
| 
 | ||
| Q: Can I do moving NavMesh platforms?  
 | ||
| A: No - new API is required for consistently moving platforms carrying agents.
 | ||
| 
 | ||
| Q: Is OffMeshLink now obsolete?  
 | ||
| A: No - you can still use OffMeshLink - however you'll find that NavMeshLink is more flexible and have less overhead.
 | ||
| 
 | ||
| Q: What happened to HeightMesh and Auto Generated OffMeshLinks?  
 | ||
| A: They're not supported in the new NavMesh building feature. HeightMesh will be added at some point. Auto OffMeshLink generation will possibly be replaced with a solution that allows better control of placement.
 | 
