Unity快速上手系列1之:2D物理弹球

大家好。

以“跳一跳”为开端,微信小游戏从前几年起以迅雷不及掩耳盗铃儿响叮当之势席卷了用户的手机。从创意小游戏,到页游遗风的挂机游戏,一时间百花齐放。
当然,前者说是创意,其实绝大部分也就是直接把其他平台上的游戏模式搬到H5上而已,例如经典的三维弹球。
而作为物理引擎的代表作品,实现一款三维弹球作品对初学者的锻炼还是挺大的。这也是写这篇小文的主要目的。

制作此游戏分为两个大的步骤,一是场景搭建,二是脚本编写。下面我们就来一起逐步完成这款小游戏。

场景搭建:游戏属于2D游戏,所以场景我们用2D精灵(Sprite)来搭建


一.砌墙


首先搭建一圈2D碰撞器作围墙,限制小球活动范围:


所有的墙都要在2D碰撞器内添加拖入弹性物理材质,上下墙不添加 

二.铺路

在小球外部活动范围内搭建触发器,之后将在触发器中获得寻路效果:


可创建一个空物体进行管理

三,枪口

枪口(Muzzle)用来定位小球发射的地方,枪口有个子物体阀门(Valve),作用为阻挡已发射的小球被弹回枪口:

枪口需要添加LineRenderer组件,用来绘制瞄准线,阀门需要添加2D碰撞器


四.分数显示
创建一个空物体Score,它的子物体CurrentScore才是用来显示分数的Text:

五.小球管理

创建一个空物体Balls来管理所有的小球,使用2D精灵创建一个小球 

六.关卡设置

在场景内一共搭建9*6个小格子,每个小格子都用来随机生成敌人,实行分层管理,每层6个,共9层:

注意:绿色小方框只是为了教程更加直观特意加的,实际开发时请移除,小格子并未添加除Transform以外的任何组件,因为小格子的作用就是定位,游戏运行时需要在该位置随机生成敌人; 

七.菜单栏

游戏结束时自动弹出,游戏运行中按”Esc”键也可调用:

八,摄像机定位

由于整个场景都处于固定状态,所以将Canvas设为世界模式:


将摄像机改为正交模式


将固定在整个场景前:

九.预制件制作

创建若干个敌人(Enemy)预制件,添加上2D碰撞器和物理弹性材质


创建道具(Stunt)预制件

                                                变大道具BigStunt:碰到后球会变大


                                                复制道具CopyStunt:碰到后增加一个小球

创建小球(Ball)预制件,当碰到复制特效后创建

脚本编写:脚本不多,加上2个状态机也就11个

下期我们将详细讲解是如何实现的。 

猜你喜欢

转载自blog.csdn.net/m0_69824302/article/details/131480805