| PathEngine home | previous:  | next:  | 
      PathEngine is able to perform fast queries against large environments by generating various kinds of
      preprocess data structures corresponding to those environments.
      Generating and managing preprocess is therefore an important aspect of using PathEngine.
    
At the core of the PathEngine preprocess generation is the creation of 'agent unobstructed space', a set of expanded and combined boundaries for the obstructions in an environment.
      
      
      Expanded and combined boundaries for part of the Thainesford mesh
    
      The image shows expanded boundaries in an around a couple of buildings in a corner of the town
      in the 'Thainesford' mesh (included with the SDK).
      As described previously, obstructions are defined by both the external edges of the ground mesh
      and also by shapes pinned to the surface of the ground mesh.
      The white lines in the image show the base obstruction shapes.
      Expanded boundaries are generated for each obstruction shape, and for the external edges of the mesh.
      Where these expanded boundaries overlap one another,
      they are combined together.
    
      As described previously (in 
Different levels of preprocess can then be generated, for a given agent shape, depending on the exact types of queries required against that agent shape.
      The base unobstructed space is required in order for agents to perform collision queries
      (see 
      Additional preprocess can then be added in to enable connected region queries, or pathfinding queries
      (see 
      Because these expanded boundaries are specific to an agent shape,
      preprocess must be generated for each shape that will be used by agents requiring
      collision or pathfinding queries.
    
Depending on the environments used, the memory footprint for preprocess can get quite large, so it is a good idea to plan how shapes will be used by different types of agents so as to reduce the number of total shapes requiring preprocess generation.
Preprocess is not required for placing obstacles (either statically or dynamically) as long as those obstacles don't need to test for collision against other obstacles.
Objects that need to test collision against other obstacles but that do not need to plan movement around obstacles generally require collision preprocess.
Obstacles that need to plan paths around other obstacles require full pathfind preprocess.
      For detailed reference about preprocess generation refer to
      
| Documentation for PathEngine release 6.04 - Copyright © 2002-2024 PathEngine | next:  |