3、沿着指定路径移动
创建route 路径:
在创建的route对象上 点击增加新路点,并将Waypoint Route对象改名为Route:
创建如图所示的行为树:
注意框住的2个内容,i表示迭代变量(当前路点)
在move节点中设置对应的目标:
设置的是pingpong运动,所以会来回往复。
4、智能规避障碍物
我们在中间放一个障碍物我们发现它直接穿透了,这不是我们想要的效果。
创建一个导航网格,使其能包住我们需要运算的场景。
点击生成网格:
这样运行后发现,已经可以比较完美的绕开障碍物了。
5、为AI角色也添加视觉和听觉
场景准备
例场景如下:
绿色胶囊体:玩家
红色小球:敌人
敌人会沿着我布置的场景中的路径做pingpong运动(巡逻)
注意:我们为所有的墙(障碍物)设置层级:wall,在导航网格的属性中设置要计算碰撞的层级。(因为在场景中如果有花草或其他我们不希望进行碰撞的物体,我们就不应该计算导航)
行为树切换
在我们开始之前,我们要知道如何在rain中进行行为树切换,我们打开敌人的AI,
选择灯泡这个选项,这里叫做内存,在rain中你需要保存的变量在这里声明。
我们添加一个string 类型的变量model并赋值为patrol。
创建一个基本的行为树MyAi_01:
创建一个总的行为树MyAi:
将默认SEQ(顺序)节点改为PAR(parallel)并行节点。
并使用Constraint节点,进行判断。
为当前行为树绑定MyAi_01行为树:
在大脑思考模式中指定行为树:
运行时,我们发现行为树中我们已经通过constraint节点判断,将MyAi_01行为树绑定到了当前行为树。
如此,我们可以为角色制定多套AI,在一定条件下进行选择和转换。