尝试做BomberMan游戏 Part02, 制作炸弹和爆炸效果
接下来, 要制作炸弹和爆炸效果
先来说炸弹, 其实不必给炸弹建 3D模, 因为炸弹是个球体。 球体的话, 不论哪个方向看都是圆形, 既然如此, 那用一个 PlaneShape() 上 texture ,然后再加个 Billboard() component 就可以了.
Billboard() component 可以让任何一个 entity 永远用正面对着camera 无论你的camera 从哪望向那个物件。
这个方法我个人觉得只适用于球体和字体。 如果不是球体或字体,例如人物, 那当你的camera 从上往下看时, 那个Projection 会看起来怪怪的。
接下来,为了让炸弹看起来生动, 需要给它加个呼吸的animation 。 是的, Bomberman炸弹是会呼吸的。因为会呼吸的炸弹看起来比较生动 。这个animation 要用 代码 完成。 基本上就控制 transform.scale 逐渐变大,再逐渐变小而已。
然后再讲 爆炸效果。
这个我也研究了一下后来发现, Decentraland 的 Material() 有 emissiveIntensity 和 emisiveColor 这两个属性可以让 material 发光。
所以就弄两个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 里说的:
就是说,如果玩家游戏死掉了, 场景creator 不能逼他/她滚出去。它的avatar 依然在场景里游走。
不过我猜想如果我create 一个有 collision mesh箱子,然后硬硬套住player 的avatar, 然后让这个箱子移动到 scene 的边缘, 是不是有可能可以锁住一个玩家的avatar的 位置。 画面一定相当搞笑。如果可以加入六个黑人去抬走这个箱子就更搞笑了。
话说回来, 最后还是让 main avatar 控制另一个game avatar 好了。反正我比较喜欢这种一个桌子一个桌子的概念。
题外话:
最上面那个 screen video cap 是用 vlc media player 里的 screen video capture 功能. 可能很少人知道VLC 不仅是个播放器, 居然可以做desktop video capture。不必下载多余的软件。
然后用 Blender 的 video sequence editor 去修正的。 Blender 真的太强大了, 不仅可以做3D ,有类似 Flash 的 2D 动画功能, 甚至还有类似 Premiere 的 Video Editing 功能。
反正学blender 是一举多得的事情。
谢谢阅读。
Leave 尝试做BomberMan游戏 Part02, 制作炸弹和爆炸效果 to:
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
- 收藏 POAP NFT
- 在 Decentraland 上给Hive.blog 刷存在感
- 参加了Decentraland GameJam 2020 游戏制作赢了一些奖金
- 第二个上Metazone 的游戏。有Youtuber到此一游
- 把本地电视台在Decentraland场景里的电视屏幕播放
- 尝试写一个跑马游戏
- 尝试制作篮球游戏
- 写好游戏放到 metazone 贩售
- 尝试做一个桌球游戏
- 尝试做一个弹珠台 (Pinball) 的游戏
- 一人一款怀旧游戏 | Habbo 旅馆
- 尝试把建好的游戏Deploy到Decentraland的土地
- 尝试做BomberMan游戏 Part02, 制作炸弹和爆炸效果
- 尝试制作 Bomber Man 游戏
- 用 Decentraland SDK 制作一个多人连线扑克游戏
- 制作一个Decentraland 的象棋场景 PART 3 多人连线
- 制作一个Decentraland 的象棋场景 PART 3 多人连线
- 制作一个Decentraland 的象棋棋盘 PART 2
- 用Decentraland SDK制作一个可以互动的场景
- 尝试使用 Decentraland SDK