版权声明

  • 本文为"优梦创客"原创文章,您可以自由转载,但必须加入完整的版权声明
  • 文章内容不得删减、修改、演绎
  • 因文章视频大小限制,项目中的画面效果无法动态展示,相关内容请见文末参考视频(如有)

微信霸榜游戏开发

  • 大家好,我是老雷。今天我们视频的主角是坤坤,蔡徐坤
  • 今天我们的目标是让坤坤在我们的游戏里打篮球

回顾项目进度

  • 经过前几天的开发,我们复刻的微信霸榜游戏「猪了个猪」已经可以实现完整的功能玩法了

  • 大家看到画面上左边的,是原版游戏,而右边就是我们用AI复刻的游戏了,其中使用的所有资源,包括卡片图标、背景图、按钮素材,全是AI生成的,前后不到3小时就搞定了所有视觉资源
  • 但是大家应该也注意到了,游戏里我们只能进行同一类型角色间的交互,而原版游戏,关卡极多,据说有的玩家,已经打到1000关了
  • 那我们能不能实现呢?答案是完全没问题

地图编辑器介绍

  • 因为我们之前就已经开发好了一个灵活而强大的地图编辑器

  • 地图编辑器的开发我是全程调用AI来完成的,它可以实现:
  1. 创建任意类型的预制体
  2. 可视化放置
  3. 旋转预制体报错提示
  4. 报错提示
  5. 网格样式设置
  6. 创建好的地图可以随时保存、加载、清空等功能

今天的目标

  • 今天,我们就换换风格,把地图上的小猪换成坤坤,让坤坤带球撞人,哦,不对,是撞猪
  • 但是坤坤的素材从哪里来呢?答案就是AI生成

  • 大家看到的是我在网上找到的一张卡通版坤坤的图片,但是它是2D的,我们要把它转成3D模型,但是3D模型是静态的,我们要让他会动。这就需要赋予角色模型以骨骼和皮肤
  • 骨骼让模型能够进行运动,比如:走、跑、跳、运球、投篮
    • 而皮肤则能够让角色在运动时,骨头和骨头之间的皮肤不会产生裂缝

具体目标

  • 第一,把2D图片转成3D模型
  • 第二,给模型绑定上骨骼和皮肤
  • 第三,放到游戏地图编辑器里编辑角色的位置、朝向

优梦创客机构介绍

  • 开始之前,简单介绍一下我们机构:我们机构叫"优梦创客"。我们的目标是:帮助各位小伙伴创作一款大家爱玩的游戏
  • 我是老雷,一个十四年游戏研发经验的游戏大厂主程,也是一个爱分享的UP主。这是我曾经参与制作的一些成功的项目作品,右边是我的个人肖像

第一步:2D图片转3D模型

  • 我们要做的第一步是把2D图片转3D模型

预处理坤坤图片

  • 我在网上随便找了一张坤坤的卡通玩偶图片,先把这张图片做一下预处理:让背景透明,同时去掉阴影。这样AI在生模的时候就会更加准确,不会生成一些抽象的3D模型

AI生模过程

  • 我们把图片放到AI生模软件,通过图生模型的方式,让它生成一个5万面的坤坤角色模型。由于AI生成模型的过程存在一定的随机性,也就是我们俗称的"需要抽卡",因此这里要调节到合适的生成参数,多试几次

  • 大家看左边是我们第一次生成的模型,经过多次尝试和调整,我们也总结一些让模型生成更稳定的方法和经验,并最终生成了右边的模型。这个模型从视觉效果来看基本可用,可以继续进行下一步的工作

模型优化:面数过大问题

  • 在这里,我们还要注意一个问题:由于我们开发的是游戏,而市面上大部分AI生模软件面向的是通用模型生成,所以并没有特意为游戏进行优化,于是就产生了两个问题:
  1. 模型面数过大
  2. 模型拓扑不正确
  • 我们先看第一个问题

  • 左边是AI直接生成的模型,没有经过优化,大约有一百五十万个面,这个面数是什么概念?大家想象一下这么多面数已经可以装下很多微信抖音小游戏一整个游戏的3D资源了,而我们仅仅用它来渲染一个模型,这是在是太浪费了,而且根本不适合小游戏平台,因此我们就需要对模型进行压缩
  • 大家看右图,这是我们压缩过的效果,大概只有九千个三角面。从图上大家可以看到,模型会略微模糊一些,在这里我们牺牲了模型精度,但这是值得的,因为它可以被装进游戏,而且作为像「猪了个猪」这样俯视角的游戏,并不需要太精细的游戏建模,实际上玩家从俯视角也看不见太精细的模型细节
  • 当然,我们实际上还可以把模型压缩到让你目瞪口呆的三角面数量,具体可以参考我的《5万面到50面的模型优化》这个视频分享,这里就不赘述了

模型优化:拓扑问题

  • 刚才说到,AI生模还有一个问题,就是模型拓扑不正确,因此我们还需要对模型的拓扑进行优化,毕竟拓扑就像模型的"骨架",骨架歪了,后续绑定、动画、性能优化都会寸步难行

什么是拓扑

  • 那么什么是拓扑呢?简单说,拓扑就是3D模型表面的多边形连接方式。比如面的分布、边的走向、顶点的排布,AIGC生模时,AI更关注"长得像",却不会考虑游戏开发的实际需求。比如它可能在角色关节处乱加面,在平整区域少加面,甚至出现"非流形拓扑"(比如一条边连三个面),这种模型根本没法做骨骼绑定,动画播放时会直接穿模、变形错乱,而且在引擎里渲染时还会占用额外资源,导致帧率下降
  • 大家看这幅图,虽然两个平面的外观、大小是一样的,不过内部的顶点、边线、面的排布方式却不尽相同,右边的平面内部结构仅仅是平直的网格,左边的却复杂一些,平面、边线围绕中心部分,形成了一个环状的结构

拓扑对人物模型的重要性

  • 一般来说,创建人物模型尤为要注重拓扑结构,这个模型的拓扑结构比较合理,可以看到,这个模型的拓扑结构,大体上符合真实的人头结构,眼部被围成一圈,眼睛和鼻子加起来是一圈,嘴是单独一圈,下颌的走线类似真实世界里相应的骨骼结构,这样,要编辑某个部分,就比杂乱无章的拓扑模型方便的多。比如调整眼眶的大小,可以直接选择眼睛的那几圈,然后缩放一下,再调整一下位置和细节即可
  • 另外,由于拓扑结构大体符合真实人头的骨骼、肌肉结构,做动画时形变也能做到更加平滑、自然、真实

正确拓扑的好处

  • 总结下来,正确拓扑有以下三点好处
  1. 方便绑定,为了绑定后的动画效果
  2. 减面,优化模型,让机器能吃得消
  3. 方便展UV,不过有些要求不那么高的模型倒是自动就可以用了
  • 上面我们主要了解了第一点好处,限于时间关系,另外两点可以自行参考我的《TA全栈开发大师》

拓扑优化操作

  • 刚才说到,AI生模还有一个问题,就是模型拓扑不正确,因此我们就利用工具进一步对模型的拓扑进行了调整,结果如图所示

纹理贴图

  • 完成了模型和拓扑以后,我们就可以对模型进行纹理贴图了,大白话说就是给模型着色,我们上传之前生成的参考图,对其生成纹理贴图即可,这里还是需要多实验几次

  • 大家看左图,这是我们第一次生成的带贴图的模型,贴图眼睛的部分明显有些抽象,后续我们又进行了多次调整,找到方法和可复用经验,右图是我们贴图生成的最终效果

生成骨骼

  • 接下来就是生成骨骼了,这里坑点比较多。由于我们生成的是一个卡通角色,AI无法完美识别并生成对应的骨骼,因此我是在建模软件里完成的自动绑骨,自动绑骨相关的方法和技巧我也会在《TA全栈开发大师》项目中分享给大家

Unity中绑定动画


(视频演示参考文末)

  • 最后,我们在Unity引擎里面给角色绑定动画,并在地图编辑器中编辑角色的位置和朝向,编辑过程我在视频开头演示过了,这里就不重复演示了,详细过程可以参考我的「用AI,3天开发猪了个猪」B站视频
  • 画面中大家可以看到,角色可以运球,勾选Run参数可以投篮,下一期我会把投篮的动画控制程序化,欢迎大家三连关注

游戏长线运营建议

  • 像「猪了个猪」这种游戏玩法比较单一,作为独立游戏开发者或者小型团队,如何让小游戏能够长线运营呢
  • 前面我们所做的角色定制、关卡编辑,就为长线运营打好了基础,还有其他方法来提高小游戏的粘性,在这里老雷给大家分享一些常见方法:
  1. 游戏联网化,支持玩家间对战
  2. 逐步迭代和丰富游戏系统,比如跟模拟经营、塔防、SLG、角色扮演元素进行结合
  3. 支持跨平台游玩,比如同时支持微信抖音小游戏、手游App、网页游戏、弹幕游戏等平台
  • 相关内容已经加入了我的《Unity全栈开发大师》项目,大家可以回复666获取相关分享

开发小组介绍

  • 另外我们还建立了一个老雷我亲自带队的"微信小游戏开发小组",这个小组的目的就一个字:干
  • 我会按照小型商业项目团队的方式对小组成员和项目任务进行进行组织和管理,通过基于Git工作流的协作进行团队开发,让大家真正在动手的过程中掌握团队开发和冲突解决的精髓
  • 项目小组会通过研究问题、集体讨论、解决问题、代码复审、经验提升的闭环,带着大家一轮轮迭代和提升项目能力,而你也不是一个人在战斗,而是大家互相鼓励、互相推动,最终我们的目标只有一个:把游戏干上线、商业化
  • 让大家在这个过程中通过实战掌握商业项目技能,为大家求职、创业提供国内领先的核心能力支持,当然,这一切都需要巨大的时间、精力和经验付出,小组人员容量有限,也欢迎大家踊跃报名,优先参与到我们的商业项目开发小组中来

结语

  • 优梦创客,创作一款大家爱玩的游戏
  • 我是老雷,一个十四年游戏研发经验的大厂主程
  • 觉得不错记得三连保持关注

参考 

  • 感兴趣的话,大家可以加我进群交流:alice17173,这样可以收到我的更多视频更新,也欢迎大家参与我们的『微信精品游戏』项目~
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐