创建僵尸文件夹,僵尸我直接用的女英雄的模型,僵尸没有免费的资源。

在文件夹中创建character,并重命名

添加女英雄的mesh

创建ai的controller


僵尸character选择我们创建的ai控制器

我们可以试下ai的controller的作用,我们进入控制器的蓝图,编写僵尸以固定速度前进

测试:僵尸不停往前移动
在僵尸文件夹中创建文件夹AI
把僵尸控制器移动到里面。

创建僵尸的行为树


每一个行为树都要对应一个黑板,现在我们创建黑板

编写行为树

点击树根,选择黑板。

既然是移动,我们就声明一下目的地,右上角切换至黑板

新建一个向量


行为树这边就可以读到了。

这个变量在哪赋值呢?
在ai的controller里面
首先得到黑板

为向量赋值

输入待赋值向量的名字

赋值

这里还漏了一步
应该先运行行为树,再设置黑板的变量

我们先试着运行一下,发现僵尸是不动的。
行为树是很好调试的。我们可以把行为树的页面缩小,然后运行游戏。发现行为树是有反应的。

僵尸不动是因为没有放导航网格。
这一节我们先不搞这个,我们换个任务,让僵尸执行。

让他朝向主角的方向,所以应该把我们的方位赋值给targetlocation
测试,发现不论小白人初始地在哪,僵尸都往一个地方转向。
打印一下,发现赋值的向量是0,0,0

原因:虽然点击播放了,但是我们并没有拥有控制权,所以get player pawn得到的是空值。
解决:之前我不小心弄到最后一个了,播放设置应该选第一个。
成功打印出小白人的位置坐标,只有这样,在游戏开始事件(beginplay)的时候才能得到到控制权下的信息。
