Support Forum

richAI Behavior


  1. I’ve got a question: I’m using a recast Graph in my scene.

But, I have 2 different AIs: One is BIG like a truck 7m height and 7m radius. the other is a normal humanoid.

Is it possible to calculate 2 navmeshes: One for the BIG truck dimensions and the other for the humanoid AI and make each AI use the proper navmesh? if so, How can it be done? Does it cost much more performance?

  1. I’m still having some trouble with the moving target behavior: I made this drawing to explain more my use case:

So, Basically: let’s imagine the Player TRUCK is something around 10m x 2m large, and AI truck is 8m x 2m. I want the AI to follow the layer truck very closely and sometimes touch the player truck from behind: just a small collision.

So, what I have done is put 2-3 targets behind the player truck at a fixed distance of around 4 to 7m.

When I put the AI rich script slow down time parameter to ANYTHING more than zero: it never reaches the target. The only way to get a close behavior to what I want is to make this parameter zero

But, I got a second issue: sometimes the AI goes way too far in FRONT of the target (like 5 to 8 meters ahead…): and this makes the Models Meshes intersect in a very ugly way.

Any solutions on how to make the AI stick with its target? I know this is all complicated by the fact that everything is very dynamic and the player Truck keeps on moving…

Looking forward to hearing back from you,

Kind regards,

I’m not quite sure what you mean with the targets behind the truck? Could you elaborate?

You can certainly have multiple graphs. There’s a tutorial in the docs called “multiple agent types” which you may be interested in.

Thanks for the answer.

I mean, in the player Truck, I have children Targets Transforms that are located behind (the red dots in the drawing).

In my rich AI (Set Destination Script), I keep on moving the AI Target Destination Transform to match the Targets (located behind the player truck): so the AI needs to always recalculates its path dynamically. am I clear?

Hello, @aron_granberg Any thoughts on this issue?