今天跟大家伙儿唠唠我最近搞的这个“花花世界大作战”,听着名字挺唬人,就是个练手的小项目,但是折腾下来,还真有点意思。
起因:
事情是这样的,最近手头有点闲,寻思着不能光躺着,得找点事儿做。正好刷到一个Q版武侠手游,满眼的花花绿绿,突然来了灵感,就想着能不能自己也搞一个类似的,咱不是真做游戏,就是图个乐呵,练练手,看看自己能折腾出个啥玩意儿。
准备工作:
说干就干,先是找素材。这年头,网上资源是真多,各种Q版人物、花花草草的素材,扒拉了一堆。然后就是选引擎,Unity、Cocos啥的都考虑过,还是选择了Unity,毕竟之前用过,上手快,省事儿。
开干:
1. 搭场景:
先把场景搭起来,花花世界嘛肯定要色彩鲜艳。我找了一堆花朵、草地、小桥流水的素材,拼拼凑凑,总算搞出一个有点那味儿的场景。这里面最麻烦的就是调颜色,要保证整体风格统一,又不能太刺眼,真是费了不少功夫。
2. 人物动起来:
然后就是人物了。我找了个Q版小人,给它加上了行走、跳跃、攻击的动画。这里面学到了不少东西,比如怎么用Animation Controller控制动画的切换,怎么让人物在不同状态下播放不同的动画。
3. 简单交互:
有了人物,总得有点交互。我就写了个简单的脚本,让人物可以跑来跑去,碰到花朵可以“采集”。这个“采集”就是让花朵消失,然后加个简单的粒子特效,看起来像那么回事儿。
4. 加点“武侠”元素:
既然是“花花世界大作战”,总得有点战斗。我就给小人加了个简单的攻击动作,碰到敌人(就是另一个小人)可以互相掉血。这个战斗系统非常简陋,就是两个血条互相减,谁先没血谁就输了。
遇到的坑:
- 动画状态机:动画状态机一开始搞得我头都大了,各种状态之间的切换逻辑总是出错,人物经常抽风。后来仔细研究了一下Unity的官方文档,总算搞明白了。
- 碰撞检测:碰撞检测也遇到了问题,人物经常会卡在场景的边界上。后来发现是碰撞体的设置有问题,调整了一下碰撞体的形状和大小,问题就解决了。
最终成果:
虽然这个“花花世界大作战”非常简陋,但是也算是我一步一个脚印做出来的。它大概长这样:一个Q版小人在一个花花绿绿的场景里跑来跑去,可以“采集”花朵,可以和另一个小人“战斗”。
这回“花花世界大作战”的实践,让我对Unity的使用更加熟练了,也学到了不少新的知识。虽然项目本身很简单,但是在这个过程中,我解决了不少实际问题,也积累了不少经验。以后有时间,我还会继续折腾,争取做出更像样的东西。
这回瞎搞还是挺有意思的,以后有啥新的折腾,再跟大家伙儿唠嗑!