今天跟大家唠唠我做的那个换装化妆小游戏,别看它小,从头到尾折腾下来,也花了我不少时间和心思,现在就来好好盘一盘。
起心动念:
这事儿还得从我刷短视频说起,老是看到那种换装视频,觉得挺有意思,就想着能不能自己也做一个。刚好最近有点空闲时间,就琢磨着搞个简单的换装小游戏练练手,也算是给自己找点乐子。
技术选型:
一开始也没想太多,就想着怎么简单怎么来。毕竟不是专业做游戏的,所以就选了 Unity,主要是之前稍微接触过一点,上手快。编程语言的话,就用 C# ,也比较熟悉。
资源准备:
这部分是最麻烦的,美术资源我是一窍不通,只能各种找素材。衣服、头发、饰品这些,都是从网上扒的,各种风格都有,什么公主裙、休闲装、古风汉服,反正看着好看就先下载下来。角色模型也找了个现成的,然后自己稍微改了改。
- 衣服:连衣裙、上衣、裤子,各种风格都备了一些
- 头发:长发、短发、卷发,颜色也尽量多搞几种
- 饰品:项链、耳环、帽子,blingbling 的那种
开始动手:
我把角色模型导入 Unity,然后开始研究怎么把衣服“穿”上去。Unity 里有个叫 Skinned Mesh Renderer 的东西,可以把衣服模型绑定到角色骨骼上,这样角色动的时候,衣服也会跟着动。
- 导入角色模型
- 把衣服模型绑定到角色骨骼
- 调整衣服的位置和大小,让它看起来合身
换装逻辑:
这部分是核心,我写了个换装脚本,主要思路是:
- 点击衣服图标,获取衣服的模型
- 隐藏当前角色身上的衣服
- 显示新衣服的模型
听起来很简单,但实际操作起来还是遇到不少问题。比如,衣服的层级关系要处理不然会出现衣服穿模的情况。还有,不同衣服的贴图材质也要统一,不然会出现颜色不协调的情况。
化妆功能:
光换衣服还不够,我还想加个化妆功能。这个更麻烦,涉及到 Shader 编程,我之前没怎么接触过。只能硬着头皮学,各种查资料、看教程,总算是搞了个简单的口红和眼影功能。
- 口红:改变嘴唇的颜色
- 眼影:改变眼皮的颜色
界面交互:
为了让游戏更友我还做了个简单的 UI 界面。用 Unity 自带的 UI 系统,做了几个按钮和滑动条,方便选择衣服和调整颜色。
遇到的一些坑:
穿模问题: 不同衣服的模型可能会有重叠,导致穿模。解决办法是调整衣服的顶点,让它们不要重叠。性能问题: 衣服模型太多,会导致游戏卡顿。解决办法是优化模型,减少顶点数量。Shader 不熟: 化妆功能的 Shader 效果不只能慢慢调。最终效果:
虽然只是个很简单的换装化妆小游戏,但还是能实现基本的换装和化妆功能。可以给角色换衣服、换发型、涂口红、画眼影,还能拍照保存。
这回做换装化妆小游戏,虽然过程很艰辛,但也学到了很多东西。对 Unity 的使用更加熟练了,也初步了解了 Shader 编程。更重要的是,体验了游戏开发的整个流程,从需求分析到最终实现,每一个环节都很重要。
以后有机会,我还想尝试做更复杂的游戏,挑战更高的难度。这回就先到这里,下次再跟大家分享其他的实践记录!