当前位置:黑鲸出海 > 热点资讯 > 海外资讯 >  《星之卡比·探索发现》关卡设计的工作流程以及程序化生成场景的开发过程介绍

《星之卡比·探索发现》关卡设计的工作流程以及程序化生成场景的开发过程介绍

发表时间:2022-11-16  来源:千猴马的游戏设计之道  作者:千猴马  浏览:次  
《星之卡比·探索发现》是《星之卡比》本篇的第一款3D动作游戏,我们预计地形的制作和调整成本会增加。

《星之卡比·探索发现》是《星之卡比》本篇的第一款3D动作游戏,我们预计地形的制作和调整成本会增加。

我们最终的地形制作流程如下。

  1. 由关卡设计师在地图编辑器上放置块状部件来创建地形的形状。

  2. 使用能够快速展示游戏画面的简单地形功能,不断进行地形的调整迭代。

  3. 调整好地形后,按下地形模型输出按钮,自动生成正式使用的地形模型。

  4. 放置角色、噱头和装饰部件。

另外,在这个工作流中最大的特点是使用Autodesk Maya程序化地自动生成生产地形模型。本次讲座详细介绍了这个地形生成系统是如何创建的,如何实现的,以及运行过程中遇到的问题和解决方法。

微信图片_20221116110407.jpg

地形生成系统—黎明期—

前作《星之卡比·新星同盟》中也使用了3D模型,但与本作不同的是,它是一款2D动作游戏。这是当时的地形制作流程。

  1. 关卡设计师在地图编辑器上放置块状部件以创建地形。

  2. 美术创建的 3D 模型会自动沿着地形放置。

  3. 美术微调地形模型放置。

  4. 放置地形以外的装饰物。

微信图片_20221116110412.jpg

而作为 3D 动作游戏的本作,它的工作流程最初是这样想的。

  1. 关卡设计师创建地形设计图。

  2. 在此基础上,由美术创建地形模型。

微信图片_20221116110417.jpg

但是,这么做的话会导致关卡设计调整困难、美术工作量大等问题。这对关卡和美术来说都是个坏消息。

到这就诞生了三个任务。

  1. 关卡设计师始终能够调整、打磨地形形状。

  2. 显著降低美术的生产成本,以便他们能空出手来做其他事情。

  3. 在上面两项的基础上,地形模型的质量没有下降。

换句话说,目标是“在继承2D时代文化的同时,自动创建可以直接放到成品游戏中的高质量地形模型”。为了实现这些目标,我们决定开发一种新的地形模型自动生成工具。

微信图片_20221116110421.jpg

首先,我们把游戏中第一个场景“おなじみの草原”来尝试地形模型自动生成的可行性。由于它是该系列的第一款 3D 动作游戏,因此有各种选择和考虑,例如“制作什么样的地图”和“如何创建地形的形状”。

微信图片_20221116110425.jpg

由于美术、关卡、开发之间岗位不同,用到的地形图像也不同,所以需要先共享图像。在这款游戏中,先由关卡策划使用地图编辑器来创建他们想要的地形,然后由美术在其上绘制了一张图片,在纸上重现他们想要的东西。在这个过程中,成员之间的形象得到了统一。

微信图片_20221116110428.jpg

作为一个具体的实现,我们首先从给舞台的“边缘”添加一个蓬松形状的部分开始。它是通过使用 Maya 的Curve Warp功能排列零件模型来实现的。另外,如果将尖角90度变形,Mesh会破碎。

地形本身是由关卡策划通过组合块状部件来创建的。采用这种方法是因为它易于进行微调,并且接近 2D 的制作方法。

既然草原现在可以生成了,我们着手处理沙漠和购物中心的场景。起初,我认为有必要对每个表面进行专门处理,但经过尝试后,发现只需要更改“Moco(边缘的蓬松形状)”和材质就能生成非常不同的地形了。

之后,就是开发这个地形生成系统了。同期,也决定了开发和美术之间的角色划分。

微信图片_20221116110454.jpg

地形生成系统—发展期—

地形生成系统的雏形至此已经完成了,但还是很简单,没有达到美术想要的质量。接下来,将说明为追求质量而添加的功能,最终创建的地图以及这一代游戏的工作流程特点。

道路的表示

首先,增加了“创建道路的功能”。我们准备了几个方案,比如用道路模型等等,到最后,我们采用了顶点颜色(Vertex Color)的方法。

使用顶点颜色有一些优势,比如可以在纹理之间使用相同的UV,并且可以将其用于标记地形的角落。

通过顶点颜色可以改变局部的外观,例如本作品中的水坑和混凝土劣化。

微信图片_20221116110517.jpg

自然的地形

接下来,我们添加了一个使地形看起来自然一些的功能。地形形状是由几十种方块组合而成的,所以虽然被Moco缓和了一些,但还是给人一种机械的、块状的感觉。尤其是墙壁的轮廓和与地面的交界处,我可以清楚地看到直线。

微信图片_20221116110520.jpg

为了使地形自然一些,增加了“山体组件”、“扭曲功能”和“镂空组件”等内容。

 “山体部件”可以和其他块状部件组合形成缓坡等等更自然的场景。

“扭曲功能”是一种通过在地形顶点添加Noise参数来实现的。目的是让墙体轮廓没那么直。

“镂空组件”是一种切掉重叠地形的功能。它特别适合本作荒废的世界观,在很多地方都有使用,对于噱头和装饰部件的放置也很有用。

微信图片_20221116110531.jpg

另外,作为提高模型细节质量的一种方式,介绍一下在倒角、地形的角落和Moco周围应用顶点颜色的例子。

再说明一下“用于破坏的空心部件”。这是赋予重叠地形可破坏的功能。与镂空功能类似,将逻辑乘积所取的网格复制,划分为Voronoi,并在运行时作为片段进行控制。

*Voronoi,泰森多边形,是一组由连接两邻点线段的垂直平分线组成的连续多边形。

微信图片_20221116110540.jpg

借助开发准备的这些功能,美术创建了大约40种主题数据,包括草原、建筑、沙漠、混凝土、商场、冰山、火山和宝藏之路等等。

至此,关卡负责地形形状,美术创建并设置详细的形状、纹理、材质、倒角、扭曲等参数,再由开发将两个部分桥接起来,自动生成地形模型的工作流也就建立起来啦。

地形生成系统的实现

接下来,从工程师和技美的角度来说明如何实现地形生成系统。

这一代的地形生成系统是在 Maya 中实现的。在地图编辑器后台启动 Maya,创建 3D 模型,输出并转换数据,并反映在游戏侧。

基础创建

基础创建要做的事情是把地图编辑器创建的地形变成“漂亮的Mesh”。由于地图编辑器按原样放置地形块,因此里面有很多不必要的多边形。移除它们,只留下表面。

倒角/扭曲

倒角通过MAYA实现。但是,如果存在Mesh破损的风险,则将其禁用或纠正。对于扭曲,将在顶点坐标处加入的Noise添加到顶点的 XZ 坐标中。为了避免干扰装饰零件,它们附近的变形也会被禁用。

微信图片_20221116110615.jpg

镂空

镂空是使用 Maya 的布尔功能实现的。

微信图片_20221116110619.jpg

材质设置

由Mesh的法线分配“地面”和“墙”材质。由于可以通过顶点颜色来控制,所以地形材质有“地面”、“墙”和“Moco”三种。

微信图片_20221116110622.jpg

Moko创作

为了营造一种随机感,许多 Moco模型有多种变体。像角落这种位置就有 3 种方法来排列。

微信图片_20221116110625.jpg

微信图片_20221116110629.jpg

UV

地形UV从项目开始就一直是个问题,特别是为了处理墙面的UV花了不少功夫。

微信图片_20221116110632.jpg

微信图片_20221116110635.jpg

顶点颜色

作为地形生成的最后一步,顶点颜色从地图编辑器的区域信息中获得。

微信图片_20221116110638.jpg最后省略开发组在实际运用中遇到的问题和解决方法,分享中所列的情况有些特殊,或者说根据不同的团队遇到的情况也不太一样,这里就不再翻译了。

注:文章源自于互联网,如有侵权,请联系客服删除。
19951839869
黑鲸出海客服