系列文章:
自动做游戏(1):自动生成人物侧面图
自动做游戏(2):自动生成人物行走图
自动做游戏(3):行走图生成工具开放试用
自动做游戏(4),极小样本生成国画的尝试
自动做游戏(5):新海诚版“和平精英”长啥样?
游戏会拥有很多角色,大部分角色能在场景中走动,人物行走图是最常用到的美术资源。然而对于很多开发者来说,绘制一两张人物图尚有可能,绘制十几帧的动画工作量太大。于是研究了一套“自动生成人物行走图”的程序,只要输入一张正面图,程序就能够自动的把侧面和背面图画出来,而且每个面向生成“抬起左脚”“抬起右脚”几帧动画。
效果
以下gif图片的5个人物行走图都是由工具生成,可见效果还是不差的。生成出来的图片可能会带一些噪点,这些很容易处理掉。
上面人物行走动画帧就是使用下面这几张图生成出来的,将这几张图分别输入到程序中即可。使用这项技术,游戏开发者将只需绘制一张正面图,其他交给程序去生成,可以大大减少美术成本。
下面展示几张生成出来的行走帧动画,目前生成的是4*4的图片,程序也可以生成各种规格的行走帧。
算法和训练
具体还是根据《Image-to-Image Translation with Conditional Adversarial Nets》这篇论文,算法与上一篇的侧面图完全一样,只是将侧面图的方法扩展到背面以及各个行走帧,具体可以见上一篇文章。总共训练了9个生成器,对应下图的“0 2 3 4 5 7 C D F”,其中2和0相同,4和6相同,C和E相同,“8 9 A B”是“4 5 6 7”的水平翻转。
不足
生成器对于颜色鲜艳的像素图效果比较好,对颜色暗淡的图片效果较差,原因已经在上一篇文章中有过分析。后续再看看怎样改进。
另外因为训练量比较大,此次只是训练了40个epoll,如果多训练到200个epoll,边缘躁动等问题说不定能够随之得到优化。
下一步
下一步准备把生成器开放出来,让大家可以自己上传图片,然后试试效果。也试图和Unity、Laya等游戏工具结合起来。
又到广告时间了,如果想学习网络游戏开发,我的《Unity3D网络游戏实战(第2版)》非常适合您。书中用一个大实例详细介绍网络游戏的开发的全过程,还对网络编程有详细的讲解。
来源:游戏研究院专栏
原地址:https://zhuanlan.zhihu.com/p/55979748