Rumah > hujung hadapan web > html tutorial > Analisis mendalam tentang mod pemaparan Kanvas

Analisis mendalam tentang mod pemaparan Kanvas

PHPz
Lepaskan: 2024-01-17 09:32:13
asal
894 orang telah melayarinya

Analisis mendalam tentang mod pemaparan Kanvas

Penjelasan terperinci tentang renderMode Canvas, contoh kod khusus diperlukan

Dalam Unity, Canvas ialah komponen paling asas dan utama untuk melaksanakan UI 2D. Kanvas mempunyai dua mod berbeza semasa proses pemaparan: Ruang Skrin dan Ruang Dunia. Mod pemaparan ini akan lebih sesuai dalam situasi tertentu, dan kita perlu memilih mod yang berbeza berdasarkan keperluan projek. Dalam artikel ini, kami akan menumpukan pada dua mod pemaparan Kanvas dan cara menggunakannya.

  1. Ruang Skrin

Ruang Skrin ialah mod pemaparan paling asas bagi Kanvas Ia memaparkan terus ke skrin dan melukis elemen UI pada skrin. Apabila objek dalam adegan bergerak atau berputar, kedudukan elemen UI tidak boleh mengikuti perubahan yang sepadan. Oleh itu, mod ini paling sesuai untuk antara muka UI tetap, seperti menu utama permainan, tetapan, dsb.

1.1 Mod tindanan

Mod tindanan ialah mod pemaparan Ruang Skrin Elemen UI dalam mod ini akan berada dalam lapisan bebas dalam pemandangan dan tidak akan berinteraksi dengan objek 3D lain dalam pemandangan. Apabila kamera bergerak, lapisan elemen UI ini akan sentiasa berada di hadapan. Dalam mod Tindanan, susunan pemaparan kanvas ditentukan oleh tahap komponen kanvas dalam panel hierarki.

Berikut ialah kod sampel:

public Canvas overlayCanvas;

void Start()
{
    overlayCanvas.sortingOrder = 10;
}
Salin selepas log masuk

Dalam contoh ini, kami menentukan kedudukan kanvas ini dalam baris gilir pemaparan dengan menetapkan sifat Susun Isih bagi komponen kanvas.

1.2 Mod Kamera

Mod kamera ialah satu lagi mod pemaparan biasa dalam Ruang Skrin. Dalam mod Kamera, elemen UI terikat pada objek kamera bebas dan kamera hanya memaparkan objek yang berkaitan dengan kanvas UI dan bukannya memaparkan keseluruhan skrin. Mod pemaparan ini biasanya digunakan apabila kesan kamera atau oklusi diperlukan.

Berikut ialah kod sampel:

public Canvas cameraCanvas;

void Start()
{
    Camera camera = GetComponent<Camera>();
    camera.targetDisplay = 1;
    cameraCanvas.worldCamera = camera;
}
Salin selepas log masuk

Dalam contoh ini, kami mencipta dan menyediakan kamera bebas dalam tempat kejadian, dan kemudian menetapkan objek kamera kepada sifat worldCamera bagi Kanvas supaya elemen UI hanya memaparkan imej diperhatikan melalui kawasan kamera.

  1. World Space

Mod World Space ialah satu lagi mod pemaparan Kanvas, yang berdasarkan pemaparan ruang 3D. Berbanding dengan mod Ruang Skrin, dalam mod Ruang Dunia, elemen UI akan berubah dengan sewajarnya apabila objek dalam adegan bergerak dan berputar, dan boleh berinteraksi dengan objek 3D lain dalam pemandangan. Dalam kes ini, UI adegan biasanya cenderung digunakan semasa pembinaan adegan.

2.1 Mod Tindanan

Mod Tindanan juga disokong dalam Angkasa Dunia. Berbanding dengan Tindanan Ruang Skrin, dalam Tindanan Ruang Dunia, kanvas dan elemen UI berada dalam ruang 3D yang sama dengan objek pemandangan, dan unsur UI dipaparkan pada satah di mana skrin berada.

Berikut ialah kod sampel:

public Canvas worldCanvas;

void Start()
{
    worldCanvas.renderMode = RenderMode.WorldSpace;
    worldCanvas.transform.position = new Vector3(0f, 0f, 10f);
}
Salin selepas log masuk

Dalam contoh ini, kami menetapkan mod pemaparan komponen Kanvas kepada WorldSpace untuk membuat elemen UI berubah dengan objek dalam pemandangan.

2.2 Mod Kamera

Mod kamera juga sesuai untuk mod Angkasa Dunia, dan dalam sesetengah kes, menggunakan mod Kamera boleh mengoptimumkan prestasi dengan sangat baik. Dalam mod Kamera, elemen UI hanya dipaparkan dalam kawasan kelihatan kamera yang terikat pada Kanvas. Kaedah tetapan yang agak kompleks ini menjadikan mod Kamera sangat baik dalam operasi UI yang besar dalam UDP pemandangan 3D, seperti tindakan kamera, penukaran pemandangan, dsb.

Berikut ialah kod sampel:

public Canvas worldCanvas;
public Camera canvasCamera;

void Start()
{
    worldCanvas.renderMode = RenderMode.WorldSpace;
    worldCanvas.worldCamera = canvasCamera;
}
Salin selepas log masuk

Dalam contoh ini, kami menetapkan mod pemaparan Kanvas kepada WorldSpace, dan kemudian menetapkan worldCamera of Canvas kepada Kamera terikat untuk mencapai sejumlah besar interaksi UI dan operasi 3D adegan. .

Ringkasan

Melalui penjelasan di atas, kita boleh mengetahui bahawa Kanvas mempunyai dua mod pemaparan: Ruang Skrin dan Ruang Dunia, dan setiap mod menyokong dua kaedah pemaparan berbeza: Tindanan dan Kamera. Cara memilih mod pemaparan dalam mod tertentu bergantung pada keperluan pemandangan aplikasi. Saya berharap melalui artikel ini, semua orang akan mendapat pemahaman yang lebih terperinci tentang penggunaan Kanvas dalam Perpaduan.

Atas ialah kandungan terperinci Analisis mendalam tentang mod pemaparan Kanvas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan