创建僵尸文件夹,僵尸我直接用的女英雄的模型,僵尸没有免费的资源。
在文件夹中创建character,并重命名
添加女英雄的mesh
创建ai的controller
僵尸character选择我们创建的ai控制器
我们可以试下ai的controller的作用,我们进入控制器的蓝图,编写僵尸以固定速度前进
测试:僵尸不停往前移动
在僵尸文件夹中创建文件夹AI
把僵尸控制器移动到里面。
创建僵尸的行为树
每一个行为树都要对应一个黑板,现在我们创建黑板
编写行为树
点击树根,选择黑板。
既然是移动,我们就声明一下目的地,右上角切换至黑板
新建一个向量
行为树这边就可以读到了。
这个变量在哪赋值呢?
在ai的controller里面
首先得到黑板
为向量赋值
输入待赋值向量的名字
赋值
这里还漏了一步
应该先运行行为树,再设置黑板的变量
我们先试着运行一下,发现僵尸是不动的。
行为树是很好调试的。我们可以把行为树的页面缩小,然后运行游戏。发现行为树是有反应的。
僵尸不动是因为没有放导航网格。
这一节我们先不搞这个,我们换个任务,让僵尸执行。
让他朝向主角的方向,所以应该把我们的方位赋值给targetlocation
测试,发现不论小白人初始地在哪,僵尸都往一个地方转向。
打印一下,发现赋值的向量是0,0,0
原因:虽然点击播放了,但是我们并没有拥有控制权,所以get player pawn得到的是空值。
解决:之前我不小心弄到最后一个了,播放设置应该选第一个。
成功打印出小白人的位置坐标,只有这样,在游戏开始事件(beginplay)的时候才能得到到控制权下的信息。