Go to top
Category: 3D Navigation
24 Jul

Path following with turning rate constraints

Making believable 3d navigation doesn’t just mean finding straight-line paths for AI to travel on, it also means following them in a realistic way. What we really want to be able to do is make our birds/fish/spaceships/planes/dragons move in ways that seem plausible, and one of the ways we can do this is to set..

21 Jun

3D Navigation: Pathfinding for Flying and Underwater AI

One of the most fundamental problems facing agents in game worlds is how to move to a specific location. While a variety of solutions exist for characters moving on the ground, for agents navigating freely in three dimensions, such as drones, submarines, or characters with jetpacks, this is a much harder problem. This post looks..

21 Jun

Mercuna in Unity

Mercuna now works with Unity! Over the last month we have been hard at work integrating Mercuna with the Unity game engine. There is a long list of small features to be finished off, but the core of it is done and we have agents flying around Unity levels. When we first started writing Mercuna,..

13 Feb

Version 0.9

We are pleased to announce the release of version 0.9 of Mercuna. This is a significant move forward from version 0.8, with two new major features and wide ranging refactor. We had intended for 0.9 to be a modest step forward, but we soon realised that with a bit more work we could pack in..

08 Jan

Spline Based Steering

A new feature that I have been working on recently and that I am very excited about is our new spline based steering system. We wanted to solve the problem of jerky movement and agents occasionally sliding off paths and hitting walls, and to have more natural looking movement. We want agents to take the..

18 Dec

Writing An EQS Test

In this post, I am going into a bit more technical detail about how you can create your own custom EQS tests. One of Unreal Engine’s slightly hidden AI features is its Environmental Query System (EQS). The system is still considered experimental so is not enabled by default, but can easily be switched on in..