创建一个父类为Actor的蓝图类BP_FloorTile 用来生成游戏地形
创建3个cube 分别调整大小位置 作为地形的地面和两侧墙壁

在右侧边缘处分别添加一个箭头AttachPoint 用来获取该位置摆放下一节地板 添加一个boxCollision 用来判断角色是否穿过了改节地板

设置EndTrigger的Collision 只与角色发生碰撞检测

添加函数GetAttachTransform 获得末尾位置 作为下一节地板的生成位置

添加trigger检测事件 当发生碰撞且物体为角色时 调用GameMode的地板生成函数(后面添加) 延迟2s后 删除自身

修改ThirdPersonGameMode蓝图 添加函数AddFloorTile
动态创建地板Actor, 创建结束后 获得下一块地板的位置存在变量中NewSpawnPoint

在GameMode的Begin事件中 创建2个地板 之后的地板将会在人物运动后动态生成

创建一个新的level关卡 添加PlayerStart 运行
网友评论