分层服装允许您创建 3D 服装和配件,几乎任何虚拟形象都可以穿戴任何其他分层服装的任何组合。分层服装自然地延伸到虚拟形象身体和其他分层服装项目上,无需剪切或破坏。
我们建议您在您创建的分层服装上配合使用的基础身体角色。我们将讨论如何在外部 DCC 应用程序中执行此操作,并将其全部结合在工作室中,创建宇宙空间站的最终角色。
构建自定义角色
我们希望在我们的体验中的用户体现出某人被送到车站调查一些扰流事件。我们最初不确定我们的实际角色会是什么或者如果会有多种类型的角色,但我们希望他们穿着太空服。因此,我们决定将服装作为独立的组件,可以在我们的设计中实现灵活性。
最终,我们确定了一个我们命名为“访客”的单个角色设计,但层次服装允许我们创建主角色,同时还将服装发布到市场作为模块组件。作为创建者,你很快就能做到同样的事情,所以跟着来看看我们是怎么做到的。

制作基础身体
基础身体本质上是分层服装系统的最低层。这可以是我们角色的内衣身体、渔夫或甚至是块状的虚拟形象。
分层服装清单:
- 身体地理、笼子部件和骨架必须遵守 R15 架构。
- 身体笼必须使用 Roblox 提供的笼子。
- 笼子应与身体地理的零件数相同,尾巴为 _OuterCage。
- 左上臂_地理 (网格)
- 左上臂_外壳 (围笼)
- 每个部分的多边预算不能超过 10,000 个三角形。
- 角色大小不能超过 2000×2000×2000 单位。
制作模型
分层服装可让衣服适合几乎任何类型的身体,无论是鱼人、岩石魔像还是人类太空探索者。唯一的要求是它们必须是双足人形。
你应该模型角色在中立和自然的姿势。这可以在动画时提供更全面的运动范围,还可以给你暗示的运动方向。默认方向意味着当你建造角色的骨架时,节点内有一个小弯,可以知道它们是否应该自然弯折。以下示例显示了手臂和腿上非常小的弯曲,以便实现这一目标。我们还把手放在一个自然的姿势,如果我们想要在体验中获得物品或装备,它仍然可以抓住一些东西。

你的角色的轮廓或形状也应该与其他玩家在远处区分开来,这对于多人游戏体验很重要。这可以减少混乱,帮助用户知道很多事情发生时是否安全或危险。


关于基础角色的重要说明:由于这是玩家虚拟形象,我们最终想要在市场上发布身体和服装,仍需要遵循 R15 架构。这包括将身体分为 15 部分。


为了确保零件仍然相连,建议您限制网格组件,然后使用应用程序来“平均”身体部分“缝隙”之间的顶点正常。这将将身体部分两侧的两个顶点视为一个,在表面正常方面。


纹理
纹理你的角色可以让你根据你想要它们看起来的方式将它们带入生活。对于太空站,我们想要一个角色与周围环境相似的程度,最终确定了以下角色:

现在我们来看看如何将纹理导入工作室,并确保角色看起来很棒且适合体验。
在纹理之前,我们通过移动角色关节并将其姿势来进行了一系列动作测试,以确保模型变形良好。并不总需要在纹理之前进行各种运动测试,但它可以帮助你在你花几个小时放置纹理之前捕捉模型中的惊喜。之后,我们将装备从网格中分离(解除绑定),专注于纹理。一旦角色绑定到其骨架上,就不建议进行纹理工作或超出动画的任何内容。
为了允许市场控制肤色,我们使像衬衫、短裤、手套和靴子等区域完全透明。然而,对于暴露皮肤的区域,我们使用部分透明度允许添加细节到肤色,但不完全覆盖它。这使我们能够超越 Studio 当前的照明功能,提升解剖学功能。
以下图像显示颜色(反射率)、金属性、粗糙度和普通地图。




以下图像显示 Studio 中皮肤透明度在行动中,并显示具有透明度和皮肤颜色的相同颜色地图。




笼子
一旦我们确立了基础身体,我们就需要将其笼罩起来,以便多层服装能够适合它。笼子是服装和身体互动的方式。身体和服装都有相同的围笼,由用户扭曲以定义服装的适合。身体笼告诉服装角色的形状,而不是网格本身的所有细节。服装内部笼定义了服装的紧密程度。
目前,需要在外部 DCC 应用程序中完成围笼的第一次匹配。你可以使用 Roblox 提供的笼子开始。
身体的笼子与服装的大多数相同,除了最终结果是一个包含 15 部分(每个部分对应一个身体部位网格)的笼子。以下是“可编辑”笼子,这是单个网格,笼子部分由编辑“可编辑”围笼变形,以及网格本身。

当你第一次使用围笼时,很可能它不会匹配你的角色,因此你需要调整"可编辑"围笼或零件,以适合身体网格的外部边界。与服装类似,外部笼子应始终适合于身体网格之外,以便服装知道身体本身的形状。它在服装中使用了一个“双子”笼子,实际上将服装捆绑到这个外部笼子上(我们将在下面详细讨论)。

我们决定要求外部笼子覆盖皮肤,但不是手套和靴子。除了这些区域外,你会看到笼子尽可能地适合身体外部,包括匹配面部特征距离和形状的面罩。




皮肤
将角色皮肤化,类似于自定义角色,是移动通过环境时角色的有机弯曲和扭曲的原因。我们发现以下指南很有用,因此角色网格导入到 Studio 时无误:
个人关节和骨骼必须有独特名称。
网格在裁剪/绑定之前不应有变形;换言之,变形应为 0 且缩放应为 1。
网格正常应面向外部(模型不应从内向外看)。
骨架不应有任何缩放因子;所有关节应为 [1, 1, 1]。
由于关节计数的限制,皮肤这个角色有点难,但我们做的工作中有一些记录:
当用清晰的解剖描绘一个人时,最好画出你的重量,使弯折看起来自然,例如当你举起和下降手臂时,肩膀肌肉的伸展或压缩。
皮肤人类的另一个常见问题是,皮肤默认值经常会“太光滑”,这意味着肘部和膝盖等区域的影响将分布过多。最好画得更紧,这样你的腿/手臂在弯折时不会压缩。
最后,由于您的模型分为 15 部分,因此您需要确保部分之间的缝合是在重量上的 1:1。大多数应用程序会允许您从一个vertex复制影响,以便它们具有相同的权重。
手套和靴子
正如你从基础身体可以注意到的,我们决定包括手套和靴子。你可能也想暂时这样做,以下是其原因:
我们希望手套成为分层服装套装的一部分,但目前手套在分层服装精选能中尚未支持,因此我们替换了我们初始模型的手部,使其具有手套。
我们希望鞋子的金属环是坚硬的,而不是变形以适合脚和腿,因此我们用具有靴子的初始模型替换了脚。
为了确保分层服装没有试图适合靴子或手套,我们故意保留了内部的笼子。这使空间服的上下部变形为手和脚。
建造潜水服
在整个过程中,我们决定服装应该适合多个角色,并且我们想将资产发布到市场,让其他人也能享受服装。除了层叠服饰外,我们的角色还需要头盔和背包等“硬点”物品作为最后的修饰。以下图像显示了太空服在各种角色上的外观。

我们发现以下指南在建造层叠服饰时很有用:
- 从您的 DCC 应用程序导出的 .fbx 文件必须包含 服装网格 , 内部笼子 , 外部笼子 和 骨架 。
- 你命名服装的方式是随意的,但两个笼子都需要有这种命名格式:
- [服装名称] _内部笼子 * [服装名称] _外部笼子 * 您必须将服装皮肤到 R15 骨架,最多有 4 影响。
- 你的 R15 骨架必须遵循这个命名方案。
在这些指导原则下,以下是我们遵循的步骤来建造太空服:
使用 Roblox 分层服装笼模板,这是您可以使用来适合服装的基础框架。根据服装与框架的距离,你可以拥有紧身或宽松的服装。
将服装模型传送到框架,并在外部 DCC 应用中雕刻更高级别的模型。
重建高度聚合模型的低聚度、游戏准备版本。如果您对此过程感兴趣,有许多教程在线为高 поли到游戏准备模型。请注意,服装不需要分为与它们覆盖的身体部位相应的部分;它可以是单个网格。
测试其他角色的运动和健身状况,在完成任何纹理之前。
定义“外部笼围笼”或服装物品目的外部边界。这告诉任何额外层如何紧密地适合宇航员服装上衣。
在笼子里之后,它可能有助于暂时将服装皮肤到模板文件中的骨架,只是进行一系列的运动测试。通过在不同位置摆放模型,你可以在最终确定纹理之前确认它变形良好。如果你这样做,请确保在移至纹理之前解除绑定!
纹理
在我们皮肤服装后,它按照我们的意图移动了方向,我们移到了纹理。
因为我们想要追求现实主义,所以我们使用了表面外观来制作美丽的 PBR 材料。我们将其带入到纹理应用程序中,制作了反射率、金属性、粗糙度和正常地图。这允许服装有金属般的部分和其他部分看起来更像粗糙的画布。
在进一步之前,我们将模型和纹理带入工作室进行空间站的正确照明测试材料的测试。这导致了对手臂和躯干带的金属性进行了一些调整。
当着色你的服装时,请记住以下几点:
- 对于表面外观,请确保包含颜色(反射率)、金属性、粗糙度和普通地图。
- 无金属性,表面外观默认为 0 金属性或塑料表面。
- 无粗糙度时,表面外观默认为0粗糙度或光滑表面。
皮肤
皮肤服装需要与基础身体正确弯折。通过皮肤它,你还告诉动画服装应该如何弯折,包括哪些部分是固定的或与角色移动的。

幸运的是,与基础身体不同,你不需要分开你的服装,因此西装的顶部可以是单个网格并以此形式进行皮肤。为了节省时间,大多数应用程序会允许您只对特定节点皮肤您的网格。我们想影响潜水服上部的关节只有上躯干、上臂和头部。不与整个保存时间的身体绑定,去掉不必要的权重。

不过,和身体一样,你会想把它脱掉,让它自然弯折,因为它的材料如此。这意味着对中间的塑料部分,我们有一个固体重量到上半身。
由于手套将是刚性的,且潜水服的顶部停在腕部上方,我们认为它不需要与手部弯曲。

一旦皮肤在西装上完成后,我们简单地重复了相同的程序在裤子上,让它们准备好进入工作室并进入引擎!
导入到工作室
当服装在我们的 DCC 应用程序和工作室看起来很好时,我们已准备好将其导入工作室并使用配件工具,这是一项即将发布的新功能,可以帮助你精炼服装的笼子以获得最佳适合。工具还可以将服装导出为饰品,这样您就可以将服装添加到角色。
在工作室中,我们给我们的分层服装项目命名了一个 LC_ 前缀,以便我们区分它们与遗产风格配件(套装的头盔和背包部分)。

建造头盔
头盔是潜水服的重要组成部分。我们希望用户能看到角色的脸,也能捕捉头盔玻璃表面的光泽。

我们不想让头部变形的配件,例如这顶头盔,最好作为"硬点"配件建造,这是你目前在市场中找到的配件类型。与头盔的主要区别和你在市场上找到的东西是它使用 SurfaceAppearance ,这会创建令人信服的塑料和金属外观,并给头盔镜一些透明度。
制作模型
要构建头盔模型:
当我们将头盔放在角色的头上时,我们建立了良好的轮廓。
我们从宇宙空间站重复使用了修边地图来保持最小的纹理数量。我们模型了头盔足够的分离部分,以便我们放置 UV,最大限度地利用纹理地图。
我们然后使用了我们在站的许多区域使用的同一修剪地图。
导入到工作室
当我们的头盔大约适合并放置在我们的DCC应用程序中时,我们可以导入Studio所有我们想要的效果。
我们最初使用 资产管理器 导入头盔,但由于它是单个网格,您也可以将MeshPart放置在你的位置,并使用 属性面板 指定网格ID。
然后我们通过在网格部分上的 SurfaceAppearance 对象添加了纹理地图。这个过程需要一些调整才能在颜色(反射率)地图上获得理想的 alpha,因此您可以看到头盔而不需要完全透明。
因为我们想让一些潜水服干净,一些潜水服脏而不需要使用多个纹理,我们添加了装饰到同一个对象来创建这种效果。图标通过平面投射到每个表面来工作。
我们想要一束光线和光来表示用户在黑暗房间中面向哪个方向以及通过的区域。为了做到这一点,我们使用了附件,因为你可以添加任意数量的它们,而且它们不是零件,所以它们在配件中是有效的。您可以像以下示例中一样使用附件来显示粒子效果、光束或灯光。
介绍配件工具
由于并行建造了许多组件,因此可能有点难以知道您的资产是否完全匹配并且外观正如您所需要的。然而,随着即将推出的配件工具,穿戴和精炼服装变得更容易。我们使用了这个工具来设置角色的上下以及硬点头盔和背包配件。

这里是使用配件工具来处理分层服装的总结:
我们首先将服装的顶部穿在角色上。幸运的是,适合度很高,内部笼子很好地适应了身体。我们还测试了外部笼子与其他服装项目。当我们对服装满意时,我们使用工具生成市场的适当配件。
与服装的底部,我们希望调整工作室内的适合度,因为它们最初太过拥挤。使用点编辑器,我们推动事物进入位置。像西装上衣一样,我们将其制作成饰品。
对于头盔和背包,我们仅通过缩放、旋转和移动它们来调整它们,因为它们没有笼子。
看头盔是否适合其他部分的潜水服是很复杂的,所以我们使用了配件工具来视觉化潜水服的上部和下部。这允许我们确保服装的宽度与西装的顶部一致。
头盔、背包、上衣和裤子配备完毕后,我们就准备好看看这个角色在我们的空间站里是怎么看起来的了。我们复制并粘贴了配件到角色上,并能看到它们是如何匹配的。然后,我们将角色放置在我们的位置文件中,确认所有材料、灯光和其他效果都是我们想要的方式。