美文网首页
2018-11-05 简单的射击游戏技术要领

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

作者: constantine丶 | 来源:发表于2018-11-05 22:44 被阅读0次
    ON}`2@~KW`0LY0}KNFI)O(L.png

    这是一个简单的射击游戏

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

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

    1.使用蓝图接口

    2.jpg

    在hero character 实现了接口 affect health


    3.png

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


    4.png

    2.使用自定义的事件

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


    5.png

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


    6.png

    二.一些功能的实现方法

    1.子弹的移动

    7.png

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

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

    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来设置


    9.png

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


    10.png

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


    11.png

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

    相关文章

      网友评论

          本文标题:2018-11-05 简单的射击游戏技术要领

          本文链接:https://www.haomeiwen.com/subject/jvyexqtx.html