What's New in 2014.5.x

This page lists the new features introduced in the 2014.5 release.

Collision Avoidance Process

This release introduces a new dynamic avoidance process while path following. For details, see Collision Avoidance Process.

You can now choose colors for rendering the triangles and TagVolume based on their NavTag. For details, see Tagging with Custom Data.

TraverseLogic Interface

You can now assign different cost multipliers to triangles that are in the same NavTag using the TraverseLogicWithCostPerTriangle interface. For details, see Forbidding, Avoiding, and Preferring NavTags.

Parameter to Disable Shortcuts

You can use a new ShortcutTrajectoryConfig::m_snapOnPathDistance parameter to disable shortcuts when the distance between the bot and its ProgressOnPath is less than a given distance. Typically, m_snapOnPathdistance must be small. The recommended value is 0.05 meters, otherwise the snapping is visible. You can set it to zero to disable snapping, which is the default value.

The shortcut occurs as usual when the bot is farther than m_snapOnPathdistance from the path, so when avoidance is active, the bot will shortcut until it comes back to the path.

New NavMesh Generation Parameters

New .DataIndex Generation Record

The NavData generation system now creates a .DataIndex output file for each sector. This file contains a record of the data generated for that sector. If you need to browse the data generated for the sector, you can create a new Kaim::DatabaseDescriptorIndex object from the contents of this file and use the DatabaseDescriptorIndex API to browse and load the NavData, AbstractData and ColData generated for that sector.

Updating the Bot Path Following Periodically

Bots using ShortcutTrajectory can update the path following periodically instead of in each frame. The World::SetNumberOfFramesForShortcutTrajectoryPeriodicUpdate() function sets the number of frames between the path following updates for each bot.

Retrieving the Remaining Distance Along a Path

You can use the PositionOnPath::GetRemainingDistanceToEndOfPath() function for retrieving the remaining distance along a path.

New Query to Create a Path from a Polyline

If you know the consecutive 3D positions (polyline) that form a path to follow, you can use the PathFinderFromPolyline query to create an instance of Kaim::Path.

New Query to Retrieve all the RunTime TagVolumes

You can use TagVolumesFromPosQuery to retrieve all the integrated TagVolumes that contain a given position.

Channels in a NavMesh

For details about how the information in a channel is used for computing trajectories, see Channels for Computing and Following Trajectories.

Bug fixes

This release contains many new bug fixes. For details, see the release history on the Autodesk Game Developer site, at http://gamedev.autodesk.com.