PathEngine home previous: World Representationnext: 2D Content Processing
Contents, Programmers Guide, World Representation, Choosing an Approach

Choosing an Approach

PathEngine essentially provides two processes for content-side integration, refered to as '2D content processing' and '3d content processing'.

The difference between these two processes is that the 2D content processing requires that ground meshes and obstacle markup are provided externally, e.g. by manual editing, or by some form of external generation from other content representations, whereas the 3D content processing can operate pretty much directly on standard 3D scene representations.

Choosing between the 2D and 3D content processes

The 2D content processing has the advantage of being extremely lightweight, and fast, and providing a lot of control over exactly where agent's can and can't go within a scene.

While this 2D process does generally mean additional work for your content creators, in the form of some manual ground mesh and markup creation, in practice this is usually not such a big deal.
Ground meshes are much more lightweight than rendered geometry, with no lighting or texturing requirements.
And the 2D process is very mature, with a lot of features added to minimise work for content creators, and to maximise productivity. 'Pinned shapes' avoid the need to edit ground mesh around detail obstacles, and, very importantly, PathEngine's 'content chunks' enable markup to be generated only once per building (or similar geometry chunk) with combination of this markup then handled later on, and completely automatically.

The 3D content processing, on the other hand, has the advantage of completely eliminating the requirement for ground and shape markup.
Agent height is taken into account completely automatically by this process, with geometrically correct pathfinding around overhead obstacles.

Note that both content processes result in the same standard ground mesh representation, so it is possible to switch content processes, or even mix and match the two approaches, without changing the run-time pathfinding.

Choosing a content setup for 2D content processing

When using the 2D content processing, there are a number of options for how you actually integrate this process into your content chain.

If your worlds are built in 3DS Max or Maya then the best option will usually be for content creators to use the supplied exporter to export meshes directly from this content application.
You then can then simply load the resulting files into PathEngine at run-time and you are away.
In this case, refer to either the 3DS Max or Maya specific exporter documentation (in the Tools section).

The content processing functionality used by the exporters is also provided through the main API, by iPathEngine::buildMeshFromContent().
The 3DS Max exporter is actually implemented as a relatively thin platform specific wrapper for this functionality.
It is straightforward, then, to port this functionality to other 3D applications and to custom editors.
If your worlds are build in a custom world editor then this is the recommended approach.

2D Content Processing describes the functionality provided by this method, in detail.

You can also create markup for 'content chunks' in Max or Maya (or both) and then combine this markup later on in a custom world editor.
This kind of approach is highly recommended when you are working with very large worlds.
Refer to Managing Content Chunks for more details.

Documentation for PathEngine release 6.04 - Copyright © 2002-2024 PathEnginenext: 2D Content Processing