Hello,大家好,今天给大家带来机器学习生成地形的分享,我是神棍赵。近期机器学习或者说AI方面的内容又火起来了,找到一篇比较好实现的文章“如何通过机器学习生成游戏地形 ”分享给大家。
一、介绍
我叫FranciscoMúrias,最近,我一直在探索Houdini以及机器学习在内容生成中的潜力。我在波尔图大学(葡萄牙)攻读计算机科学学士学位,在那里我学习了编程。然后,在Teesside大学(英格兰)攻读3D游戏艺术硕士学位,在那里学习了Houdini,Unreal Engine等工具,并有机会在毕业论文期间探索机器学习在游戏中的一些应用。
二、机器学习与地形生成
机器学习就是使用样本数据来“训练”一个拟合的计算机算法,从而获得“映射功能”,该算法可以将一组输入大致的解析为有用的输出。机器学习在游戏和CG中广泛应用,艺术家和程序员不断为它寻找新的用途。节省艺术家的时间,专注于更有创造性的事情。
现实地形生成是一个非常复杂的问题,在过去的三十年中,研究人员研究了各种生成地形的方法,这些方法各有优缺点。我这个项目是探索如何仅基于简单的草图就可以实时生成详细的,带有实际腐蚀效果的地形。
地形在游戏中一般都是通过高度图来表示,非常适合机器学习。而且我们还拥有现实世界的地形数据,USGS拥有几乎整个美国陆地的准确地形高度图。所以这两个因素使它成为机器学习应用程序实验的理想用例。
使用工具生成的一些示例:
三、GAN
GAN就是条件生成对抗网络模型,根据自动处理的真实世界地形数据(通过Houdini收集)进行训练,运行神经网络模型并在实时3D预览中展示结果。通过从训练数据中学到的特征来生成任意数量的真实虚拟地形,而无需手动定义任何过程规则或参数属性。
cGAN系统由两个相互竞争的网络组成:一个不断合成新地形的生成器,以及一个将生成的地形与真实示例进行比较的鉴别器。这两个网络相互竞争,学习如何制作更适合训练示例的地形。
为了收集用于训练模型的训练数据,我使用了Houdini 的PDG使该任务自动化。
1.读取设定的坐标
2.从USGS服务器下载文件
3.解压缩文件
4.将高度信息分成小块
5.处理每个图块以计算峰谷线
6.将结果映射到匹配的图像并保存
整个数据收集管道均基于SideFX的ML数据准备示例,该示例采用了一种出色的方法,并且可以教您如何使用PDG系统。
四、交互工具
我构建了一个自定义工具,使用户能够绘制峰谷线,机器学习算法会自动实时生成最终地形。
使用ModernGL开发的自定义3D预览器可以快速迭代和可视化结果。这是我的第一个主要Python应用程序,我发现Python是启动和构建这种自定义应用程序的绝佳语言。它拥有一个优秀的社区和一个活跃的Discord服务器,那里挤满了愿意帮助您入门的人。
最后使用Gaea生成细节,最后就可以将生成的地形导入任何游戏引擎,并用作3D地形的基础。
五、挑战
我相信该工具证明了ML应用在游戏中的巨大潜力。该项目未来开发的目标是概括同一网络中不同要素的地形生成,并在创作阶段用不同类型的草图区分它们。同时我会继续研究ML,并扩展ML在游戏中的使用。
六、总结
这位老哥用机器学习快速生成一个低精度的高度图,然后通过gaea的侵蚀获取各种分布图,值得学习借鉴,感兴趣的可以按照这个思路整一个。
来源:Thepoly公众号
嘉宾:FranciscoMúrias
访谈:Ellie Harisova
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答《黑神话:悟空》作为一款现象级中国游戏,其成功离不开多种先进计算机技术的支持。本文将深入解析该游戏背后的关键技术,包括虚幻引擎......
在游戏开发领域,Unity和Unreal Engine(虚幻引擎)都是备受推崇的游戏引擎,但它们各自拥有不同的特点和优势。
春节之后大量抢人!这6个行业是转行首选,进去1年顶3年!火星毕业就能进
春节后求职,哪些行业进去能立马涨薪?打破信息差很关键!
还没毕业,就去帮电视台拍活动,作品被主任说“非常好”!猜猜是哪个专业呀?
回想过去,电子游戏里的草其实并不是真正的草。开发者们只是简单地把草的纹理直接贴在游戏关卡的地板上
在火星的就业指导老师那里,经常收到同学们这样、那样的提问。其中有一些共性问题,就业老师会根据自己丰富的经验,为同学们给出合适的回答。