Tukar resolusi permainan

Laman dikemaskini :
Tarikh penciptaan halaman :

Persekitaran pengesahan

Windows
  • Windows 11
Penyunting Perpaduan
  • 2021.3.1F1
Pakej Sistem Input
  • 1.3.0

Prasyarat untuk petua ini

Tetapan berikut telah diprakonfigurasi sebagai prasyarat untuk penjelasan petua ini.

Menentukan resolusi pada permulaan permainan

Anda boleh mengesetkan resolusi pada permulaan permainan daripada seting projek. Walau bagaimanapun, terdapat sekatan seperti andaian mod tetingkap, jadi jika anda ingin menetapkannya dengan pasti, saya fikir tetapan oleh program yang diterangkan kemudian lebih dipercayai.

Untuk melakukan ini, pilih Edit -> Seting Projek daripada menu.

Pilih "Pemain" daripada menu di sebelah kiri.

Di bahagian bawah, anda boleh mencari tetapan untuk setiap persekitaran. Contohnya, jika ikon paparan di sebelah kiri ialah tetapan persekitaran PC seperti Windows.

"Resolusi dan Paparan" runtuh di dalam, jadi klik untuk mengembangkannya, dan pilih "Windowed" dari "Mod Skrin Penuh" dalam kumpulan resolusi.

Kemudian "Lebar skrin lalai" dan "Ketinggian skrin lalai" akan dipaparkan, jadi anda boleh menetapkan resolusi (= saiz skrin) di sini. Tetapan ini hanya boleh ditetapkan dalam mod tetingkap.

Terdapat tetapan dalam persekitaran lain, jadi sila semak mereka. Gambar rajah berikut menunjukkan konfigurasi dalam WebGL. Resolusi = saiz kanvas.

Jalankan dan sahkan

Saya tidak dapat menyemak sama ada ia betul walaupun saya menjalankannya dalam Editor Perpaduan, jadi saya akan mengeluarkan permainan dan menyemaknya. Untuk arahan terperinci, lihat Petua untuk Output Permainan .

Pastikan ia dipaparkan pada saiz skrin yang ditentukan.

Walau bagaimanapun, walaupun anda menukar nilai saiz, saiznya mungkin tidak berubah. Ini kerana permainan itu sendiri mengingati resolusi sebelumnya. Jika anda ingin memastikan bahawa paparan berada pada resolusi yang ditentukan, lebih dipercayai untuk mengubahnya dengan program yang diterangkan di bawah.

Mengubah resolusi daripada program

Di sini, saya ingin menyediakan skrin berikut dan mengawalnya secara programatik supaya resolusi berubah apabila setiap butang diklik. Untuk maklumat lanjut tentang cara mengendalikan UI dan butang, lihat Petua UI .

Berikut ialah perkara yang berlaku apabila anda mengklik setiap butang:

using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  public void OnClick_960x540()
  {
    // 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
    // ウィンドウモードの場合、ウィンドウサイズも変わる
    Screen.SetResolution(960, 540, FullScreenMode.Windowed, 60);
  }
  public void OnClick_1280x720()
  {
    // 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
    // ウィンドウモードの場合、ウィンドウサイズも変わる
    Screen.SetResolution(1280, 720, FullScreenMode.Windowed, 60);
  }
  public void OnClick_1600x900()
  {
    // 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
    // ウィンドウモードの場合、ウィンドウサイズも変わる
    Screen.SetResolution(1600, 900, FullScreenMode.Windowed, 60);
  }
}

Untuk dua kaedah bawah, satu-satunya perbezaan ialah nombor resolusi.

Screen.SetResolution Anda boleh menukar resolusi dengan menentukan "lebar resolusi (px)", "ketinggian resolusi (piksel)", "mod skrin penuh", dan "kadar segar semula (Hz)" dalam argumen kaedah, masing-masing.

Kali ini, ia akan ditetapkan dalam mod tetingkap, tetapi ia boleh ditetapkan dengan cara yang sama dalam mod skrin penuh.

Jika anda ingin memaksanya ditetapkan apabila permainan bermula, saya fikir anda boleh mengendalikannya dengan kaedah skrip yang dilampirkan pada beberapa objek dalam awake adegan pertama.

Jalankan dan sahkan

Saya fikir anda dapat melihat bahawa mengklik setiap butang mengubah resolusi (+ saiz tetingkap).