前言
从Blender建模开始,到UE4游戏逻辑复现MOBA游戏中的塔机制。
正文
建模和动作
一杯茶,一包烟,一个动作做一天。
Blender插件设置
B/read/cv9051987
B站相关信息
其中的SendToUE 需要GITHUP和EPIC进行授权,需要翻墙
设计模型
风格想到了尼尔 实际上做起来很省钱
45°视角

俯角

仰角

加了材质
事实上切换到UE4后出现 网格体错位和材质缺失 需要人工进行调整材质
遇到网格体错位,目前只能祈祷

设计动作
默认状态

攻击状态

死亡状态

上传到UE4时动作出问题
只能单个上传 多个动作会互相重叠覆盖
原因未知
UE4逻辑
塔逻辑
graph TD
塔默认不动 --> 触发范围进入非同阵营单位
触发范围进入非同阵营单位 --> 塔转向该单位自动攻击
塔转向该单位自动攻击 --> 该单位在触发范围内
该单位在触发范围内 --> 塔转向该单位自动攻击
塔转向该单位自动攻击 --> 该单位离开触发范围
该单位离开触发范围 --> 触发范围无非同阵营单位
触发范围无非同阵营单位 --> 塔默认不动
该单位离开触发范围 --> 触发范围存在其他非同阵营单位
触发范围存在其他非同阵营单位 --> 塔转向该单位自动攻击
触发器实现
用个看不见的圆柱体实现

主要实现两个功能 单位进入和离开
通过这个集合 之后可以实现全体攻击的塔

Tick时间
自动攻击在Tick中实现
当然可以通过重叠事件,做个调度,来控制自动攻击 那是后话了

本单位死亡就停止判断
没有单位在集合里就停止判断
再把集合第一个进行阵营判断 也好理解就是第一个进入范围的单位
如果同阵营 直接移除 调用封装后的技能

优化后的技能调度

使用类来进行调读 上一次是index来着 这次可视化高些
塔的自动攻击技能设计
技能调度后的包装

AUTOShoot 主要内容
平滑旋转到单位

使用射击技能

平滑旋转到单位功能之后再讲 需要画个图 目前发现有四种情况处理,篇幅长
塔弹道攻击技能设计
对GETSKILL进行重载
目前喜欢使用状态PARAM控制动画

攻击动画蓝图

两个通知 30帧的通知用于发射子弹 58帧的用于结束状态
对应通知事件

SHOOT中的事件调度

这里有个BUG 得需要把参数加个ACTOR进行个体识别
以后做兵线系统时在优化
ShootOne 事件
顾名思义就是创建BULLET Actor

Tick事件中的结算伤害
ImposedActor[] 用于存放子弹的碰撞单位

Bullet ACTOR设计
逻辑就是上几篇的弹道技能一样
无非加了自动追踪

tick事件中的飞行内容

塔死亡动画逻辑设计
略 上一篇相关内容逻辑大致
结尾
发个动画助助兴

下一篇就做兵线了
八成又是一个模型捏一天