เริ่มต้นใช้งาน Unity และ Google Play Games สำหรับ PC

1. บทนำ

โลโก้ Google Play Games

อัปเดตล่าสุด 18-10-2022

คุณจะเตรียมเกมสําหรับ Google Play Games บน PC อย่างไร

Google Play Games ช่วยให้คุณนำเกมมือถือมาสู่ Windows PC ได้ง่ายๆ ซึ่งหมายความว่าคุณสามารถเพิ่มการมีส่วนร่วมของผู้เล่นและผู้ชมได้โดยไม่ต้องออกแบบเกมใหม่หรือออกแบบโมเดลธุรกิจใหม่ คุณต้องทำการเปลี่ยนแปลงบางอย่างเพื่อให้ผู้เล่น PC หน้าใหม่ได้สัมผัสประสบการณ์ที่ดีที่สุด

สิ่งที่คุณจะได้เรียนรู้

Codelab นี้ครอบคลุมส่วนพื้นฐานของรายการตรวจสอบข้อกำหนด เพื่อเริ่มใช้งานเกมของคุณ และช่วยคุณเตรียมเกม Unity ของคุณเองสำหรับ Google Play Games บน PC ไม่ครอบคลุมการผสานรวมเชิงลึกเพิ่มเติม เช่น การลงชื่อเข้าใช้ Play Games และ Play Integrity API

  • วิธีสร้างสำหรับสถาปัตยกรรม x86 จาก Unity
  • วิธีทดสอบและใช้งานโปรแกรมจำลอง Google Play Games
  • วิธีแก้ไขอินเทอร์เฟซผู้ใช้ให้ดูดีบน PC
  • วิธีตรวจหาว่าคุณกำลังเรียกใช้โปรแกรมจำลอง Google Play Games อยู่หรือไม่ และปรับเกมของคุณให้เหมาะสม

สิ่งที่คุณต้องมี

2. ตั้งค่า

เปิดหรือสร้างโปรเจ็กต์ใหม่

  1. สร้างโปรเจ็กต์ใหม่โดยใช้ 2D Platformer Microgame หรือเปิดโปรเจ็กต์ของคุณเอง

เอกภาพ

  1. จากโปรเจ็กต์ ให้เลือกไฟล์ -> การตั้งค่าบิลด์ และตรวจสอบว่าคุณตั้งค่าให้บิลด์สำหรับ Android แล้ว

ภาพหน้าจอของ Unity

3. เตรียมโปรแกรมจําลอง Google Play Games

เริ่มต้นโดยดาวน์โหลดโปรแกรมจำลอง

หลังจากติดตั้งแล้ว คุณจะเห็นเดสก์ท็อป Android ในหน้าต่าง

ภาพหน้าจอของหน้าต่างโปรแกรมจำลอง Google Play Games หน้าจอหลักของ Android ปรากฏอยู่

สภาพแวดล้อมนี้เป็นสภาพแวดล้อม Android ประสิทธิภาพสูงที่มีฟีเจอร์ครบถ้วนซึ่งเหมาะสำหรับการพัฒนาเกม ควรแสดงใน Android Debug Bridge (adb) เป็นอุปกรณ์บน localhost:

❯ adb devices
List of devices attached
localhost:6520  device

คุณต้องใช้ adb เวอร์ชันล่าสุดเพื่อตรวจหาโปรแกรมจำลอง เวอร์ชันที่มาพร้อมกับ Android Studio จะใช้งานได้ แต่ adb ที่มาพร้อมกับ Unity อาจไม่สามารถใช้งานได้ เวอร์ชันที่เข้ากันได้จะมาพร้อมกับโปรแกรมจำลอง ซึ่งดูได้ที่ C:\Program Files\Google\Play Games Developer Emulator\current\emulator คุณอาจต้องติดตั้ง Android Studio และใช้เพื่อจัดการ Android SDK เพื่อประสบการณ์การใช้งานที่ดีที่สุดสำหรับนักพัฒนาซอฟต์แวร์

ถ้าโปรแกรมจำลองยกเลิกการเชื่อมต่อจาก adb ให้เชื่อมต่ออีกครั้งจากบรรทัดคำสั่งดังนี้

adb connect localhost:6520

4. กำหนดค่า Unity เพื่อสร้างและทำให้โปรแกรมจำลองใช้งานได้โดยตรง (ไม่บังคับ)

เวอร์ชันของ adb ที่มาพร้อมกับ Unity อาจใช้ไม่ได้กับโปรแกรมจำลอง ในการตรวจสอบ ให้เลือก ไฟล์ -> การตั้งค่าบิลด์ และตรวจสอบกล่องโต้ตอบเรียกใช้อุปกรณ์เพื่อดูว่ามีอยู่ในรายการหรือไม่

เรียกใช้อุปกรณ์ใน

คุณอาจเลือกที่จะกำหนดค่า Unity ให้ใช้งานได้กับโปรแกรมจำลอง Google Play Games โดยตรง หรือสร้าง APK แล้วติดตั้งใช้งานด้วยตนเองด้วย adb install ก็ได้ ทั้งนี้ขึ้นอยู่กับโปรเจ็กต์ ขั้นตอนการสร้าง และระดับความสะดวกใจ หากต้องการติดตั้งใช้งานด้วยตนเอง คุณต้องทำการเปลี่ยนแปลงน้อยที่สุด แต่ก็อาจทำให้รอบการทำซ้ำช้าลง

ติดตั้งใช้งานกับโปรแกรมจำลองโดยตรงด้วย 2 ขั้นตอนต่อไปนี้

  1. กำหนดค่า Unity ให้ใช้ Unity SDK อื่น แนะนำให้เป็น SDK ที่ติดตั้งโดย Android Studio
  2. อัปเดตเวอร์ชัน Build Tools เพื่อแก้ปัญหาข้อบกพร่องใน Unity

เนื่องจาก Android SDK เวอร์ชันที่มาพร้อมกับ Unity อาจไม่พบโปรแกรมจำลอง คุณจึงใช้ Android Studio เพื่อติดตั้ง SDK ที่ใหม่กว่าได้

  1. เปิด Android Studio แล้วเลือกแก้ไข -> ค่ากำหนด -> เครื่องมือภายนอก
  2. ยกเลิกการเลือก Android SDK Tools Installed with Unity แล้วระบุเส้นทางไปยังการติดตั้ง Android Studio (โดยปกติคือ AppData/Local/Android/sdk) ไม่ต้องแก้ไขตัวเลือก Android NDK

ภาพหน้าจอของ

เมื่อรีเฟรชอุปกรณ์ที่เชื่อมต่อ คุณจะเห็น Google HPE device (localhost:6520) ปรากฏในหน้าต่างบิลด์

ภาพหน้าจอของ

คุณอาจต้องเปลี่ยนเวอร์ชันของเครื่องมือสร้างด้วย ทั้งนี้ขึ้นอยู่กับสถานะของข้อบกพร่องนี้และเวอร์ชัน Unity ของคุณ โดยตรวจสอบว่าคุณสร้าง mainTemplate.gradle และ launcherTemplate.gradle อยู่

  1. เปิดหน้าต่างการตั้งค่าโปรเจ็กต์ไปยังการตั้งค่าโปรแกรมเล่น และค้นหาส่วน Publishing Settings
  2. เลื่อนลงไปที่ตัวเลือกบิลด์ แล้วเลือก "เทมเพลต Gradle หลักที่กำหนดเอง" และ "เทมเพลต Gradle ตัวเรียกใช้งานที่กำหนดเอง" ซึ่งจะสร้างไฟล์ Gradle ทั้ง 2 ไฟล์ภายใต้ Assets\Plugins\Android\

ภาพหน้าจอของ

  1. แทนที่อินสแตนซ์ของสตริง **BUILDTOOLS** ด้วย 30.0.0 ในทั้ง 2 ไฟล์ ส่วนของโค้ดควรเป็นข้อความดังนี้
android {
    compileSdkVersion **APIVERSION**
    buildToolsVersion '30.0.0'

5. ติดตั้งใช้งานใน Chromebook (ไม่บังคับ)

คุณเริ่มพัฒนาเกมสำหรับ Google Play Games ได้โดยไม่ต้องเข้าถึงโปรแกรมจำลอง Google Play Games โดยใช้อุปกรณ์ ChromeOS Chromebook คล้ายกับ Google Play Games บน PC ตรงที่มีแป้นพิมพ์และเมาส์ มีหน้าจอขนาดใหญ่ และพร้อมใช้งานในการกำหนดค่า x86 เราจะใช้ปลั๊กอิน Unity สำหรับ Android Logcat กับ Chromebook

  1. เปิด Package Manager และค้นหา Android Logcat ภายใต้ Unity Registry

หน้าต่างตัวจัดการแพ็กเกจที่มี

ทั้งนี้คุณจะต้องกำหนดค่า Chromebook สำหรับการพัฒนา Android ด้วย เริ่มด้วยการเปิดใช้ Linux

  1. เลือกการตั้งค่า -> นักพัฒนา -> Linux

ภาพเคลื่อนไหวแสดงวิธีเปิดใช้การรองรับ Linux  เลือกนักพัฒนาซอฟต์แวร์ในหน้าต่างการตั้งค่า จากนั้น

จากนั้นเปิดใช้การแก้ไขข้อบกพร่อง ADB

  1. เลือกการตั้งค่า -> นักพัฒนาซอฟต์แวร์ -> สภาพแวดล้อมในการพัฒนาซอฟต์แวร์ Linux -> พัฒนาแอป Android -> เปิดใช้การแก้ไขข้อบกพร่อง ADB

เปิดใช้การแก้ไขข้อบกพร่อง ADB แล้วจากเมนู "นักพัฒนาซอฟต์แวร์"

คุณจะต้องใช้ที่อยู่ IP ของ Chromebook ด้วย วิธีที่ง่ายที่สุดในการดำเนินการดังกล่าวคือ

  1. คลิกไอคอนข้อมูลเครือข่ายเพื่อรับที่อยู่ IP ของ Chromebook

ภาพหน้าจอของหน้าต่างเครือข่ายที่เปิดอยู่ใน Chromebook

มีการคลิกปุ่มข้อมูลเครือข่าย ซึ่งจะแสดงที่อยู่ IP

  1. เลือกหน้าต่าง -> การวิเคราะห์ -> Android Logcat เพื่อเปิดหน้าต่าง Android Logcat

หน้าต่าง>เปิดการวิเคราะห์ใน Unity ด้วย

  1. เปิดรายการอุปกรณ์ แอปอาจอ่านว่า No Device หากไม่ได้เชื่อมต่ออยู่ในขณะนี้

แสดงหน้าต่าง Android Logcat เลือกรายการแบบเลื่อนลงของอุปกรณ์ไว้

  1. คลิกตัวเลือกการเชื่อมต่ออื่นๆ แล้วป้อนที่อยู่ IP ของ Chromebook

หน้าต่างการเชื่อมต่ออื่นๆ จะเปิดขึ้น ป้อนที่อยู่ IP แล้ว

  1. คลิกเชื่อมต่อ จากนั้นคุณจะเห็นหน้าต่างสำเร็จ

กล่องโต้ตอบพูดว่า

ตอนนี้ Chromebook ของคุณจะปรากฏในรายการ "เรียกใช้อุปกรณ์" ของ Unity (คุณอาจต้องรีเฟรชหน้าจอก่อน):

เอกภาพ

ตอนนี้คุณสามารถทำให้เกมใช้งานได้ใน Chromebook รวมทั้งเริ่มการทดสอบและพัฒนาในฮาร์ดแวร์ที่มีลักษณะเหมือน PC ได้แล้ว

6. ทำให้บิลด์ทดสอบใช้งานได้

Google Play Games กําหนดให้คุณทำให้เกมเวอร์ชัน x86 ใช้งานได้ ซึ่งเป็นส่วนหนึ่งของวิธีที่เกมดังกล่าวมีประสิทธิภาพในเชิงเปรียบเทียบบนคอมพิวเตอร์เดสก์ท็อป LTS เวอร์ชันทั้งหมดของ Unity สามารถสร้างบิลด์ Android ที่เข้ากันได้ x86 และ x86-64 (ติดป้ายกำกับว่า "Chrome OS") ขณะที่ Unity เวอร์ชัน 2018 และเวอร์ชันก่อนหน้าจะสร้างบิลด์ x86 ได้ หากต้องการปลดล็อกสถาปัตยกรรมเหล่านี้ คุณต้องเปลี่ยนไปใช้แบ็กเอนด์การเขียนสคริปต์ IL2CPP ก่อน ซึ่งน่าจะดำเนินการแล้วในเวอร์ชันที่ใช้งานจริงเพื่อรับการสนับสนุน arm64

  1. เลือก File -> การตั้งค่าบิลด์ เพื่อเปิดหน้าต่างการตั้งค่าการสร้าง แล้วคลิกการตั้งค่าโปรแกรมเล่น

ภาพหน้าจอของ

  1. ไปที่ส่วนการตั้งค่าอื่นๆ และเปลี่ยน Scripting Backend เป็น IL2CPP

ภาพหน้าจอของ

คุณควรเปิดใช้การสนับสนุน x86 หรือ x86-64 ด้วย หากต้องการจัดส่งบนแพลตฟอร์ม Google Play Games คุณจะต้องรองรับ x86 เท่านั้น แต่เราแนะนำให้ใช้ x86-64

ภาพหน้าจอของส่วนการกำหนดค่าของการตั้งค่าโปรแกรมเล่น

นอกจากนี้ เวอร์ชันของแพ็กเกจ Unity ของไลบรารี Frame Pacing ยังใช้ไม่ได้กับ Google Play Games และทำให้เกมขัดข้องเมื่อเปิดตัวด้วย

  1. หากต้องการปิดใช้ Frame Pacing จากหน้าต่างการตั้งค่าโปรแกรมเล่น ให้เปิดส่วนความละเอียดและการนำเสนอ แล้วยกเลิกการเลือกความเร็วในการกำหนดเฟรมที่เพิ่มประสิทธิภาพ

ภาพหน้าจอ

ตอนนี้คุณก็พร้อมสร้างแล้ว

  1. เปิดหน้าต่างการตั้งค่าบิลด์อีกครั้ง แล้วคลิกสร้างและเรียกใช้ เกมจะปรากฏในหน้าต่างโปรแกรมจำลอง

ภาพหน้าจอของโปรแกรมจําลอง Google Play Games พร้อม

หากทำให้เกมใช้งานได้ไม่ได้ ให้ตรวจสอบว่า "อุปกรณ์ Google HPE (localhost:6520)" หรือไม่ ปรากฏขึ้นใน "Run Device" รายการ หากไม่มี ให้ตรวจสอบว่า HPE_Dev ทำงานอยู่และมองเห็นหน้าจอหลักของ Android หากยังไม่ปรากฏในรายการอุปกรณ์ ให้เรียกใช้ adb connect localhost:6520 ด้วย adb.exe ที่คุณใช้อยู่ หากคุณใช้ปลั๊กอิน Android Logcat Unity ให้เลือกเครื่องมือ -> เปิดเทอร์มินัลเพื่อเปิดเทอร์มินัลไปยังไดเรกทอรีที่ adb.exe Unity เดียวกันใช้อยู่

ภาพหน้าจอของ เปิดเทอร์มินัล" ไฮไลต์" style="width: 624.00px" src="img/9101ce3c95fb1aa2.png" 8 size="(max-width: 840px) 100vw, 856px">

7. ปรับเกมของคุณสำหรับ PC

เมื่อเป็นไปได้ ให้พยายามทำการเปลี่ยนแปลงเกมโดยอิงตามเมตริกที่เข้าใจได้โดยไม่จำเป็นต้องเข้าใจแพลตฟอร์ม หรือมีฟีเจอร์บางอย่างปรากฏอยู่ ตัวอย่างเช่น โปรแกรมเล่นใน Android สามารถต่อเมาส์และแป้นพิมพ์หรือต่อกับจอภาพได้ ดังนั้นการเปลี่ยนรูปแบบการควบคุมหรือองค์ประกอบ HUD ให้สอดคล้องกับการกำหนดค่าอุปกรณ์ช่วยให้คุณใช้ประโยชน์จาก Google Play Games บน PC ได้ในแพลตฟอร์มที่รองรับทั้งหมด

หากควรเปลี่ยนตรรกะโดยพิจารณาว่าผู้เล่นอยู่ใน Google Play Games หรือ ChromeOS หรือไม่ สคริปต์นี้จะช่วยให้คุณตรวจพบได้โดยการตรวจสอบฟีเจอร์ของระบบ HPE_EXPERIENCE ดังนี้

using UnityEngine;

public class GoogleDeviceUtilities
{
#if UNITY_ANDROID && !UNITY_EDITOR
    private static AndroidJavaObject PackageManager
    {
        get
        {
            var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
            return currentActivity.Call<AndroidJavaObject>("getPackageManager");
        }
    }

    public static bool IsChromeOS => PackageManager.Call<bool>("hasSystemFeature", "org.chromium.arc");

    public static bool IsGooglePlayGames =>
        PackageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");

    public static bool HasKeyboard
    {
        get
        {
            var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
            var resources = currentActivity.Call<AndroidJavaObject>("getResources");
            var configuration = resources.Call<AndroidJavaObject>("getConfiguration");
            var keyboard = configuration.Get<int>("keyboard");
            return keyboard == 2; // Configuration.KEYBOARD_QWERTY
        }
    }
#else
    public static bool IsChromeOS => false;
    public static bool IsGooglePlayGames => false;
    public static bool HasKeyboard => true;
#endif
}

พีซีมีจอแสดงผลขนาดใหญ่กว่าโทรศัพท์ Android ทั่วไป หากเป็นไปได้ เราขอแนะนำว่า HUD ใช้พื้นที่ไม่เกิน 20% ของหน้าจอ เนื่องจากเกมมือถือหลายเกมใช้ "ปรับขนาดด้วยขนาดหน้าจอ" และเปลี่ยนเป็น "ขนาดจริงคงที่" หรือ "ขนาดพิกเซลคงที่" ก็เป็นก้าวแรกที่ดีในการบรรลุเป้าหมายนี้

ภาพหน้าจอของ

นอกจากนี้ คุณอาจต้องการตั้งค่าคุณภาพแบบไดนามิกโดยใช้คําสั่ง QualitySettings.SetQualityLevel ระหว่างรันไทม์หากตรวจพบว่ากําลังทํางานใน Google Play Games โปรแกรมจำลอง Google Play Games ใช้ ANGLE เพื่อออกคำสั่ง DirectX หรือ Vulkan แบบดั้งเดิมจากการปล่อย OpenGL Unity ดังนั้นคุณมีแนวโน้มที่จะได้กราฟิกเสมือนจริงสูงกว่าที่มีในบิลด์เกมในอุปกรณ์เคลื่อนที่

8. การจัดการอินพุต

การจัดส่งเกมใน Google Play Games ควรสร้างขึ้นจากการป้อนข้อมูลด้วยเมาส์และแป้นพิมพ์ คุณจะต้องวางแผนเกี่ยวกับวิธีโต้ตอบกับเกมด้วยเมาส์และแป้นพิมพ์ ดังนั้นใช้เวลาตั้งแต่ตอนนี้เพื่อรับแพ็กเกจรวม Input SDK หากคุณไม่เห็นไฟล์ที่ดาวน์โหลดในหน้านั้น ให้ตรวจสอบว่าคุณได้ลงชื่อเข้าใช้ด้วยบัญชีในกลุ่ม play-mp-libs แล้ว

ในส่วนของการทดสอบ เกมหลายเกมจะสร้างการควบคุมด้วยเมาส์และแป้นพิมพ์ขั้นพื้นฐานสำหรับการพัฒนาในเครื่องมือแก้ไข คุณอาจต้องการเปิดใช้ฟีเจอร์เหล่านี้เมื่อเรียกใช้บนอุปกรณ์ ChromeOS หรือในโปรแกรมจําลอง Google Play Games

โดยค่าเริ่มต้น Google Play Games และ ChromeOS จะแปลงการป้อนข้อมูลด้วยเมาส์เป็นการแตะที่จำลองขึ้น หากคุณใช้ Input.GetTouch และ Input.touchCount เกมจะทำงานต่อไปตามที่คาดไว้ หากคุณใช้การป้อนข้อมูลด้วยมัลติทัช เช่น การควบคุมด้วยนิ้วมือแบบคู่หรือการบีบนิ้วเพื่อซูม คุณต้องแมปการทำงานกับการกดปุ่ม นอกจากนี้ คุณควรแมปการดำเนินการในเกมกับการกดแป้นด้วย เช่น การกด i เพื่อเปิดพื้นที่โฆษณา, Escape เพื่อปิดกล่องโต้ตอบ และ Enter เพื่อส่งข้อความในเกม

เกมแพลตฟอร์ม 2D แบบ 2D จะใช้ลูกศรเพื่อเคลื่อนที่และกระโดดโดยใช้ Space หากคุณใช้เกมของคุณเอง ให้ตรวจสอบว่าคุณได้เลือกแป้นลัดสำหรับขั้นตอนถัดไป

9. การผสานรวม SDK อินพุต

เมื่อตั้งค่าการควบคุมเมาส์และแป้นพิมพ์แล้ว คุณต้องเพิ่มการรองรับ Input SDK ซึ่งจะช่วยให้ผู้เล่นค้นพบอินพุตบน PC ของคุณด้วยป๊อปอัปที่แสนสะดวก ดังนี้

  1. หลังจากนำเข้า SDK ลงในโปรเจ็กต์แล้ว ให้สร้างไฟล์ชื่อ InputMappingProviderBehaviour.cs และเพิ่มเนื้อหาต่อไปนี้
using System.Collections.Generic;
using Google.Play.InputMapping;
using UnityEngine;
using Input = Google.Play.InputMapping.Input;

public class InputMappingProviderBehaviour : MonoBehaviour
{
    private void Start()
    {
        Input.GetInputMappingClient().RegisterInputMappingProvider(new MyInputMappingProvider());
    }

    private class MyInputMappingProvider : InputMappingProvider
    {
        public InputMap OnProvideInputMap()
        {
            return new InputMap
            {
                InputGroups = new List<InputGroup> { },
                MouseSettings = new MouseSettings
                {
                    InvertMouseMovement = false,
                    AllowMouseSensitivityAdjustment = false
                }
            };
        }
    }

    private enum ActionIds
    {
    }
}
  1. กรอก ActionIds ด้วยรายการการกระทำที่คุณใช้ในเกม สำหรับ Microgame เกมแพลตฟอร์มแบบ 2 มิติ การทำงานคือ ซ้าย ขวา และกระโดด
private enum ActionIds
{
    Left,
    Right,
    Jump
}
  1. ใน OnProvideInputMap ให้สร้าง InputAction สำหรับการดำเนินการแต่ละรายการ สำหรับกรณีนี้ คุณจำเป็นต้องมีชื่อของการทำงาน อินพุต และปุ่มเมาส์หรือรหัสคีย์ที่จะเชื่อมโยงกับการทำงานดังกล่าว สำหรับเกมตัวอย่าง
var leftAction = new InputAction
{
    ActionLabel = "Walk Left",
    UniqueId = (int)ActionIds.Left,
    InputControls = new InputControls
    {
        AndroidKeycodes = new[]
        {
            AndroidKeyCode.KEYCODE_DPAD_LEFT
        }
    }
};

var rightAction = new InputAction
{
    ActionLabel = "Walk Right",
    UniqueId = (int)ActionIds.Right,
    InputControls = new InputControls
    {
        AndroidKeycodes = new[]
        {
            AndroidKeyCode.KEYCODE_DPAD_RIGHT
        }
    }
};

var jumpAction = new InputAction
{
    ActionLabel = "Jump",
    UniqueId = (int)ActionIds.Jump,
    InputControls = new InputControls
    {
        AndroidKeycodes = new[]
        {
            AndroidKeyCode.KEYCODE_SPACE
        }
    }
};
  1. ถัดไป ให้ใส่การดำเนินการป้อนข้อมูลเหล่านี้เป็นกลุ่ม

สำหรับเกมย่อยจะมีแค่กลุ่มเดียว แต่คุณสามารถสร้างกลุ่มได้มากเท่าที่ต้องการเพื่อช่วยให้ผู้เล่นค้นพบการดำเนินการที่ต้องการ เพิ่มใน OnProvideInputMap:

var movementInputGroup = new InputGroup
{
    GroupLabel = "Movement",
    InputActions = new List<InputAction>
    {
        leftAction, rightAction, jumpAction
    }
};
  1. เพิ่มกลุ่มอินพุตทั้งหมดที่คุณสร้างขึ้นลงในแผนที่อินพุต แก้ไขข้อความการคืนสินค้าใน OnProvideInputMap ให้อ่านดังนี้
return new InputMap
{
    InputGroups = new List<InputGroup> { movementInputGroup },
    MouseSettings = new MouseSettings
    {
        InvertMouseMovement = false,
        AllowMouseSensitivityAdjustment = false
    }
};
  1. สุดท้าย ให้เพิ่มสคริปต์ที่คุณสร้างไว้ลงในเกม โดยทำดังนี้

ภาพหน้าจอของโหนดชื่อ

  1. เมื่อคุณทำให้เกมใช้งานได้อีกครั้ง ให้กด Shift+Tab เพื่อเปิดการวางซ้อนในเกม

ภาพหน้าจอของ

  1. คลิกการควบคุมเพื่อดูการควบคุมที่คุณกำหนดค่าไว้

ภาพหน้าจอของ

10. นำข้อมูลพร็อพเพอร์ตี้เว็บที่ฝังออก

คุณควรนำมุมมองเว็บแบบฝังออกเพื่อให้ผู้เล่นได้รับประสบการณ์ที่ยอดเยี่ยม การใช้มุมมองเว็บที่ฝังไว้ในการแสดงผลรายการต่างๆ เช่น นโยบายความเป็นส่วนตัวหรือข้อกำหนดในการให้บริการถือเป็นเรื่องปกติ แม้ว่าจะใช้ได้ใน Google Play Games แต่จะปรากฏใน "อุปกรณ์เคลื่อนที่" ที่ฝังอยู่ แทนที่จะเป็นเบราว์เซอร์บนเดสก์ท็อปที่ผู้เล่นต้องการ และอาจทำให้ผู้เล่น PC เกิดความสับสน ดังนั้นใน Unity หากคุณใช้ส่วนขยายเพื่อแสดงเบราว์เซอร์ที่ฝัง ให้กลับไปใช้ Application.OpenURL(url)

11. สิทธิ์และฟีเจอร์

มีฟีเจอร์และสิทธิ์ของ Android จำนวนหนึ่งที่ Google Play Games ไม่รองรับ หลักการทั่วไปคือบิลด์ PC ของคุณจะต้องไม่แสดงกล่องโต้ตอบการให้สิทธิ์ ข้อดีที่ต้องทำคือ เมื่อคุณมีบิลด์พร้อมแล้ว ดำเนินการติดตั้งใหม่ตามปกติและเขียนกล่องโต้ตอบที่คุณเห็นเพื่อเพิ่มลงใน "สิ่งที่ต้องทำ" สำหรับส่งเกมของคุณ

เกม Unity บางเกมขอสิทธิ์โดยใช้ Android.Permission API คุณควรรวมรายการเหล่านี้ไว้ในการตรวจสอบ if (GoogleDeviceUtilities.IsGooglePlayGames) รายการและไปยังตรรกะแสดงความล้มเหลวโดยตรง (หากมี)

12. การเพิ่มประสิทธิภาพเดสก์ท็อป

Google Play Games มีความแตกต่างเล็กน้อยเมื่อเทียบกับโทรศัพท์ Android ทั่วไป และคุณอาจต้องการกำหนดค่าเกมให้สอดคล้องกัน

เปลี่ยนไปใช้ DXT เพื่อบีบอัดพื้นผิว รูปแบบพื้นผิว Android ทั่วไป เช่น ETC จะถอดรหัสในหน่วยความจำขณะรันไทม์หากส่งผ่านไปยัง GPU ของโปรแกรมเล่นโดยตรงไม่ได้ ASTC ให้ความเข้ากันได้กับเดสก์ท็อปที่ดีที่สุด แม้ว่าคุณจะต้องใช้เครื่องมือการทำโปรไฟล์ GPU บนเดสก์ท็อปเพื่อยืนยันลักษณะการทำงานที่คาดไว้สำหรับเกมของคุณ

เอกภาพ

เนื่องจากตอนนี้คุณกำลังทำงานบน GPU บนเดสก์ท็อป คุณอาจต้องเพิ่มคุณภาพกราฟิกของคุณด้วย คุณปรับเปลี่ยนได้โดยตรงในการตั้งค่าโครงการในส่วนคุณภาพ

ภาพหน้าจอของ

13. ขอแสดงความยินดี

คุณมีทุกอย่างพร้อมแล้วสำหรับการเริ่มพัฒนาเกมสำหรับ Google Play Games คุณเริ่มทดสอบและทำซ้ำในเกมได้ อย่าลืมว่าแม้ว่าคุณจะสามารถเก็บฐานของโค้ดเดิมได้ แต่คุณก็ต้องปรับเปลี่ยนเกมของคุณให้ดูเหมือนกับเกม PC เดิมๆ

สิ่งที่ต้องทำต่อไป

ยังมีสิ่งที่ต้องทำอีกมากมายในการจัดส่งเกมใน Google Play Games ดังนี้

สุดท้ายนี้ งานส่วนใหญ่ที่คุณทำมาจนถึงจุดนี้เพื่อสนับสนุน Google Play Games ยังช่วยให้คุณจัดจำหน่ายบน ChromeOS ด้วย และคุณควรพิจารณารองรับแพลตฟอร์มดังกล่าวควบคู่กับ PC