建筑设计

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

采用模块化方法构建站台可以让我们更好地更新和传播内容更新,这是确保我们不花几个小时更新个别网格、纹理、零件等内容的关键。

Roblox 包让我们通过让我们包裹一个调色板以及 Meshparts 、易于组合的图层、和 SurfaceAppearance 节点来实现此模块设计。 让我们适应早期游戏测试中的变化以及在 MeshParts 的过程中填充站台的速度大幅加快。

Architecture Overview

灵活的设计来最终艺术

当我们首次开始时,我们对我们想在站台上做什么、或者需要多大才能容纳 50 名玩家,都不知情。

为了找到这些,我们首先使用 Parts 构建环境,并带入一些像 Maya 或 Blender 外部 DCC 应用程序中的网格,例如 rotunda 形状。 与这些简单的形状相对于游戏或社交体验,这个早期阶段通常是最动态的。

当构建站台的布局时,最重要的驱动探索的目标是给用户一个目标。 在这种情况下,最明显的目标是获得更仔细的看黑洞。 然后,我们知道将他们直接指向黑洞会很无聊,因为玩家可以从生成到黑洞的地图上走。 我们打破了路径,因此玩家无法从周围的东西开始到黑洞。

模块化设计允许我们对环境进行这样的更改,而不是进行灾难性的重制整体设计。 我们可以将整个站台的整个部分移动到不同的游戏玩法理念中玩。 最终,这些相同的模块部分可以使用包裹进行更新,以便我们不需要重建多个版本相同的素材。

Architecture Example 1 Architecture Example 2 Architecture Example 3 Architecture Example 4

Kerr-Newman DSR-14模块设计

太空站使用了几个模块的调色板片。模块的调色板片是可重用的资产,这意味着我们不需要创建每个墙壁独立,而是可以放置几个更小的墙壁。这允许我们在建造筑时的灵活性。

这里有一些帮助我们创建模块设计的提示:

  • 在一致的网格大小上设置 对于站台,我们使用 16 格网格大小来创建大多数模块集。网格大小您使用的是任意大小,但您应该在项目上的所有艺术家中一致。在项目开始时设置网格大小以确保每个部分与下一个部分之间的平整。它还允许您轻松地交换部分,

  • 所有单位都导入为 studs 形式的所有单位在其他 DCC 应用程序,例如 Maya 或 Blender Studio 中创建网格时, Studio 不会将计量单位转换为同一单位的Roblox量单位 — 它只是将计量单位替换为同一单位的计量单位。例如,如果

  • 请保持部件简单 — 不要试图建造您认为您会需要的每个部件。 想法是有几个多用途的部件,而不是一堆废弃的零件。 你越有时间,你就能创建每个部件的时间,并且影响你的整体记忆和性能预算。 你总是可以在你的套件中添加另一个部分,如果它是绝对必要的。

  • 使用包裹) — 将每个模块片转换为包裹,还将在您开始弹填它们在您的体验中前先将材料放入包裹。这允许您轻松将更新推出到所有实例。我们稍后会讨论包裹。

下面的屏幕截图显示了我们使用模块化设计来建造站台部分的方法。

Architecture Example 5 Architecture Example 6 Architecture Example 7 Architecture Example 8

创建 Trim 卷

1:1 文本是未来的方式,但它们在记忆预算和创创建 or 创作时间方面都很昂贵。 对于空间站,90% 的建筑元素使用了一些可交换的装饰条组,这是一种使用在垂直或横向方式布置的多重层结构的图层,每个行或列都有独特的外观。 当从模型中打开时,您

这里有一些提示来制作减薄片:

  • 开始时具备一个物品栏,其中包括您需要的对象和材料的类型 — 修剪纸可以包含大量材料类型,例如木材、金属、橡胶和更多。在您开始模型您的第一个对象之前,创建一个修剪纸模板。这是您的所有其他修剪纸套装的起始点,它

  • 在一张纸上包含各种表面处理方式 — 这允许您保持网格的整体性,因此您可以在不需要将网格分为多个网格的情况下应用新的治理。这有助于提高运行时性能,因为它会减少对象和材料的绘制调用。

  • 使用 Trim 页面模板制作交换书 — 模板确保您可以交换任何地图集合为另一个。例如,您可以使用清洁的金属集合与生锈的金属设置合交换书。

我们创建了站台的裁剪纸:

我们创建了一个粗略的描述纸应该看起来的轮廓:

Trim Sheet Example

在 Photoshop 中,我们创建了一个模型来获得快速了解每个页面的各个部分的外观。

Trim Section Example

我们使用了 Substance,但您可以使用您创建最终地图的应用程序来创建最终地图。这是在 Substance 中生成的最后一批装饰页面图,您可以在 Surface 形状节中使用四个地图共同生成一个物理基础渲染材料。

这些是 Substance Designer 中的一些最终渲染。

这里有一些使用相同的修饰页面的对象的示例:

Modular Trim Sheets

如果您想了解更多关于 Trim Sheet 的 UV 映射,请搜索网上的主题;有很多免费教程。

应用表面外观

SurfaceAppearance 允许您为我们的物理基础渲染系统指定新的材质输入,例如 MeshParts 和覆盖基础材质,例如 ColorMap、MetalnessMap、RoughnessMap 和 NormalMap。它还使用 Roblox 使用的新动态网格系统,

Surface Appearance Example

使用外观面时,请记住以下几点:

  • 如果您的修饰地图包含透明度Alpha信息,请从 Overlay 到 Transparency 更改AlphaMode。
  • 表面外观不适用于零件,因为它们没有需要的 UV 信息来应用地图。零件使用世界对齐投射在其位置而不是 UV 信息。 网格零件通常在其他应用程序中,例如 Maya、3ds Max 或 Blender 中创建,并且包含 UV 解锁信息。

要应用 SurfaceAppearance :

  1. MeshPartSurfaceAppearance 结束处单击,或在 Explorer 中搜索 Class.Surface 。添加一个将覆盖您可能已经应用的任何 BrickColor、Color、Material 和 TextureID。

  2. SurfaceAppearance 节点重命名为 something unique 并添加 _SA 后缀以便让它们容易搜索。在此示例中,我们使用 Metal_Trim_A_SA。

  3. 导入零件图表地图,从资产管理器面板复制 ID,并将它们粘贴到属性面板中的相应位置。 这是如何金属_切割_A_SA 节点看起来的,全部地图 ID 插入到并应用到门上。

Surface Appearance Example 2

使用包裹增加效率

通过包裹让您在 Roblox 体验中创建对象实例, so that 您所做的更新都会发布到该包裹的所有实例。 我们使用包裹为我们放入站台的每个对象创建了超过 1,000 个墙面面板实例,因此我们不需要在每个更改的时候都寻找每个实例。 例如,我们使用了超过 1,000 个��

使用包裹时请遵循这些提示:

PackageLink 中打开自动更新功能。所有修改都适用于包裹使用时,保护您不需要使用“更新所有”精选能。

Packages Example

您可以使用包裹为 SurfaceAppearance 对象创建一个“材料库”。这允许您在一个 SurfaceAppearance 对象上修改 би图图,并将它们发布到使用它的每个对象。下面的屏幕截图显示了示例展示中使用的主要材料。如果我们需要更改地图,我们只需更新主材料并重发包裹即可。

Packages Example 2