2018-11-05 简单的射击游戏技术要领

2018-11-05 简单的射击游戏技术要领_第1张图片
ON}`2@~KW`0LY0}KNFI)O(L.png

这是一个简单的射击游戏

  • 操作↑↓←→来转换方向和射击,wasd 来移动
  • 敌人与玩家碰撞后玩家生命值会减少
  • 玩家死后,3s会复活
  • 敌人的生成速度和最大数量可以设置

一.2种从当前蓝图类,调用不同蓝图类的方法

1.使用蓝图接口

2018-11-05 简单的射击游戏技术要领_第2张图片
2.jpg

在hero character 实现了接口 affect health


2018-11-05 简单的射击游戏技术要领_第3张图片
3.png

在调用hero character的时候可以调用这个接口,从而对玩家的hp进行计算


2018-11-05 简单的射击游戏技术要领_第4张图片
4.png

2.使用自定义的事件

在其他蓝图类调用weapon蓝图类的自定义事件


2018-11-05 简单的射击游戏技术要领_第5张图片
5.png

在weapon蓝图类定义了 2个 自定义事件


2018-11-05 简单的射击游戏技术要领_第6张图片
6.png

二.一些功能的实现方法

1.子弹的移动

2018-11-05 简单的射击游戏技术要领_第7张图片
7.png

虚幻4自带一个 子弹移动的组件,直接在蓝图类里面使用即可,会有一个设置可以设置子弹的初速度

2.大量使用了类型转换工具

2018-11-05 简单的射击游戏技术要领_第8张图片
8.png

例如这里敌人与其他actor碰撞后,使用了类型转换,实际上这种类型转换带有检测功能不是字面上的意思,这里检测碰撞到的actor是否为hero character,如果是把这个 hero character 设置为 hero,方便以后调用

  • 在 蓝图 中使用 Cast To 节点时,简单而言,就是在尝试检查发出转换的对象是否为被转换的特定对象。换言之,您创建了一个特殊的角色蓝图(如名为 MyCharacter),其中包含变量或其他自定义功能,并将其作为默认 Pawn 类(或所有玩家角色默认使用的角色蓝图)指定。

  • 如需从另一个蓝图访问玩家角色的属性,可使用 Get Player Character 节点以常规方式(设置/获取其位置、旋转灯)对玩家角色产生影响,但无法访问已添加到 MyCharacter 蓝图的自定义功能,因为您获取的是玩家角色而非特定类型的角色。

  • 使用 Get Player Character 节点,再使用 Cast To MyCharacter 节点(特殊的角色蓝图),即可确认玩家角色是否为 MyCharacter,以便访问该蓝图中所包含的变量、函数、事件或其他特殊功能。

3.如何控制敌人的移动(如何设置简单的AI)

首先AI的移动必须要有 NAV,我理解为这是一个AI移动的区域,AI只会在NAV设置好的区域移动
NAV利用 nav mesh来设置


2018-11-05 简单的射击游戏技术要领_第9张图片
9.png

敌人AI的移动,利用蓝图类EnemyAI来控制
这里设置了自定义事件来追踪玩家位置


2018-11-05 简单的射击游戏技术要领_第10张图片
10.png

在敌人蓝图类默认值,里设置了选择的AI类EnemyAI


2018-11-05 简单的射击游戏技术要领_第11张图片
11.png

明天继续复习一哈玩家的动画,断电了
....

你可能感兴趣的:(2018-11-05 简单的射击游戏技术要领)