使用英语阅读

通过


适用于 Surface Duo 的 Unity 游戏

双屏和可折叠 SDK 可以合并到 Unity 移动游戏中,使游戏视图能够适应各种设备,包括 Microsoft Surface Duo。

选择 SDK

有两种不同的 SDK 可用:

  • Jetpack 窗口管理器 - 支持各种制造商提供的双屏和可折叠设备(包括 Surface Duo)。 推荐用于不同制造商的各种设备的双屏和可折叠设备支持。
  • Microsoft 双屏 SDK - 支持 Microsoft Surface Duo。

Unity 中的游戏预览

为了有助于游戏开发,请使用游戏分辨率选取器来创建适用于 Surface Duo 屏幕的自定义配置:

  • 2784×1800 - Surface Duo 纵向双屏
  • 1800×2784 - Surface Duo 横向双屏
  • 1350×1800 - Surface Duo 纵向单屏
  • 1800×1350 - Surface Duo 横向单屏

然后,可以在游戏中添加以下代码片段来模拟铰链区域:

#if UNITY_EDITOR
// Hardcode the hinge mask for the Unity game preview
if (Screen.width == DeviceHelper.SURFACEDUO_SPANNEDWIDTH)
{ // double-portrait
    GUI.backgroundColor = Color.gray;
    GUI.Box(new Rect(x: DeviceHelper.SURFACEDUO_SCREENWIDTH, y: 0, width: DeviceHelper.SURFACEDUO_HINGEWIDTH, height: DeviceHelper.SURFACEDUO_SCREENHEIGHT),"");
}
else if (Screen.height == DeviceHelper.SURFACEDUO_SPANNEDHEIGHT)
{ // double-landscape
    GUI.backgroundColor = Color.gray;
    var r = new Rect(x: 0, y: DeviceHelper.SURFACEDUO_SCREENWIDTH, width: DeviceHelper.SURFACEDUO_SCREENHEIGHT, height: DeviceHelper.SURFACEDUO_HINGEWIDTH);
    GUI.Box(r, "");
}
#endif

备注

这些值只是为了在预览中模拟铰链区域;也就是说,不得在游戏代码中对这些值进行硬编码,而是应使用提供的 API 来查询屏幕和铰链尺寸。

下面的 Unity 屏幕截图展示了显示铰链的游戏预览:

Unity editor game preview screenshot