Jaringan Manager HUD dalam mode matchmaker
Informasi Debugging

Mengkonversi permainan pemain tunggal ke Unity Multiplayer

Important: UNet adalah solusi yang diuraikan, dan Solusi Multiplayer baru dan NetworkingSistem Unity yang memungkinkan game multiplayer di jaringan komputer. More info
Lihat di Glossary
(Netcode untuk GameObjects) sedang berkembang. Untuk informasi lebih lanjut dan langkah selanjutnya melihat informasi di .

Dokumen ini menjelaskan langkah-langkah untuk mengkonversi permainan pemain tunggal ke permainan multiplayer, menggunakan sistem jaringan Multiplayer Unity baru. Proses yang dijelaskan di sini adalah versi yang sederhana dan lebih tinggi dari proses aktual untuk permainan nyata; itu tidak selalu bekerja persis seperti ini, tetapi memberikan resep dasar untuk proses.

WordPress.org

  • Tambahkan GameObjectObjek mendasar dalam adegan Unity, yang dapat mewakili karakter, props, pemandangan, kamera, waypoints, dan banyak lagi. Fungsi GameObject didefinisikan oleh Komponen yang melekat padanya. More info
    Lihat di Glossary
    baru ke SceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
    Lihat di Glossary
    dan nama ulang "NetworkManager".
  • Tambahkan komponen NetworkManager ke "NetworkManager" GameObject.
  • Tambahkan komponen NetworkManagerHUDLogin Komponen jaringan yang membuat menu UI yang memungkinkan Anda untuk mengontrol keadaan jaringan permainan Anda menggunakan Manajer Jaringan Anda. More info
    Lihat di Glossary
    ke GameObject. Ini menyediakan default UI(User Interface) Memungkinkan pengguna untuk berinteraksi dengan aplikasi Anda. Unity saat ini mendukung tiga sistem UI. More info
    Lihat di Glossary
    untuk mengelola keadaan permainan jaringan.

See Menggunakan NetworkManager.

Pemain PrefabJenis aset yang memungkinkan Anda untuk menyimpan GameObject lengkap dengan komponen dan properti. Prefab bertindak sebagai template dari mana Anda dapat membuat instance objek baru di tempat kejadian. More info
Lihat di Glossary
set-up

  • Temukan Prefab untuk pemain GameObject dalam permainan, atau membuat Prefab dari pemain GameObject
  • Tambahkan komponen NetworkIdentityKomponen Jaringan yang memungkinkan Anda untuk menetapkan identitas ke GameObject Anda untuk jaringan untuk mengenalinya sebagai GameObject Pemain Lokal atau Server Hanya GameObject. More info
    Lihat di Glossary
    ke pemain Prefab
  • Cek kotak LocalPlayerAuthority di JaringanIdentitas
  • Mengatur playerPrefab di bagian Spawn Info NetworkManager ke pemain Prefab
  • Hapus pemain GameObject instance dari adegan jika ada di tempat kejadian

Lihat Tujuan PemainObjek API Tingkat Tinggi (HPAPI) yang mewakili pemain di server dan memiliki kemampuan untuk menjalankan perintah (yang mengamankan panggilan prosedur jarak jauh klien-to-server) dari klien pemain. More info
Lihat di Glossary
untuk informasi lebih lanjut.

Gerakan pemain

  • Menambahkan komponen NetworkTransform ke pemain Prefab
  • Memperbarui input dan kontrol scriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
    Lihat di Glossary
    untuk menghormati isLocalPlayer
  • Perbaiki CameraKomponen yang menciptakan gambar sudut pandang tertentu di tempat kejadian Anda. Output ditarik ke layar atau ditangkap sebagai tekstur. More info
    Lihat di Glossary
    untuk menggunakan pemain spawned dan isLocalPlayer

Misalnya, script ini hanya memproses input untuk pemain lokal:

using UnityEngine;
using UnityEngine.Networking;

public class Controls : NetworkBehaviour
{
    void Update()
    {
        if (!isLocalPlayer)
        {
            // exit from update if this is not the local player
            return;
        }

        // handle player input for movement
    }
}

status permainan pemain dasar

  • Membuat skrip yang mengandung data penting ke JaringanBehaviours bukan MonoBehaviours
  • Membuat variabel anggota penting menjadi SyncVars

See Sinkronisasi Negara.

Tindakan jaringan

  • Membuat skrip yang melakukan tindakan penting ke JaringanBehaviours bukan MonoBehaviours
  • Memperbarui fungsi yang melakukan tindakan pemain penting untuk menjadi perintah

See Aksi Jaringan.

Non-pemain GameObjects

Memperbaiki prefab non-pemain seperti musuh:

  • Tambahkan komponen NetworkIdentify component
  • Tambahkan komponen NetworkTransformKomponen Jaringan yang memungkinkan Anda untuk menyinkronkan pergerakan GameObjects di jaringan. More info
    Lihat di Glossary
    component
  • Daftar spawnable Prefabs dengan NetworkManager
  • Memperbarui skrip dengan keadaan permainan dan tindakan

Spawners

  • Secara potensial mengubah skrip pemijat menjadi JaringanBehaviours
  • Memodifikasi pemijat hanya berjalan di server (menggunakan properti Server atau fungsi OnStartServer())
  • Call NetworkServer.Spawn() untuk membuat GameObjects

Posisi Spawn untuk pemain

  • Tambahkan GameObject baru dan letakkan di lokasi awal pemain
  • Tambahkan komponen NetworkStartPosition ke GameObject baru

Lobby

  • Buat adegan lobi
  • Tambahkan GameObject baru ke Adegan dan nama kembali ke "NetworkLobbyManager".
  • Tambahkan komponen NetworkLobbyManager ke GameObject baru.
  • Konfigurasikan Manager:
    • Scenes
    • Prefabs
    • Spawners
Jaringan Manager HUD dalam mode matchmaker
Informasi Debugging