经典游戏 ue4 重制(1)打砖块

接触 UE4 时间不短,深感其学习曲线之陡。而现有的教程多数着重介绍 UE4 的基本组成模块,但是如何把这些模块组合起来形成实际的游戏,能找到的资料不多,所以想着把自己在学习中重制的一些经典游戏公开出来,供大家参考。主要想说明的是如何利用 UE4 实现各种游戏机制,画面音效上并无特别的着力,有各位看不过去的地方还请海涵。

今天先介绍一下打砖块。

level map 如下,

其中预设组件包含,
俯视摄像机
Ball BP(小球)
Paddle BP(用户控制的滑动板)
Brick BP(砖块)
TriggerVolume

各 BP 后面会详细介绍,TriggerVolume 用于小球运动到画面底部时,重新 spawn 一个小球出来,将在 level BP 中设置。

小球等的 bp 比较简单,component 部分可以只放一个 static mesh。当然如果有兴趣还可贴上材质。

Paddle 主要处理用户输入,当用户按键时,对 Paddle 进行左右移动。

Brick 中只需响应 OnHit,在被击中时自我销毁即可。这里省略了音效或者积分机制。

Image3.png

Ball 同样需要响应 OnHit,操作是将速度根据法线进行映射。

另外在 Tick 中,根据小球当前的速度和运动方向控制小球的移动。

最后是 level BP,主要操作包括,begin play 时设置摄像机,并 spawn 小球。

另外响应鼠标左键,使得点击左键后,spawn 出来的小球才开始运动。

Image3.png

最后还需添加 TriggerVolume 的 BeginOverlap,这样小球在运动到屏幕底部时会被销毁,之后在指定的位置重新 Spawn 一个静止的小球。

以上便是打砖块的基本游戏机制。可以发现实际的编码量其实很少。当然我们还有很多 feature 并未添加,比如砖块的积分,消掉全部砖块之后的通关判断,小球掉落的命数以及游戏结束等。

下一次介绍贪吃蛇,请容忍画面的不堪。

这个不顶说不过去的!

漫漫学习路:)感谢楼主分享

这么好的教程应该支持一下~

这么好的东西,一定要支持啊。

高手啊!佩服佩服,引以为榜样!

ue4初学者,照着做了个更简单的, 四边都围起来了, 但是小球不会移动, 在pb_ball内添加了移动组件后会移动了, 但是不能触发hit, 麻烦楼主提供下源码以供参考

好运

还原经典小游戏的想法不错,值得一试

:)赞赞赞