All Products
Search
Document Center

Container Service for Kubernetes:Praktik Terbaik Unity Remote Rendering

Last Updated:Mar 06, 2026

Topik ini menjelaskan cara menggunakan Unity remote rendering.

Informasi latar belakang

Unity Render Streaming adalah solusi open-source dari Unity untuk merender model 3D berkualitas tinggi dan kompleks di cloud, lalu menampilkannya di perangkat seluler atau browser. Dengan meng-container-kan aplikasi Unity menggunakan Unity Render Streaming, Anda dapat merender frame di cloud dan mengalirkannya secara real time ke browser, sehingga memungkinkan skenario cloud gaming. Untuk informasi lebih lanjut tentang Unity Render Streaming, lihat UnityRenderStreaming.

Langkah 1: Kembangkan aplikasi Unity Render Streaming menggunakan Unity Editor

Topik ini menggunakan Unity Editor versi 2021.3.2f1c1 untuk Mac M1 Silicon sebagai contoh.

  1. Di Unity Editor, klik . Di pojok kiri atas, klik .
  2. Masukkan com.unity.renderstreaming@3.1.0-exp.2, lalu klik Add.
  3. Pada kotak dialog yang muncul, klik Yes untuk me-restart proyek.
    Setelah restart, paket Unity Render Streaming diimpor dan tersedia di halaman Package Manager.Unity Render Streaming package
  4. Di halaman Package Manager, pada bagian Samples, klik Import untuk mengimpor contoh resmi.
    Topik ini mengimpor contoh resmi (1,19 MB). Setelah pengimporan selesai, folder Assets diperbarui.Assets
  5. Di pojok kiri atas halaman, klik . Atur Platform ke Windows, Mac, Linux, Target Platform ke Linux, dan Scenes ke WebBrowserInput. Klik Build dan beri nama build tersebut mac-linux.
    Setelah proses build selesai, struktur direktori file akan tampak seperti berikut:Build
  6. Di pojok kiri atas halaman, klik untuk mengunduh aplikasi server web.
    Selain mem-build aplikasi Unity, Anda juga harus menyiapkan server web yang sesuai agar browser dapat mengakses frame yang telah dirender. Topik ini menggunakan contoh resmi, sehingga Anda dapat langsung mengunduh server web resmi tersebut.
    Setelah pengunduhan selesai, aplikasi remote rendering Anda telah lengkap, mencakup file yang dapat dieksekusi Unity dan aplikasi server web. Untuk opsi implementasi lainnya terkait Render Streaming, lihat About Unity Render Streaming.

Langkah 2: Containerize dan deploy aplikasi

Eksperimen ini menggunakan lingkungan berikut:
  • Kluster: Kluster ACK yang dikelola, versi 1.22.3-aliyun.1.
  • Sistem operasi node pool: Alibaba Cloud Linux 2.1903.
  • Tipe instance: ecs.gn6v-c8g1.2xlarge.
  • Docker Engine: 19.3.15.
  1. Containerize aplikasi Unity dan server web-nya.
    1. Containerize aplikasi Unity. Untuk langkah-langkah detail, lihat Praktik Terbaik Aplikasi Grafis Linux.
      Pilih versi gambar dasar yang tepat. Untuk daftar versi yang tersedia, lihat Editor. Topik ini menggunakan ubuntu-2021.3.2f1-mac-mono-1.0.1 sebagai gambar dasar dan menginstal paket dependensi berikut: vulkan-util, libc++1, dan libc++abi1.
    2. Containerize server web.
      Proses containerisasi server web mengikuti praktik standar untuk aplikasi web. Berikut ini contoh Dockerfile:
      FROM ubuntu:20.04
      WORKDIR /run
      COPY webserver ./
      CMD webserver -w
  2. Buat dan deploy file YAML.
    1. Buat file bernama unity-demo.yaml dengan konten berikut.
      Setelah Anda membuat image aplikasi Unity dan server web, deploy ke kluster ACK Anda. Gunakan contoh YAML berikut sebagai referensi dan sesuaikan berdasarkan Praktik Terbaik Aplikasi Grafis Linux.
      apiVersion: v1
      kind: Pod
      metadata:
        name: unity-demo
        namespace: default
      spec:
        # Contoh server web Linux hanya mengekspos WebSocket pada 127.0.0.1. Agar browser dapat terhubung melalui WebSocket, gunakan mode host network dan akses host melalui EIP.
        hostNetwork: true
        nodeName: xxx
        containers:
        - image: xxx:xx
          name: unity
          command: ["/run/mac-linux/mac-linux.x86_64"]
          securityContext:
            privileged: true
        - image: xxx:xx
          name: webserver
          ports:
          - containerPort: 80
            protocol: TCP
        restartPolicy: Always
      Tempatkan kedua container dalam satu Pod dan bagikan namespace jaringan. Demo Unity terhubung ke server web melalui 127.0.0.1:80 menggunakan WebSocket. Server web mengekspos port 80 untuk menerima koneksi dari browser.
    2. Jalankan perintah berikut untuk mendeploy Pod.
      kubectl apply -f unity-demo.yaml

Langkah 3: Akses layanan dan lihat hasil remote rendering

Di browser Anda, buka EIP:80 pada host, lalu klik VideoPlayer Sample. Hasilnya akan tampak seperti berikut:
Catatan Pengujian berulang menunjukkan bahwa performa real-time bergantung pada kondisi jaringan Anda. Saat jaringan stabil, tersendat jarang terjadi.