Skip to main content

跨平台设置

设置跨平台世界或 Avatar 实际上相当简单!简而言之,您只需将 Unity 切换到所需的目标平台并构建内容即可。

如果您需要更多关于如何正确操作的细节,这里有一个简短指南。

为 Android 进行设置​

首先,您需要将项目切换到以 Android 为目标平台,以进行首次设置并确保您的内容可以针对该平台构建。

  1. 打开 SDK 控制面板并切换到 Builder 选项卡
  2. 在"Build"部分,选择平台下拉菜单。取消选中"Windows"并选中"Android"
  3. 在弹出的窗口中,点击"Switch"确认更改
  4. 检查 SDK 控制面板中出现的验证消息,以确保您的内容与 Android 兼容

微调和优化​

现在您的项目已经准备好了,您需要开始优化。这一步不可跳过。 现代 Android 设备相当强大,但远不如典型的 VR 就绪 PC 强大。您需要查看我们的 Quest 内容优化页面了解需要做什么。对于世界来说,这意味着烘焙光照、降低几何复杂度、避免使用透明度和降低纹理分辨率。对于 Avatar,这意味着移除多余的组件、多余的骨骼、降低几何复杂度、避免透明度以及减小纹理尺寸。

这需要一些时间,并且预计会有挑战性。为移动硬件进行优化是困难的!幸运的是,有大量的资源可供参考,即使在 YouTube 上粗略搜索"optimizing Unity for mobile"也会发现大量优质内容。

您也可以查看我们关于优化 Oculus Quest 内容的一些文档。

我们还强烈建议使用 EasyQuestSwitch(作为 VRChat Creator Companion 中的包提供)等工具来按平台调整内容。

info

如果您为不同平台准备了多个版本的 Avatar,例如专门的 PC 版本和 Quest 版本,您可以使用 SDK 中的按平台覆盖功能来使用它们。

上架内容​

当您的世界或 Avatar 准备好后,就可以上架了!上架过程与 VRChat PC 上架过程相同,不过 SDK 在性能问题警告方面会更加严格。

如果您想一次为所有平台上架内容,您可以在 SDK 控制面板的 Build 部分的"Platforms"下拉菜单中选择多个目标。

您需要将您的世界或 Avatar 上架到与 VRChat PC 版本内容相同的 blueprint ID。 Blueprint ID 由游戏对象上的 Pipeline Manager 组件定义,该组件通常伴随 VRC Scene Descriptor,通常在您的 VRCWorld 预制体上。点击"Detach"按钮编辑 blueprint ID,然后粘贴您首次上架版本的 ID(您也可以在 VRChat SDK 控制面板的"Content Manager"选项卡中找到它)。

您上架的版本取决于原始项目的构建目标。如果您的项目设置为 Android,则会为 Quest 上架。如果构建目标是 Windows,则上架的是 PC 版本。基本上就是这样——一旦上架完成,任何查看您内容的客户端都会与我们的服务器进行如下对话:

"嘿,我是 Meta Quest,我想要这个内容。" "好的,这是 VRChat Android 版本。"

"嘿,我是 VRChat PC 用户,我想要这个内容。" "好的,这是 VRChat PC 版本。"

"嘿,我是 VRChat iOS 用户,我想要这个内容。" "好的,这是 VRChat iOS 版本。"

info

VRChat 正在为 iOS 试验内容回退系统。如果您的内容在 Android 上可用但在 iOS 上不可用,VRChat 会尝试在 iOS 上加载 Android 版本。

对于主要使用 Quest 内容限制中概述的 Standard Lite 着色器的内容,这通常效果良好。为获得最佳效果,建议使用 SDK 上架您的内容的 iOS 版本。

如果当前平台没有可用的 Avatar,您将看到一个替身 Avatar(impostor avatar)。

如果当前平台没有可用的世界,您将无法进入通往该世界的传送门或通过 UI 加入该世界。

但是,如果您加入一个同时拥有 Android 和 PC 版本的世界,并且实例中的人们同时拥有 Android 和 PC 版本的 Avatar,您将能够以适合您平台的方式查看世界,并与所有人一起正常社交,不会出现任何问题!

骨架必须完全相同!

为了使 Avatar 能正常跨平台工作,PC 和 Quest 版本中通向头部、手部和脚部等必要骨骼的骨架路径必须完全相同。此外,不同版本之间"根骨骼"(层级中的第一个骨骼)的缩放和旋转也必须相同。

Android 和 PC Avatar 之间的绑定(骨架)必须基本一致。如果您想为 Android 版本移除裙子/头发等非必要骨骼,那是可以的——但不要改变骨架布局的基本结构。否则会导致跨平台查看时出现异常行为。

最重要的是,"根骨骼"(即髋部)应该是 Armature 游戏对象之后层级中的第一个骨骼。具体来说,只要"根骨骼"的设置(缩放、旋转)相同,您就不会有问题。

提示​

  • 您的 VRChat PC Avatar 可以拥有各种 VRChat Android Avatar 所没有的附加功能。根据平台不同,用户将看到适合其客户端的版本。
  • 您也可以在这方面发挥创意——您可以为 PC 用户创建一个高多边形世界或 Avatar,然后为 Quest 用户创建一个低多边形(但依然时尚)的版本。
  • 为世界定义一组盒碰撞体或低多边形网格碰撞体,用于 PC 和 Quest 版本,而不是使用网格碰撞体。将碰撞体作为子对象放在特定坐标的空游戏对象下,如果更新了一个项目,可以轻松地将该对象复制/粘贴到另一个项目。这样您就不会看到不同平台的用户"漂浮",也不会遇到昂贵且复杂的高顶点数量网格碰撞体问题。
  • 请记住,不惜一切代价避免透明度!它的性能开销很大。
    • 顺带一提,是的,"Alpha cutout"也算透明度。