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.
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; }
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; }
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.
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); }
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; }
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!