Max exporter change log


Changes for release 5.19

Bug fixes

Fixes a bug with shape validation not catching the (very rare) non-convex case where the last two and first vertices of the shape form exactly inline edges.

Improved pinned shape root position management

When processing pinned shapes PathEngine will now attempt to resolve situations with invalid shape root positions by generating positions based on shape boundary coordinates and traversal through the ground mesh.

In practice this means that pinned shape root positions no longer have to be inside the shape polygon, in most cases, and in many cases a single anchor can be used to root clusters of shapes.

Support for external shape and portal constructs without 'internal floor'

PathEngine now permits external shape and portal constructs without any connection to building internal floor.
This makes it much more straightforward to apply PathEngine's building entrance automation functionality for more general building cases such as buildings with external shapes but no internal floor, or simply as an alternative to clusters of pinned shapes for arbitrary non-convex obstacles.


Changes for release 5.16

Source content snapshots

Options affecting the 2D content processing are now saved out with source content snapshots.


Changes for release 5.15

Bug fixes

Fixes a bug where failure to open a file for export would result in a crash.

MaxScript support

The exporter functionality can now be called from MaxScript, to support automated batch export processes.
Refer to this page , (in the online documentation), for details.


Changes for release 5.14.1

Bug fixes

Fixes a bug which prevented content chunks with pinned shapes but no ground component from being exported.


Changes for release 5.12

Partitioning option added

A 'Use identity mapping' option has been added.
When set, this turns on the corresponding option on generation of the exported mesh.


Changes for release 5.09

Bug fixes

Fixed a crash on attempting to import meshes containing large static shapes.

3DS Max 9

A 3DS Max 9 build of the plugin has been added to the distribution.


Changes for release 5.08

Support for large shapes

The exporter now supports the placement of shapes larger than PathEngine's query shape range constraint.
These shapes will automatically be stored with exported meshes as 'large static obstacles'.

Base obstacle error reports

A bug has been fixed where the name of the objects corresponding to base obstacles were not being passed through for error reports.


Changes for release 5.07

Content processing bug fixes

A bug has been fixed where Z was being ignored when resolving matches for edge to edge connections (in the 2D content processing).

Other changes

The edge to edge connection feature in PathEngine's 2D content processing now permits the edge connection case where the vertices across the connection match exactly (i.e. with no bridging faces generated).


Changes for release 5.06

Content processing bug fixes

This release fixes several hard to repeat bugs in the content processing, specifically relating to building portal connections.

Portal and anchor resolution to terrain

Non terrain portal markers and anchors will no longer resolve to geometry marked as terrain stand-in (terrain layer 0).


Changes for release 5.03

Error feedback

This release adds the possibility to skip errors (in cases where multiple error messages are generated), and to direct errors to an error log file.


Changes for release 5.02.04

Bug fixes

Fixes a bug where anchors and pinned shapes were not being imported when importing content chunks or source content snapshots.
Anchors are now imported when importing ground meshes (in addition to base obstacles and named obstacles), and anchor orientation indicators are now added on import.
Imported meshes are now assigned names with the 'ground_' prefix, as used when exporting by name.


Changes for release 5.02

'Content chunk' export

The exporter now supports the export of 'content chunks' for instantiation by a separate content application later on in the world building process.
Refer to this page, (in the online documentation), for details.

Mesh import

Importing a ground mesh into Max will now set up pinned shapes for 'named obstacles', in addition to burnt-in obstacles.

Source content snapshots

Source content snapshots now include information about anchors and pinned shapes.
(So these snapshots are now also relevant for any bugs or issues relating to shape or anchor placement, in addition to mesh processing.)

Importing source content will set up anchors and pinned shapes from this data.


Changes for release 5.01

Bug fixes

A bug has fixed where the content processing would crash in certain cases involving more than one 'non-manifold connection' error.
The content processing will now handle these cases gracefully.

A bug has been fixed where certain cases involving pathological sliver tris at the edges of a mesh would cause the edge optimisation feature of the content processing to fall over.

Changes to constraints for anchor markup

When using 'export named ground', the exporter now processes any nodes with an 'anchor_' prefix as PathEngine anchors.
This makes it possible to do things like maintaining anchors in hierarchical structures, or with dummy objects linked in between ground meshes and subsets of placed anchors.

Terrain portals

Building entrances may now be marked as 'terrain portals'.
This makes it easier to place buildings against 'proxy' terrain geometry, or against terrain geometry where stripping out height detail would otherwise make it difficult to ensure that portal markers intersect that geometry.
Refer to this page for general documentation about building entrance automation, and this page for details specific to the 3DS Max exporter.

Additional anchors types

The exporter now supports 'terrain anchors' and 'anonymous anchors'.
Refer to this page for details.


Changes for release 4_68

Bug fixes

Fixes a bug with scaling not being applied correctly to anchors and pinned shapes. Scale was also not being applied correctly on shape import.

Fixes a problem (introduced in 4_67) with processing anchors that have been offset from their pivot point.


Changes for release 4_67

Bug fixes

Fixes another (rare) crash bug in the automatic building connection feature of the content processing.

Fixes a bug where the exporter was using node transformation matrix instead of the object transformation matrix to obtain vertices for pinned shapes.


Changes for release 4_66

Bug fixes

Fixes a (fairly rare) crash bug in the automatic building connection feature of the content processing.


Changes for release 4_65

Support for marking multiple sectionIDs

The exporter now includes support for marking multiple sections, based on painting the sections different shades of green.

Options renamed

'Add material IDs' has been renamed to 'Set surface types' to better describe what this does in terms of face attributes.

'Set terrain layer' has been renamed to 'Set section IDs' to better describe what this does in terms of face attributes, and to reflect the fact that this option now supports marking more than one section.


Changes for release 4_64

Adjacent portals

This release of the exporter adds support for 'adjacent portals' to the automatic building connection feature.
Refer to this page (in the online documentation) for more details.


Changes for release 4_63

Bug fixes

Several crash bugs in the automatic building connection feature of the content processing have been fixed.

An option has been added for saving a snapshot of the source content data generated before content processing is performed.


Changes for release 4_62

Bug fixes

There was a bug in release 4_61 of the exporter which meant that terrain layer information was not being correctly exported. This was being incorrectly saved to the 'userData' face attribute. This bug has now been fixed.


Changes for release 4_61

Bug fixes

A bug has been fixed where certain configurations of geometry could cause the exporter to generate zero-area faces when cutting out building external shapes, and then fail.


Changes for release 4_58

A bug has been fixed where the exporter would go on to crash after reporting validation errors.

The exporter was not correctly setting the selection set in the case of zero area face errors. This has been fixed.

The exporter was failing to set the selection set correctly in the case of objects that need to be converted to Tri Objects. This case is now recognised and a suitable message is emitted.

The exporter now sets up a set of 'pinned shapes' to correspond to the set of base obstacles on a mesh, on import.


Changes for release 4_55

Significant reductions in the time taken to export large meshes.


Changes for release 4_54_01

Fixes a bug that was causing the automated building connection feature to fail in some circumstances.


Changes for release 4_53

The exporter has been updated to update content features with the new 'mesh model' introduced with release 4_53 of the main SDK.


Changes for release 4_52

The exporter has been updated to export in the new mesh file format.

Building external shapes are now cut out of the mesh behind portals, instead of using 'base circuits'.

Functionality for optimising the base mesh geometry has been added to the exporter.


Changes up to release 4_33

Fixes a minor issue with the options selected in the exporter rollout not being preserved when closing and reopening the rollout.

Adds an option to filter faces in the 3d mesh by slope before export.
This can be used, for example, to automatically make cliffs and steep areas in a terrain obstruct movement.


Changes up to release 4_30.01

Fixes a bug where non-manifold resolution at 'portal' style connections would sometimes fail.

A mapping to 2d is now always generated when the 'Process connections' or 'Add anchors' options are enabled.
This fixes a problem where the circuits generated by these options could potentially be invalidated when loaded by a different version of PathEngine.
If you exported meshes before this fix with either 'Process connections' or 'Add anchors' enabled, but without 'Add mapping to 2D' enabled then you may need to re-export these meshes.


Changes up to release 4_29

Fixes a bug in version 4_27.01 when storing 'named obstacles' with ground meshes AND saving into tokenised xml.
Any meshes which were exported into the tokenised format with version 4_27.01 and which contained named obstacles will need to be re-exported.


Changes up to release 4_27.01

A scale factor may now be specified in the exporter roll-out. This is then applied to geometry before export and after import.

Changes up to release 4_26.01

This release is based on a fairly major rework of the exporter to bring some powerful new functionality.
The documentation has also been brought up to date and expanded to include the new features.

The main addition is an automic connection feature, with two types of connections supported (advanced support for connections at building entries, but also support for direct edge to edge connection).

An option has been added for setting the terrain layer attribute.
When set, vertex colours are used to determine which faces are on the terrain.

The 'resolve non-manifold' and 'collapse vertical edges' options are now always on. (These checkboxes have been removed, then, to simplify the UI.)

The 'shape_' prefix for pinned obstructions is now depreciated and replaced by a 'baseObstacle_' prefix.
(The old prefix is still supported for backwards compatibility, but may be removed in a future release.)

The import functionality has also been completely reworked.
This fixes a bug where the exporter would crash when importing meshes with vertical discontinuities.
Also, the import functionality now supports tokenised XML and has been updated to import surface type and terrain layer information.

Changes up to release 4_20.0

This release incorporates bug fixes in PathEngine up to release 4_20.
Most importantly, a bug in shape validation was fixed that would let you add invalid shapes to a mesh in previous versions of the exporter.

Changes up to release 4_16.0

New versioning system

The plugin version is now expressed in terms of the minimum required pathengine release plus a revision.
For example, the current version of the plugin requires release 4_16 of the PathEngine dll and is the first revision requiring this release.

Bug fix

Base circuits generation was not working correctly in the case where multiple shapes were attached per anchor.
This has been fixed.

Anchoring changes

Orientation is now stored with anchors.

In addition to laying down base circuits the exporter can now store shapes as 'fixed obstacles' which can later be retrieved directly as agents at runtime.
These obstacles are stored under an id derived from their max node name, so this is a handy way to place obstacles such as doors that will later need to be added to collision contexts and otherwise controlled by game logic.

For simplicity, the base circuit generation no longer has a separate checkbox.
If 'Add anchors' is checked then base circuits and fixed obstacles will also be added automatically.

Support for vertical discontinuities

This version adds support for steps and vertical discontinuities.