美文网首页
03 - Creating Obstacles

03 - Creating Obstacles

作者: 镜月s | 来源:发表于2017-08-18 16:18 被阅读18次

    创建障碍物蓝图类BP_Blocker 继承自Actor类 添加StaticMesh组件 并设置mesh为SM_Rock

    编辑BP_FloorTile 地板类 添加4个箭头 放在地板末尾处 用来作为随机生成障碍物的位置

    添加函数SetSpawnPoints函数  保存各个箭头的相对位置到添加的 数组变量 SpawnPoints中(视频中GetRelativeTransform 方法在新版中一发生变化)

    添加SpawnBlocker函数 用来生成障碍物

    Random Integer in Range 根据数组大小生成随机数 AddChildActorComponent 根据位置 以及Deatail中设置的Child类 动态添加actor到当前actor上

    在floor的构造函数中调用上面两个函数 运行后应该可以看到随机生成的障碍物

    此时障碍物是可以被穿透的 因为当前障碍物还没有添加碰撞网格

    进入SP_FloorTile StaticMesh 中的SM_Rock 为岩石添加Collision 点击Collision/Add Convex Collision 点击窗口中的Apply 生成碰撞网格

    运行后角色不能穿透了

    编辑character蓝图 添加自定义事件Death 当碰撞体检测到碰撞时 调用character的death事件

    该事件的逻辑是 设置变量IsDead为true 禁用输入操作 在当前的角色位置播放死亡特效,在当前位置播放死亡声音,设置角色的网格不可见 延迟2s后 输入Restartlevel 重启关卡

    上面保存的Is Dead变量是要在tick事件中判断角色时候还继续向前移动 如果没有死亡的话 继续移动

    在BP_Block中添加碰撞检测 调用character的Death事件

    相关文章

      网友评论

          本文标题:03 - Creating Obstacles

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