Skip to main content

搭建 VRChat FBX 虚拟形象!

如果打算继续跟着做,我将使用 过时 VRChat 教程 中的示例模型。在导入到 Unity 之前,请先在 Windows 资源管理器中解压缩。

如果你的虚拟形象包随附一个设置好了的虚拟形象场景,那么直接使用该场景即可。或者,它也可能随附一个 prefab 文件,你可以将其直接拖入场景中,它会包括虚拟形象及其所有组件的设置。如果你的包中没有包含场景文件,请使用 prefab 文件。

如果你的虚拟形象没有随附这两个文件,只随附了一个 FBX 文件和纹理材质,则还需要遵循一些额外步骤。

请将要导入的新资源其从 Windows 资源管理器拖动到 Unity Project 窗口。

如果你不打算这么做,或者一旦有错误无法让它上传,则需要遵循本教程的其余部分,我将在这里展示如何为 VRChat 设置虚拟形象。

找到项目中的 FBX 文件并单击它。我们首先需要进行配备,它决定了我们的虚拟形象的骨骼如何运动。在 inspector 中,我们可以看到默认值是generic(通用)的,我们需要将其更改为 Humanoid。然后点击 configure。

我们需要确保所有必要的骨骼都已正确配置。在身体选项卡上,除了上胸和脚趾是可选的以外,剩下的所有骨骼都是 VRChat 必需的。这个示例模型没有配置胸部,所以需要在胸部旁边的框中,单击圆圈并在新窗口中搜索“chest”。

应用后,单击“Head”选项卡并确保除 jaw(下巴)外的所有内容都已分配。单击“neck”旁边的圆圈按钮并重复该过程以填充该内容。
 jaw(下巴)不应在 VRChat 中被分配,尽管许多模型确实会自动将其分配给错误的骨骼。要删除骨骼分配,请单击“jaw(下巴)”旁边的绿色圆圈并按 delete 键。

在检查所有骨骼映射是否正确后,单击底部的“done”并单击“apply”。

好的,现在让我们将我们的虚拟形象拖入场景中。选中它后,在其变换组件的顶部,您将看到三个点。单击这些点,然后单击“重置位置”。这将使虚拟形象的位置重置为场景的中心,或 X Y 和 Z 轴上的 0。

你会看到这个模型上没有纹理。再次点击 FBX 文件,然后点击检查器中的 materials(材质)选项卡。点击 extract materials (提取材质),将它们提取到虚拟形象的文件夹中。而这些就是虚拟形象使用的 materials(材质)。materials(材质)将图像纹理与称为着色器的着色算法组合在一起,以在几何表面上产生细节感。现在我们已经有了这些 materials(材质),点击它们。在 inspector 中你可以看到这些插槽,我们可以将纹理图片拖入这些插槽。我们现在需要关心的一个是 albedo 或 base color (基础色)插槽。拖入您的纹理,它们就会应用于模型!

在 inspector 的顶部,它会说我们的模型使用的是标准着色器;这是 Unity 的默认着色器,旨在实现真实照片般的效果。如果你希望给予虚拟形象更卡通化的外观,可以通过单击下拉菜单,选择 VRChat>Mobile>Toon Lit 来更改着色器。这个着色器与 Quest 兼容,但是在PC上看起来可能不太好。你可以在互联网上下载许多专门为 VRChat 设计的不同的着色器。

现在要专门为 VRChat 上传去设置虚拟形象。这里有一个很棒的社区工具,用它来解决这个问题正好,叫做 Pumkin's Avatar Tools。你可以轻松地将其导入到 VRChat Creator Companion 中!

https://rurre.github.io/vpm/

https://github.com/rurre/vpm#readme

老方法是从上方这个链接下载它,然后通过从 Windows 资源管理器拖动到 project 视图中将其导入到项目中。接下来会弹出一个窗口,只需单击“import”即可。

现在转到 Pumpkin>Tools>Avatar Tools,将打开一个新窗口。在 hierarchy 中选择你的虚拟形象,然后在 Pumkin Tools 窗口单击“Select from Scene”。或者从 hierarchy 中将你的虚拟形象拖动到插槽中,两种方法都可以。

现在点击 Quick setup avatar,,你应该看到两个组件现在已经添加到你的虚拟形象的根部游戏对象中。 

其中一个组件是 pipeline manager:这将包含你的虚拟形象的 ID 用以表示这个虚拟形象是你的 VRChat 虚拟形象。目前不需要担心这个。

另一个组件是 VRC Avatar Descriptor:这包含了虚拟形象的所有重要部分。 

很抱歉我没有完成这个教程!观看 Sippbox 的教程以了解其余部分!