Efek blur untuk UGUI juga efektif untuk gambar ATLAS dengan font dinamis.
Efek blur untuk UGUI yang efektif bahkan untuk gambar Atlas termasuk font dinamis.
<< Deskripsi | Demo Webgl | Unduh | Penggunaan | Catatan Pembangunan >>

Plugin ini mengurangi artefak umum (= produk sampingan, kebisingan) yang dapat terjadi dalam efek blur untuk UGUI.
Kami akan menyelesaikan dua artefak berikut:
Catatan: Nama artefak sesuai.
Plug-in ini mengurangi artefak umum dalam efek blur untuk UGUI.
Plug-in ini menyelesaikan dua artefak berikut.
Catatan: Saya tidak tahu apakah nama artefak adalah nama yang tepat;)

Efek blur menggabungkan beberapa texel dengan fragmen shader berdasarkan kernel.
Artefak akan terjadi ketika merujuk UV di sprite yang berdekatan, karena ukuran kernel besar atau ukuran bantalan kecil di atlas.
Efek blur menggabungkan beberapa texel berdasarkan ukuran kernel, di fragmen shader.
Artefak akan terjadi ketika merujuk UV sprite yang berdekatan, misalnya karena ukuran kernel besar atau ukuran bantalan atlas kecil.

Topeng UV yang dapat direferensikan untuk setiap simpul.
Untuk UI, ini cocok dengan rentang sprite dan karakter UV.
Jika Anda merujuk ke UV yang terbuka kedok (= jika Anda merujuk ke UV di luar jangkauan), Texel dianggap mengembalikan warna (0,0,0,0) dari warna.
Untuk setiap simpul, mask UV yang dapat dirujuk oleh simpul.
Dalam kasus elemen UI, itu akan cocok dengan kisaran UV sprite atau karakter.
Saat mengacu pada UV yang terbuka kedok, Texel mengembalikan warna (0,0,0,0) .
float4 mask; // xy: minimum uv, zw: maximum uv.
float2 uv;
float4 color = tex2D(_MainTex, uv)
* step(mask.x, uv.x)
* step(mask.y, uv.y)
* step(uv.x, mask.z)
* step(uv.y, mask.w);

Piksel yang dapat ditarik dengan shader fragmen dihasilkan oleh rasterisasi.
Biasanya, shader UI tidak menarik area di luar mesh yang diberikan.
Ketika ukuran kernel besar atau margin sprite kecil, "artefak yang tampaknya terpotong dalam mesh" akan terjadi.
Piksel yang dapat diterjemahkan dengan shader fragmen dihasilkan oleh rasterisasi.
Dalam kebanyakan kasus, shader UI tidak menarik area di luar mesh yang diberikan.
Ketika ukuran kernel besar atau margin sprite kecil, "artefak yang terlihat seperti terpotong oleh mesh" akan terjadi.

Vertikal pada pinggiran diperluas di luar dengan UV, memperluas area gambar.
Solusi ini tidak meningkatkan jumlah simpul. Ini juga efektif untuk "9-sliced" dan "ubin".
Perluas area gambar dengan memperluas koordinat dan UV simpul di sisi luar.
Solusi ini tidak meningkatkan jumlah simpul. Ini juga tersedia untuk "9-slice" dan "ubin".
Demo webgl
Import Package > Custom Package dari menu Assets .TexCoord1 dari kanvas. Lihat juga Catatan Pengembangan.UIBlurringAtlas ke elemen UI (gambar, rawimage, teks, dll ...) dari Add Component di Inspektur. Dalam Unity 5.6+, Canvas mendukung saluran shader tambahan .
Harap aktifkan TexCoord1 untuk menggunakan plugin ini. 
Lihat UiefFect.
Plugin ini menggunakan 12bit (4096 langkah) untuk setiap elemen kisaran UV (uMin, vMin, uMax, vMax) dan memberikannya ke simpul UV1. (Inilah sebabnya mengapa saluran TexCoord1 harus diaktifkan di Unity 5.6+.)
Plugin ini menggunakan 12bit (4096 langkah) untuk setiap elemen kisaran UV (uMin, vMin, uMax, vMax) dan memberikannya ke simpul UV1. (Dalam Unity 5.6+, itu adalah alasan untuk mengaktifkan saluran TexCoord 1 )
uiVertex.uv1 = new Vector2( Packer.ToFloat(uMin, vMin), Packer.ToFloat(uMax, vMax) );
Dengan menerapkan teknik ini, ekspresi menggunakan pergeseran UV (efek cahaya, bayangan lembut, dll.) Juga dapat digunakan untuk elemen UGUI saja.
Kami akan melepaskan efek cahaya nanti.
Dengan menerapkan teknik ini, efek menggunakan pergeseran UV (seperti efek cahaya atau bayangan lunak) dapat digunakan untuk elemen UGUI tunggal.
Saya akan melepaskan efek cahaya nanti.
(WIP) 
Mob-Sakai