用PCG技术加速大世界地形生产,天美是如何用“黑科技”做到的?
原标题:利用PCG技术加速大世界地形生产,梅田如何用“黑科技”做到?
导语:梅田13周年之际,梅田与知乎游戏举办了以“游戏未来十三问”为主题的圆桌会议,邀请游戏从业者、玩家、朋友共同探讨、展望游戏未来。本文为圆桌话题“2021年游戏行业有哪些可以提升开发效率的“黑科技”,前景如何?”接下来的回答,希望对你有所帮助。
答:梅田F1工作室技术中置发动机项目组组长钱龙旭
不知不觉,游戏开发行业已经过去了十几年,从刚入行的技术小白,到现在还一无所知的技术瓦工,见证了一个时代的游戏技术变革。曾在游戏开发SDK、端游戏MMO、休闲手机游戏、重型手机游戏、大世界手机游戏、大世界端游戏等各种产品工作,现为梅田F1工作室技术中引擎程序团队负责人。
随着游戏行业的快速发展,玩家对游戏的要求越来越高,对游戏的技术要求也越来越高,开发量也越来越大。现在,我所在的梅田F1工作室正在开发AAA级全平台的大世界游戏,这是一件非常具有挑战性的事情。
作为一个游戏引擎程序,我很清楚技术更新很快,我需要不断的学习来接受这个挑战。好在我们已经提前积累了多方向对标国际AAA厂商的技术能力,在全球范围内招募了众多具有AAA项目研发背景的人才。通过不断夯实技术基础,我们有能力、有信心接受新的挑战。在我们储备的技术中,PCG技术是目前大型世界运动会不可或缺的技术。现在,让我们简单介绍一下。
PCG(Procedural Content Generation)技术是最近热门的一种提高游戏制作效率的技术。这是什么意思?
互联网百科给出的答案:程序生成(英文:procedure Generation)是计算机科学中的一种算法,使计算机能够自动制造一种数据。在计算机图形学中,也叫随机生成,常用于制作素材图和3D模型资源,用于视频游戏领域自动制作大量游戏内容。程序生成具有减小文件大小、扩展内容和增强游戏随机性的优点。
我个人的理解:如果用在游戏中,简单来说,程序化内容生成就是用算法自动生成游戏内容。原创游戏内容需要美术和策划花费大量精力制作,而工艺方法可以大大降低人工成本。除了节省一些重复劳动,它甚至可以自动创建一些新的设计内容。想象一下,如果有一个程序可以自动生成游戏,那该有多有趣。也许那一天到来的时候,游戏开发者会被裁掉。
地形是大世界的基础。如果大世界没有地形,玩家就没有立足之地。地形和大世界一样大。如果能利用PCG技术加速大世界的地形生产,艺术和规划的人力消耗就能大大减少。
这里有两个困难。一、如何生成真实自然的地形?现实世界的地形不是一种随意的形状,它是一种自然的创造,往往具有赏心悦目的美感。使用算法生成美丽的地形是我们面临的第一个挑战。第二,世界巨大,内容复杂,涉及到很多制作人。如何让制片方高效合作是我们面临的第二大挑战。
今天,我将简要谈谈如何在大世界游戏中使用PCG技术加速地形制作的一些基本想法。
1。传统地形工作流程
我们应该熟悉传统的地形工作流程。Art首先找到一些参考高度图,导入到游戏引擎编辑器中,然后根据自己的需要通过地形编辑工具编辑地形。比如UE的地形编辑器为美术提供了各种画笔来刷刻地形,显然这种方法对于美术来说是一个巨大的工作量。
2。程序地形
一些可用的地形噪音
程序地形可以通过算法自动生成地形。随机噪声地形是常用的。该方法是一种构造性算法,通过设计一些噪声函数,如柏林噪声、沃利噪声、沃诺噪声、流量噪声等,随机生成地形高度信息。
另一种是侵蚀算法。通常,现实世界的地形是大自然多年来对地形影响的结果。这种算法通过数学建模来模拟侵蚀过程,进而得到模拟的自然地形效果。如热侵蚀、水力侵蚀等。......
让我们看几个程序地形的例子。比如如何用噪点表达丘陵地形?就像照片中起伏的山丘。其实很简单。让我们取一个噪声函数的绝对值。这时会在噪点的形状上出现凸起,达到表现山丘的效果。
无人深度山地空
如何用噪点表达脊线?很多大山都会有山脊线,就像图中的阿尔卑斯山一样。我们可以先取噪声的绝对值,再取逆值,然后反过来再升。
可以观察到在波形相交处形成一个尖点。该图显示了二维情况。如果在三维空间中形成一条局部最高点的线,则可以模拟该脊的形状。
阿尔卑斯山
如何用噪音表达河流?我们可以通过域扭曲来实现。这个方法很简单,就是把噪声函数的域变换一次。比如这个例子,简单的移动变量的位置,经过多次的位置扭曲,就形成了一些特效。可以看到图中高度数据的变化过程,最后形成一个像河流一样的效果。
刚才提到的例子是用噪声表示地形的简单有效的方法。但是真实的地形实际上有一些特殊的特征,比如自相似性。这是什么意思?
当我们从不同的角度观察真实地形时,会有一些相似的特征。山脉上的每一块石头,小山脉和小山脉都是起伏的。也就是说,如果用噪声来表示这个特征,就要求噪声在多个尺度上具有自相似性。
山脉
山丘
山石
为了达到这种效果,我们实际上可以直接叠加多层噪声。每一层噪音都有自己的频率和振幅,它们共同形成了这个分形地形。为了更好地控制分形效应,我们可以调整每层噪声之间的关系:有两种关系,一种是每层频率之间的变化率,另一种是每层振幅之间的变化率。
特别是,如果每一层的振幅和频率的变化是相互导数,这种多层噪声称为粉红噪声。特别是,如果变化率是2的幂,我们使这种噪声的每一层都是一个Octave,那么这种噪声的每一层的频率加倍,振幅减半。一般来说,Octave小于8就够了。如果太大,计算量会增加,效果不会大幅度增加。
这是我们常见的分层柏林噪声的效果,Octave为8。我们可以看到这种分层地形,是大高度的低频变化,小尺度的一些高频变化。
分层柏林噪声
纯流程地形的游戏比较好,比如《无人深入空》,《我的世界》。无人区深度空的地形非常好,关于噪点应用的技巧很多,做了一些相当不错的风格化效果。
没有人是深沉的空。
我的世界
现在总结一下纯程序地形的特点:
基于随机的算法;
相对技术性,艺术不易理解;
容易重复;
可控性差,艺术难以调节效果。
3。艺术引导的程序地形生成
既然纯程序地形生成有这么多问题,如果大世界地形制作想用程序技术提高效率,该怎么办?因为游戏场景的最终效果其实是由艺术来控制的,其实整个场景非常复杂,不仅地形存在,而且涉及到的很多东西都需要艺术来把关,所以我们需要的是艺术主导的流程生成。
这种工作流需要更多的考虑用户友好性,艺术中使用的工具是交互式的,易于使用。还需要有很好的艺术表现力,美术可以很方便的做美术设计。程序化技术的功能主要是用来提高工作效率,不像纯程序化的地形生成,一键生成地形,艺术很难参与其中。
对于这样的工作流,其主要成员可以是一个相对较小的团队。TA和引擎工具根据art的需求设计开发地形工具,工具开发完成后,art使用工具设计地形。
具体来说,以艺术为主导的工艺地形工作流程可以分为以下三个阶段:
1:原始地形生成。在这个阶段,LA和TA合作,通过使用一些程序化的地形工具,如UE4 Landmass、Houdini、世界机器、世界创造者和盖亚,根据世界的结构生成一个原始地形。
2:地形处理的程序工具。在这个阶段,艺术会根据原始地形制作场景,并添加场景的其他层,如河流、道路、岩石等。这些场景元素的制作对应于程序管道中的程序工具,这可能会对地形产生影响。
3:手动编辑。所有的程序工具应用到地形后,如果美术对效果不满意,那么需要手动调整形成最终的地形效果。
3.1原始地形生成
我们先来看看原始地形的生成。这个阶段的思路是,整个建模过程是一个从初始模型到高模型的过程,高度图数据是一个从低分辨率到高分辨率的过程,然后对真实地形进行侵蚀是非常重要的一步。
以胡迪尼为例,传说中大概有这些步骤。整个过程可以完全在胡迪尼完成,也可以通过定制的胡迪尼发动机在发动机中制作。TA完全在Houdini做比较方便,art在引擎编辑器做比较方便。各有利弊。
胡迪尼地形工作流程
具体来说,我们来看看这个过程。首先,体量可以通过手绘、投影几何或直接导入高度数据进行最粗略的建模。其次,为了获得更自然的效果,我们在一些细节上对粗糙模型进行了扰动,这可以通过在特定区域应用一些噪声或添加一些障碍物来实现。
播种后的地形有一些细节,更加自然,有利于未来的侵蚀效果。然后是脑叶。一般来说,真正的山脉会被河流或地壳运动切割。我们可以通过侵蚀算法增加侵蚀强度来获得这种切割效果。最后,我们可以从高度的层面重新映射,并重复建模不同的区域。例如,我们在第一遍中对地图的平原区域建模,在第二遍中对高原区域建模。
地形粗糙模型过程
粗加工模具建模精度低,迭代效率相对较快。大型造型设计应尽可能在粗模阶段进行。粗糙模型完成后,对地形精度进行上采样,精度高的可以有更多的细节,然后继续Shaping,再进行侵蚀。
为了获得更好的侵蚀效果,有必要在侵蚀前进行另一次扰动。侵蚀是一个耗时的操作,TA需要熟悉它才能获得更快的迭代效果。如果对效果不满意,可以反复塑形和侵蚀,得到最终的原始地形效果。
地形高模量过程
3.2使用程序工具进行地形处理
一旦原始地形可用,它将进入处理工具地形处理阶段。一般来说,PCG的工具和管道根据不同的工具进行分层,如湖泊、河流、道路、围栏和植被。
这里需要注意的是,每个工具都有依赖关系,前一个工具的输出数据会对后一个工具产生影响。比如我先用河流工具生成河流,然后用道路工具在河流经过的区域生成道路,所以道路工具需要考虑河流工具。例如,我们可以通过输出Mask来标记河流的区域,这样道路工具就可以知道这里有一条河流。
一般来说,这类工具的顺序需要提前指定,流程要设计好。
工艺工具流程图
这些程序工具可能会影响地形,包括高度和材质。至于地形的变化,有一个隐藏的意思,就是后一个工具对受前一个工具影响的地形进行操作。比如刚才提到的道路工具在河流后面之后,河流工具本身就会对地形进行变形,此时道路工具对地形的输入就是河流工具对地形变形的结果。
当然,有些工具可能不会使地形变形。例如,围栏工具一般不会影响地形。因此,在这个工作流程中,我们需要存储每一层地形的变化。没有这些中间结果,后面的工具就没有地形的输入。
3.3手动编辑
既然流程解析永远解决不了所有问题,那么我们就进入手工编辑阶段。问题又来了。手动编辑地形需要哪些阶段?
首先回顾一下程序工具的地形流程,如图,是一个链式结构。我们可以看到,我们可以手动编辑每个工具。比如河道工具影响地形后,如果美术不满意,可以编辑调整。在调整好地形的基础上,我们可以使用道路工具来铺路,这样会影响地形,然后美术可以在此基础上继续调整地形效果。
工艺工具地形流程图
有了这个过程,就有了如何存储地形修改的问题。
为了实现无损编辑,需要存储每一层地形的修改。建议将修改后的数据保存到外部文件,而不是编辑器场景,这样对胡迪尼比较友好。
另一个值得考虑的问题是,手动修改的数据是以不同的方式存储还是直接覆盖。直观来说,存储差异是有好处的。当前一阶段工具的地形输出发生变化时,手动修改的数据可能会被继承。例如,由于某些原因,道路工具抬高了整条道路。由于存储的差值,一些本地手动修改可以重复使用。
缺点是可重用数据的合理性其实很模糊。在很多情况下,差异数据是不可用的,应用这些数据后不容易找出错误。覆盖法优缺点明显,直接覆盖不会出错。但是,一旦上一层修改了地形,后续每一层的所有手动修改都会被废弃,后续的所有图层都需要修改。
基于正确性优先的原则,建议用覆盖代替差异。手动修改一般只是部分修改,覆盖的方式需要存储两种数据,一种是标记哪些区域已经修改的Mask信息,另一种是需要覆盖的高度图信息。
这样,我们有了一套完整的地形工作流程,但在艺术的实际运用中,我们仍然会遇到许多问题。
首先是可以手动编辑的阶段太多。大世界一般有几十层甚至几十层。工作流可以调整的地方太多了。逻辑艺术不易理解,第二种可控性差。前面提到过,前层的修改会影响到后层,导致修改频繁,非常容易出错。第三个最直接的就是美术反馈操作太繁琐,不容易上手。
工艺工具的手工修改过程
经过反思,虽然这个过程比较完整,但很多阶段其实是不必要的。由于程序工具对地形的影响频繁,不需要在整个阶段手动修改地形,所以最终的手动修改可以在整个程序过程前后进行,可以简化为四个主要的地形阶段。
原地形:世界机器胡迪尼输出。
手动修改1: Art可以在引擎编辑器中调整原始地形。
工艺工具的地形阶段:合并为大阶段,中间不允许手动调整。
修改2:手动调整最终地形。
整个过程可以反复重复。
过程地形工作流
3.4一些经验总结
①可控性非常重要
完全随机的地形生成是不可用的。
艺术导向,不是技术导向。
②无损编辑
原始地形不能丢失。
可以反复快速迭代。
③数据存储
易于导入和导出
使用,不要使用差异。
④依赖
后期取决于前一阶段的地形。
消除循环依赖
编辑前锁定时间以避免冲突。
编辑前及时更新,避免不正确的修改。
⑤不要过于依赖流程
⑥锁定
阶段越早,越早需要确定。
地形改造很重。
4。PCG技术的前景
PCG技术不仅用于生成地形,还可以用于生成世界环境的各个方面,如植被、道路、河流、湖泊、海洋、街区、建筑等等。
如果这些问题都在实际项目中得到解决,产生符合艺术需求的资产,那么制作大型世界游戏的成本就会大大降低。当然,并不是艺术没有关系,而是艺术可以专注于艺术创作,消除不必要的重复劳动。这样,PCG技术可以加快设计和验证效果的迭代速度。
此外,PCG技术还可以与机器学习等其他技术相结合,辅助艺术设计。这种技术可以通过研究现有的资产库数据,自动生成一些新的数字资产,而艺术会做出一些挑战,从而加快创作速度。
PCG科技甚至可以在一定程度上向玩家开放制作UGC内容,玩家可以像游戏制作者一样创造游戏世界。PCG技术的应用前景巨大空。
目前,除了在PCG管道的良好积累,我们在其他AAA游戏技术方面也取得了一些成绩。
F1技术积累图
在技术、艺术等方面。,目前,我们已经保留并在不断优化验证方向,包括:
顶级AAA公司和支持AAA质量开放世界的PCG工业游戏内容生产管道
下一代主机级渲染技术和艺术制作技术
GTA级都市模拟游戏AI技术
超现实飞行器物理仿真技术
基于光学运动捕捉和运动匹配的角色动画技术及制作流水线
基于FACS系统的真实感表情绑定和动画流水线
基于人工智能学习的角色动画制作技术
...回到搜狐看看更多。
负责编辑:
本文地址:http://www.55jiaoyu.com/show-254498.html
本文由合作方发布,不代表展全思梦立场,转载联系作者并注明出处:展全思梦
推荐文档
- 11.常熟外国语学校-常熟外国语学校高中
- 12.嘉应学院医学院_嘉应学院医学院院长
- 13.天津大专院校;天津大专院校代码
- 14.广州工业大学分数线、广工工业大学分数线
- 15.中草药栽培与鉴定(中草药栽培与鉴定本科好就业吗)
- 16.东北师范大学人文学院-东北师范大学人文学院好不好
- 17.彭水中学、彭水中学招生办电话
- 18.西吉中学(西吉中学高考录取率)
- 19.广州南洋英文学校(广州南洋英文学校本科率)
- 20.衡阳高铁学院_衡阳高铁学院单招分数线预测2023
- 21.双硕士,双硕士厉害还是博士厉害
- 22.电气运行与控制(电气运行与控制以后是什么工作)
- 23.上海交通***-上海交通***2月16日
- 24.澳大利亚投资移民中介—移民澳大利亚中介费
- 25.金融管理专业课程_金融管理专业课程内容
- 26.长沙理工大学是几本_长沙理工大学
- 27.南京中山学院—南京中山学院是公办还是民办
- 28.华联私立学院_华联私立学院学费
- 29.波兰—波兰球
- 30.合肥大学、合肥大学是211大学还是985大学?
- 31.高考前的饮食-高考前的饮食怎么安排
- 32.龙门浩职业中学校—龙门浩职业中学校有哪些专业
- 33.记忆力训练_记忆力训练方法
- 34.管理学专业、管理学专业就业前景排名
- 35.中级经济师报名、中级经济师报名时间预测
- 36.哈尔滨铁道职业学院_哈尔滨铁道职业学院招生办电话
- 37.200万日元_200万日元是多少元
- 38.江苏军校排名及录取分数线表(2025年最新)
- 39.我是重庆人-我是重庆人英文怎么说
- 40.惠州卫生学校(惠州卫生学校中专招生)
- 41.对联图片(求一副复读一年高考一本的谢师宴大门对联)
- 42.儿童读物排行榜_儿童读物排行榜3到6岁
- 43.好词好句好段-好词好句好段摘抄大全
- 44.南京工业大学是985还是211-南京工业大学是985还是211还是一本
- 45.中南大学湘雅医学院(中南大学湘雅医学院全国排名)
- 46.城市地下空间工程;城市地下空间工程张雪峰
- 47.20130分高考作文;2013高考满分作文范文
- 48.山西省警官学校—山西省警官学校录取分数线预测
- 49.全国民办高校排名,武汉东湖学院全国民办高校排名
- 50.东北农业大学(东北农业大学是985还是211)
- 51.北京科技大学国际学院、北京科技大学国际学院,尼泊尔
- 52.文科生可以报哪些大学_520分文科生可以报哪些大学
- 53.河婆_河婆镇
- 54.兰州石化职业技术学院-兰州石化职业技术学院招生
- 55.陕西省西安中学(陕西省西安中学2023高考喜报)
- 56.安徽绿海学院—安徽绿海学院搬迁
- 57.1025节,1025节图片
- 58.天津医科大学分数线预测、天津医科大学分数线预测2023
- 59.内蒙古的高职专科院校全部排名最新分数及位次(2025参考
- 60.北京中医药大学和首都医科大学哪个好?谁更厉害?附差距对比
- 51.专科跟函授有什么区别
- 52.专升本报名时间
- 53.早教有小教有什么区别
- 54.国考调剂是怎么回事
- 55.大连工业大学在哪城市
- 56.网络工程属于什么类
- 57.报考幼师证最低学历要求
- 58.专接本是什么意思
- 59.高考志愿可以报军校吗
- 60.地质工程能考什么证
- 61.夏天,大鱼大肉不如吃此菜,5块钱拌一盆,我家隔三差五做,真香
- 62.乐陵有什么职业学校
- 63.别靠近这款蓝色啤酒,它会醉到你心里
- 64.成都市成飞中学怎么样、好不好【供你参考】
- 65.中专医科有什么专业
- 66.靖西职业技术学校学费多少钱一年【供你参考】
- 67.泸州市江南职业中学校地址在哪里【供你参考】
- 68.泸州市树风职业高级中学网站网址【供你参考】
- 69.剑阁县鹤龄职业中学怎么样、好不好【供你参考】
- 70.眉山卫生职业学校去年学费、收费多少【供你参考】

