Integrating Node Canvas

You can use my assets with any AI solutions. However, you many need to create a bridge between the assets. In the case of Node Canvas, I’ve done some of that for you.

With Node Canvas, we create custom actions and conditions that call into the ootii components. I’ve created some common actions and conditions as well as some demos. However, you may need to add more for your unique game.

 

Setup

  1. Import the latest Motion Controller.
  2. Import Node Canvas 2.6.3 or higher.
  3. Import my integration package.

 

Actions and Conditions

You’ll find the actions and conditions here:

\Assets\ootii\_Integrations\MotionController\ParadoxNotion\NodeCanvas

By looking through the folders, you should get an idea of the kind of actions and conditions I’ve added. For example, the ‘Set Attribute Float’ action sets an attribute value that is a float.

Node Canvas does a great job of allowing developers to customize the actions and nodes. So, everything should be self explanatory.

 

Navigation

One of the easiest ways to let your character be moved by AI is to simply check the Actor Controller’s Use Transform option. This will allow external code (like Node Canvas) to control the position and rotation using the standard transform properties.

The other option is to keep the Actor Controller’s ‘Use Transform’ option unchecked and allow the Motion Controller to move the character by simulating user input.

Both options are valid.

NavigateTo Action

The NavigateTo action is a powerful action that can be used to move your character using Unity’s Nav Mesh and Nav Mesh Agent.

The Use NavMeshAgent Position property coincides with the ‘Use Transform’ property mentioned above.

By setting a Focus Target, you can have your character move in one direction while facing another. This is great for combat. However, it requires one of the ‘strafe’ motions to be enabled.

The Voxel Size property helps when the nav mesh is created above the ground. We’ll offset the character by the specified amount.

Leave a Reply