用UE4模仿Grow Kingdom

龟速边学边做中

UE4模仿Grow Kingdom

模块拆解

防守单位

英雄

战 射 法

不同的VFX

召唤物

法师功能
索敌

需要在项目设置中设置敌人的类型。

遭遇问题:比较敌人远近的时候,不止有一种EnermyBP,此时再使用类型转换的蓝图通信不太好使。

尝试使用子类的方式创建新的敌人蓝图。

发射弹丸

实际操作起来把weapon做成了一个大类,这样可以省去一些工序。

此外法师的VFX使用的Paticle进行制作。非常简单但是和Poly的风格算是比较相容。

血量

士兵

剑 枪 斧 弓 法

每个士兵有四种不同的贴图,对应不同的属性值

敌人

出生点 行进路线 AI

UI界面

资源系统

场景

工作日志

3/10

对这个游戏进行了一些研究,分析了游戏系统,准备相关的素材购买和下载。

3/11

规划工作流程。

1、完成各个类型的一个父类并逐一测试。

2、有台式的时候使用台式来进行场景的搭建。

3、编辑不同子类的属性,来完成工程。

因为之前每次都把资源配置搞得一团糟,这次争取能做的好一些。

但实际操作遇到的困难比想到的要多,因为之前一直都是直接拖拽使用的,但如果不动手永远都学不会。

3/12

今天主要是完成aline weapon的生成以及与enermy的碰撞。因为这次的角色只有骨架和动画资源,所以需要制作动画蓝图,准备之后再制作动画蓝图。

需要解决enermy的移动问题,否则无法进行下一步的测试。明天参考官方的示例小白人做一个enermy。

3/13

小白人是C++写的,寻找其他办法。

文档学习如何设置角色。

主要的过程如下:

如何设置角色

  1. 创建您的美术资源(骨架网格体)和动画,使用第三方数字内容创建(DCC)包,如3ds MaxMaya。
  2. 通过为新的骨架网格体创建新的骨架资源,或者为相同或类似的骨架网格体重用现有的骨架资源,来将骨架网格体和动画导入UE4。
  3. 创建玩家控制器脚本或蓝图来处理来自玩家的输入。
  4. 为角色或Pawn创建一个蓝图或脚本或蓝图来解析输入并控制角色的实际移动(不是骨架动画)。
  5. 为角色构造动画蓝图。
  6. 创建一个使用自定义玩家控制器和任何其他自定义脚本资源的游戏模式脚本或蓝图。
  7. 运行您的游戏!

终于发现,问题的关键在于之前任务是用pawn而不是character。此前没有从零开始做一个动画蓝图,开始学习动画蓝图的相关知识。

子弹打不到,开始制作锁定追踪系统。

3/14-3/15

场景绘制。

找到了追踪系统出Bug的原因:人物的旋转会给子弹带来一个初始的旋转,最后导致子弹跑偏。尝试使用其他追踪方法。

3/16

本周目标:完成率达到60%(教学视频计15)

如果播放一次出生出生,然后在后面都不会调用这个出生动画。教学视频中的两种方法都不是特别完善,准备参考一下虚幻争霸的人物蓝图。

虚幻争霸的人物大致的思路是是在动画蓝图的事件图表中得出任务处于某种状态,用布尔值进行判定,而一开始的出生动画则是直接在事件蓝图中通过播放蒙太奇动画搞定的。

出生动画和死亡动画搞定。

3/17

为小兵添加了血条。

为敌人添加的血条。

只做了近战单位的动画蓝图。

QQ截图20200317181400.jpg

3/18

敌人的索敌和攻击功能。

tips:双击可以加入reroot节点

在加入搜索base的时候出现了困难,试图加入仇恨系统。

尝试使用蓝图接口来制作攻击的选择。

现在可以对基地进行正确的攻击了。

动画蓝图的线性速度获取出了问题,推测是操作了Mesh之后无法获得Mesh的速度,改成character movement之后解决问题。

3/19

更正了一些敌人的动画bug。

敌人和攻击单位大体制作完成,开始制作关卡。

摄像头制作。因为player start的放置过多导致Bug.

3/20

学习UI的制作方式,开始制作UI逻辑。

3/21-3/22

完善UI,使UI与变量绑定。

3/23

研究别人写的动态经验系统。

动态经验系统制作结束。

发现一个炮弹在接触地面会消失的BUG,暂时没有好的头绪(而且其实在这个demo中也没有什么影响),今后在说。

完成了血条、金币的制作,战斗AI制作完毕,明天准备研究一下概率掉落怎么写。

3/24

战斗界面的UI制作。

因为这个UI有很多触发型的事件发生,稍微遇到了一些问题。

首先,是使用一个按键控制其他按键的明暗度。

完成

使用进度条制作技能冷却系统。

3/25

学习使用动态材质实例制作圆形进度条。

进度条倒是做好了,但是冷却系统我还得再思考一下……考虑使用蓝图接口来做?

3/26

冷却系统可以正确计时了。

最开始是考虑使用全局函数,但是因为timer通信传值有一些麻烦,最后还是选择直接写到Base的蓝图里。

今天我终于成功证明做了好几天的动态贴图并不适合多个技能的制作。

QQ截图20200326183432.jpg
3/29

解决了冷却系统显示的问题,但是在多个技能并行工作的时候,会出现显示错误。

原来是MP空了。

3/30

deadline前的计划!

今日最低目标:完成所有UI绑定(包含菜单切换和视角切换)

计划分解:

技能条

MP判定 √

MP自动回复 √

封装HP更新的函数方便调用 √

升级MP HP最大值提升并刷新HP MP值 √

修复在首次刷新EXP条时调用升级函数导致升级的BUG √

技能MP消耗绑定 √

修改HP更新函数,使得HP回复不会超过最大值(MP设定可以超过最大值)√

想了想还是给MP也写个判定吧 √

非战斗状态回复所有资源

物品栏

HP MP 药水作用与绑定 √

减速药和金币增加系统制作 √

设置栏

变速和暂停的设置 √

视角的切换(使用蓝图输入命令行)√

战斗系统

敌人自动生成 √

发现在杀死敌人的时候都会回复生命值,修复 √

先制作和法师比较类似的弓箭手和远程英雄 √

特效素材整理 √

不受伤血条不可见

技能1:雷霆 √

技能2:冰封√

技能3:狂化√

技能4:治愈 √

疑问残留

定时器如何用于带输入和输出值的函数

函数中无法使用delay

在泛化的时候经常会遇到问题

在生成函数中更改变量造成了预料之外的BUG,暂时没搞清楚原因。转而采用文档中锁用到的切换摄像图方式。

4/1

今天主要是做技能。本来还挺开心的,感觉效果还行。

QQ图片20200401184047.png
然后惊喜来的如此突然
QQ图片20200401184059.png
这大概就是人生吧

最后编辑于
文章链接: http://pheustal.com/2020/03-11/GrowKingdom
本作品采用CC-BY-SA许可。