tensaix2j avatar

尝试做BomberMan游戏 Part02, 制作炸弹和爆炸效果

tensaix2j

Published: 01 Jun 2020 › Updated: 01 Jun 2020尝试做BomberMan游戏 Part02, 制作炸弹和爆炸效果

尝试做BomberMan游戏 Part02, 制作炸弹和爆炸效果

接下来, 要制作炸弹和爆炸效果

bomberman_vidcap.gif


先来说炸弹, 其实不必给炸弹建 3D模, 因为炸弹是个球体。 球体的话, 不论哪个方向看都是圆形, 既然如此, 那用一个 PlaneShape() 上 texture ,然后再加个 Billboard() component 就可以了.

image.png

Billboard() component 可以让任何一个 entity 永远用正面对着camera 无论你的camera 从哪望向那个物件。

image.png

这个方法我个人觉得只适用于球体和字体。 如果不是球体或字体,例如人物, 那当你的camera 从上往下看时, 那个Projection 会看起来怪怪的。

接下来,为了让炸弹看起来生动, 需要给它加个呼吸的animation 。 是的, Bomberman炸弹是会呼吸的。因为会呼吸的炸弹看起来比较生动 。这个animation 要用 代码 完成。 基本上就控制 transform.scale 逐渐变大,再逐渐变小而已。

image.png

然后再讲 爆炸效果。

这个我也研究了一下后来发现, Decentraland 的 Material() 有 emissiveIntensity 和 emisiveColor 这两个属性可以让 material 发光。

image.png

所以就弄两个boxShape() 交叉 , 给 emissiveIntensity 调到 5.0 ,颜色放橙色就可以了。

至于爆炸要会被墙壁挡住, 这个要让 boxshape 从原点往四个方向上下左右 扩张到 max radius(2 格),如果撞墙就停, 还有一些比较复杂的数学让它align到正确的格子, 说来话长。。

炸弹和爆炸 基本上就完成了。


以后我有空在讲关于如何 用 pathfinder.js 来完成自动找路的过程,因为游戏必须用滑鼠左键和E 建而已。

原因是WASD 建是用来控制player avatar 的, Decentraland 无法直接 让 scene creator 去操控/变化任何玩家的main avatar 的任何东西包挂玩家 main avatar 的 position, 因为场景是被动的。

但是玩家的avatar 是可以和场景内带有collision mesh 的entity 有互动的。例如碰撞,或站在上面。例如电梯就是一个例子。

就如document 里说的:

image.png

就是说,如果玩家游戏死掉了, 场景creator 不能逼他/她滚出去。它的avatar 依然在场景里游走。

不过我猜想如果我create 一个有 collision mesh箱子,然后硬硬套住player 的avatar, 然后让这个箱子移动到 scene 的边缘, 是不是有可能可以锁住一个玩家的avatar的 位置。 画面一定相当搞笑。如果可以加入六个黑人去抬走这个箱子就更搞笑了。

话说回来, 最后还是让 main avatar 控制另一个game avatar 好了。反正我比较喜欢这种一个桌子一个桌子的概念。

image.png


题外话:

最上面那个 screen video cap 是用 vlc media player 里的 screen video capture 功能. 可能很少人知道VLC 不仅是个播放器, 居然可以做desktop video capture。不必下载多余的软件。

image.png

然后用 Blender 的 video sequence editor 去修正的。 Blender 真的太强大了, 不仅可以做3D ,有类似 Flash 的 2D 动画功能, 甚至还有类似 Premiere 的 Video Editing 功能。

反正学blender 是一举多得的事情。

image.png

谢谢阅读。


Leave 尝试做BomberMan游戏 Part02, 制作炸弹和爆炸效果 to:

Written by

A Casual Coder / Crypto Trader / Game Developer / 3D Hobbyist

Read more #cn posts


Best Posts From tensaix2j

We have not curated any of tensaix2j's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From tensaix2j