20_ue4进阶末日生存游戏开发[AI基础框架搭建]

  • Post author:
  • Post category:其他


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

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

添加女英雄的mesh

创建ai的controller

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

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

测试:僵尸不停往前移动

在僵尸文件夹中创建文件夹AI

把僵尸控制器移动到里面。

创建僵尸的行为树

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

编写行为树

点击树根,选择黑板。

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

新建一个向量

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


这个变量在哪赋值呢?

在ai的controller里面

首先得到黑板

为向量赋值

输入待赋值向量的名字

赋值

这里还漏了一步

应该先运行行为树,再设置黑板的变量

我们先试着运行一下,发现僵尸是不动的。

行为树是很好调试的。我们可以把行为树的页面缩小,然后运行游戏。发现行为树是有反应的。

僵尸不动是因为没有放导航网格。

这一节我们先不搞这个,我们换个任务,让僵尸执行。

让他朝向主角的方向,所以应该把我们的方位赋值给targetlocation

测试,发现不论小白人初始地在哪,僵尸都往一个地方转向。

打印一下,发现赋值的向量是0,0,0

原因:虽然点击播放了,但是我们并没有拥有控制权,所以get player pawn得到的是空值。

解决:之前我不小心弄到最后一个了,播放设置应该选第一个。

成功打印出小白人的位置坐标,只有这样,在游戏开始事件(beginplay)的时候才能得到到控制权下的信息。



版权声明:本文为zhang2362167998原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。