Unity-Spiele für Surface DuoUnity games for Surface Duo

Wichtig

In diesem Artikel werden Funktionen und Anleitungen beschrieben, die sich in der öffentlichen Vorschau befinden und vor der allgemeinen Verfügbarkeit noch wesentlich geändert werden können.This article describes functionality and guidance that is in public preview and may be substantially modified before it's generally available. Microsoft übernimmt keine Garantie, weder ausdrücklich noch stillschweigend, für die hier bereitgestellten Informationen.Microsoft makes no warranties, express or implied, with respect to the information provided here.

Der Surface Duo-Android SDK kann in mobile Unity-Spiele integriert werden, damit die Spielansicht an die zwei Bildschirme und das Scharnier angepasst werden kann.The Surface Duo Android SDK can be incorporated into Unity mobile games to allow the game view to adapt to the dual-screens and hinge.

Führe die folgenden Schritte aus, um das SDK-Paket hinzuzufügen und mithilfe der nativen Android-Integration von Unity auf die Funktionalität zuzugreifen.Follow the steps below to add the SDK package and access the functionality using Unity's native Android integration.

InstallationInstallation

  1. Aktualisiere mainTemplate.gradle, um das Surface-Duo Android SDK herunterzuladen:Update mainTemplate.gradle to download the Surface Duo Android SDK:

    maven {
        url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1'
    }
    

    undand

    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61"
        implementation "com.microsoft.device:dualscreen-layout:0.9.0"
    }
    
  2. Kopiere dieses Skript SurfaceDuoScreenHelper.cs in das Spieleprojekt.Copy this script SurfaceDuoScreenHelper.cs into your game project.

  3. Füge die Doppelbildschirm-Methoden hinzu, um dein Spiel für Geräte mit Doppelbildschirm zu erweitern.Add the dual screen methods to enhance your game for dual-screen devices.

SpielevorschauGame preview

Verwende zur Unterstützung deiner Spieleentwicklung die Auflösungsauswahl für Spiele, um benutzerdefinierte Konfigurationen für Surface Duo-Bildschirme zu erstellen:To help with your game development, use the game resolution picker to create custom configurations for Surface Duo screens:

  • 2784×1800 – Doppeltes Hochformat für Surface Duo2784×1800 – Surface Duo double portrait
  • 1800×2784 – Doppeltes Querformat für Surface-Duo1800×2784 – Surface Duo double landscape
  • 1350×1800 – Einfaches Hochformat für Surface Duo1350×1800 – Surface Duo single portrait
  • 1800×1350 – Einfaches Querformat für Surface Duo1800×1350 – Surface Duo single landscape

Anschließend kannst du deinem Spiel den folgenden Codeausschnitt hinzufügen, um den Scharnierbereich zu simulieren:You can then add the following code snippet in your game to simulate the hinge area:

#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

Hinweis

Diese Werte dienen nur zum Simulieren des Scharnierbereichs in der Vorschau – du solltest diese Werte nicht fest im Code deines Spiels codieren, sondern die bereitgestellten APIs verwenden, um die Bildschirm- und die Scharnierabmessungen abzufragen.These values are just to simulate the hinge area in the preview – you should not hardcode these values in your game code, instead use the APIs provided to query for the screen and hinge dimensions.

Dieser Unity-Screenshot zeigt die Spielvorschau mit dargestelltem Scharnier:This Unity screenshot shows the game preview showing the hinge:

Screenshot der Spielvorschau im Unity-Editor