今天心血来潮,想搞个躲猫猫小游戏玩玩。小时候玩躲猫猫,那叫一个刺激,现在自己动手做一个,看看能不能找回当年的感觉!
开工前的瞎琢磨
要做躲猫猫,得有个场景?我可不想费劲巴拉地去搞 3D 建模,太麻烦。直接用 Unity 自带的那些基本形状,拼个简单的房间得。几个 Cube 当墙,Plane 当地板,再加几个 Cylinder 当柱子,差不多就够用。
然后就是角色。躲猫猫嘛肯定得有“躲”的人和“找”的人。我琢磨着,“躲”的就用 Capsule,也就是胶囊体,弄几个不同颜色的,看着比较醒目。“找”的,也用 Capsule,不过颜色得弄得更显眼一点,比如大红色,这样才能一眼就看出来谁是“找”的。
角色有,还得能动!“躲”的肯定得能自由移动,上下左右前后,想去哪就去哪。“找”的,我一开始想的是不是也让玩家控制,后来一想,干脆弄个 AI 自动寻路得,这样更有挑战性!
动手,码代码!
场景和角色都弄好,接下来就是写代码。我先给“躲”的角色写个简单的移动脚本,用 WASD 控制方向,空格键跳跃。这玩意儿简单,几行代码就搞定。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
然后是“找”的角色的 AI 寻路。这个稍微麻烦点,我直接去 Unity 的 Asset Store 里面找个免费的寻路插件,叫 A Pathfinding Project。这插件挺好用的,直接把场景里的障碍物标记然后给“找”的角色挂上寻路脚本,它就能自己找路。
重点来!光能找到还不行,还得有“输赢”判定!我想个简单的办法,在“找”的角色前面加个碰撞体,设置成 Trigger。只要“躲”的角色进入这个 Trigger 范围,就算被找到,游戏结束!
为让游戏更有趣,我还加个倒计时。时间到,“找”的还没找到所有人,就算“躲”的赢!
测试,改进,再测试!
代码写完,赶紧跑起来试试!我先自己控制“躲”的角色,到处乱窜。还真有点小时候躲猫猫的感觉!
然后我把“躲”的角色数量增加到 5 个,看看 AI 的寻路效果。还不错,AI 会自己绕开障碍物,去追那些“躲”的角色。
不过我发现一个问题,AI 有时候会卡在墙角,或者在两个障碍物之间来回 ???。这不行,太蠢!我琢磨着,是不是寻路算法的问题?或者是我场景搭得有问题?
我先试着调整一下场景,把一些容易卡住的地方改改。然后又去查查 A Pathfinding Project 的文档,看看有没有什么参数可以调整。折腾半天,总算把 AI 的寻路问题解决。
最终成果
经过一番折腾,我的躲猫猫小游戏终于完成!虽然场景很简单,角色也很简陋,但是玩起来还挺有意思的。特别是看着 AI 控制的“找”的角色到处乱窜,追着那些“躲”的角色,感觉特别解压!
这回的实践经历让我明白,做游戏没那么难,只要有想法,肯动手,就能做出有趣的东西!这只是个简单的躲猫猫小游戏,要做出更复杂、更好玩的游戏,还得继续学习,继续努力!