Dasar-dasar Grafik Unity Shader

gambar

Shader adalah program kecil yang berisi instruksi untuk GPU. Ini menjelaskan cara menghitung warna layar untuk bahan tertentu.

Meskipun Unity memiliki Standard Shader, kadang-kadang Anda perlu menerapkan efek yang tidak mampu dimiliki oleh shader standar.

Sebelumnya, pengetahuan yang diperlukan tentang bahasa shader tertentu, seperti Cg atau HLSL, dan pendekatan di dalamnya sedikit berbeda dari pembuatan skrip gameplay biasa. Bagi banyak orang, menulis shader adalah aspek yang tidak populer dalam pengembangan game, karena hal itu membutuhkan pengembangan kurva belajar tambahan.

Unity memperkenalkan Shader Graph , yang membuatnya lebih mudah untuk menulis shader dengan hampir tanpa kode. Yang terbaik dari semuanya, Shader Graph memungkinkan Anda bekerja dengan antarmuka interaktif visual.

Dalam tutorial ini, Anda akan membuat shader Unity pertama Anda!

Mulai bekerja


Tutorial ini menggunakan Unity versi 2019.1 atau lebih baru. Unduh versi baru Unity di sini .

Catatan : meskipun tutorial ini ditujukan untuk pemula di Shader Graph, diasumsikan bahwa Anda mengetahui dasar-dasar pengembangan di Unity dan telah menguasai antarmuka mesin. Jika Anda baru mengenal Unity, lihat tutorial Memulai In Unity yang luar biasa .

Unduh materi tutorial di sini . Kemudian unzip konten dan buka Intro to Shader Graph Starter in Unity.

Folder RW di jendela Proyek disusun sebagai berikut:

  • Font : Font yang digunakan dalam adegan.
  • Bahan : bahan untuk adegan itu.
  • Model : Jejaring 3D untuk bentuk dan latar game.
  • PostFX : efek post-processing untuk rendering adegan.
  • Rak pabrikan : berbagai komponen yang dibuat sebelumnya.
  • Adegan : adegan game.
  • Script : skrip dengan logika game.
  • Shader : Grafik Shader dibuat untuk tutorial ini.
  • Sprite : sprite yang digunakan sebagai bagian dari instruksi.
  • Tekstur : peta tekstur untuk bentuk dan latar belakang gim.

Sekarang muat adegan TangramPuzzle dari folder Adegan .


Ini adalah gim sederhana bernama Tangram , yang muncul di Cina pada abad ke-19. Tugas pemain adalah menggerakkan tujuh bentuk geometris datar, menjadikannya pictograms atau siluet bergaya.

Luncurkan mode Putar di editor dan uji coba game demo.

Anda dapat mengklik bentuk dan menariknya. Gunakan tombol arah untuk memutar bentuk. Putar dan geser bentuk agar tidak saling tumpang tindih.

Bisakah Anda mengetahui cara memindahkan tujuh bentuk untuk membuat pola seperti itu?


Jadi, dari sudut pandang teknis , gim ini berfungsi, tetapi tidak memberikan umpan balik visual tentang gambar yang dipilih.

Bagaimana jika kita bisa membuat bentuknya bersinar ketika mouse melewatinya? Ini akan meningkatkan antarmuka pengguna.


Dan ini adalah kesempatan besar untuk menunjukkan kemampuan Grafik Shader!

Memeriksa parameter pipa untuk Grafik Shader


Grafik Shader hanya berfungsi dengan Pipeline Render Skrip yang relatif baru, yaitu dengan Pipa Render Definisi Tinggi atau dengan Pipa Render Ringan .

Saat membuat proyek baru untuk bekerja dengan Grafik Shader, pilih templat yang benar.


Proyek sampel sudah dikonfigurasi untuk bekerja dengan Pipa Render Ringan . Pertama, konfirmasikan dalam PackageManager bahwa Anda telah menginstal RP Ringan dan ShaderGraph dengan memilih Window ► PackageManager .

Kemudian pilih salah satu versi yang tersedia dan, jika perlu, klik tombol Perbarui ke . Biasanya opsi terbaik adalah versi terverifikasi terbaru.


Setelah memperbarui paket, hati-hati memeriksa kebenaran parameter pipa di Edit ► Pengaturan Proyek .

Pada tab Grafik , parameter Pengaturan Pipeline Scriptable Render harus diatur ke LWRP-HighQuality . Berkat ini, proyek akan menggunakan pengaturan default tertinggi untuk Pipa Render Ringan.

Setelah memastikan bahwa Anda menggunakan salah satu aset Scriptable Render Pipeline , tutup jendela ini.

Membuat Grafik PBR


Saat merender mesh 3D ke layar, materi dan shader selalu bekerja bersama. Karena itu, sebelum mulai membuat shader, kita membutuhkan bahan.

Pertama, klik tombol Create di jendela Project untuk menghasilkan material baru di folder RW / Material . Pilih Buat ► Bahan , lalu ganti namanya menjadi Glow_Mat .

Kemudian, di folder RW / Shaders , buat Grafik PBR dengan memilih Buat ► Shader ► Grafik PBR . Ini adalah grafik shader yang mendukung rendering akurat secara fisik , atau PBR.

Beri nama HighlightShaderGraph .


Material Glow_Mat sejauh ini menggunakan shader standar untuk LightweightRenderPipeline yang disebut LightweightRenderPipeline / Lit.


Ubah ke grafik shader baru yang baru dibuat. Dengan Glow_Mat dipilih, klik pada menu drop-down Shader di bagian atas inspektur dan pilih Shader Graphs ► HighlightShaderGraph .

Glow_Mat akan memiliki warna abu-abu yang sedikit lebih terang, tetapi jika tidak, akan tetap kusam. Jangan khawatir, kami akan segera memperbaikinya.

Sekarang klik dua kali pada aset HighlightShaderGraph atau klik pada Open Shader Editor di inspektur. Ini akan membuka jendela Grafik Shader .


Lihat bagian utama antarmuka ini:

  • Ruang kerja utama adalah area abu-abu gelap tempat operasi grafik akan disimpan. Anda dapat mengklik kanan pada ruang kerja untuk membuka menu konteks.
  • Node adalah elemen tunggal grafik. Setiap node memiliki input, output, atau operasi, tergantung port-nya. Node terhubung satu sama lain menggunakan tepi .
  • Master node adalah simpul output terakhir dari grafik. Dalam contoh ini, kami menggunakan opsi render yang akurat secara fisik, juga disebut PBR Master node. Anda mungkin memperhatikan properti tertentu di dalamnya, seperti Albedo, Normal, Emission, dan Metallic, yang digunakan dalam Standard Shader.
  • Papan tulis dapat memberikan akses ke bagian grafik tertentu di inspektur. Ini memungkinkan pengguna untuk mengonfigurasi parameter tanpa secara langsung mengedit grafik itu sendiri.
  • Pratinjau Utama secara interaktif menampilkan output shader saat ini sebagai sebuah bola.

Dengan menghubungkan berbagai node, Anda dapat membuat grafik shader yang dikompilasi dan ditransfer Unity ke GPU.

Membuat simpul Warna


Pertama, mari kita beri warna dasar pada shader. Untuk melakukan ini, hubungkan simpul warna dengan komponen Albedo dari simpul PBR Master. Klik kanan pada ruang kerja untuk membuat simpul pertama dari menu konteks dengan memilih Create Node ► Input ► Basic ► Color .


Perhatikan bahwa ada ratusan node di menu Create Node ! Pada awalnya tampaknya membingungkan, tetapi Anda akan segera menemukan yang paling aktif digunakan.

Selanjutnya, seret node ke ruang kerja, berpegang pada bar judulnya. Kemudian tinggalkan di suatu tempat di sebelah kiri node Master PBR .

Node Warna memungkinkan Anda menentukan satu warna. Klik pada bidang warna dan pilih rona merah yang indah, misalnya R: 128, G: 5, B: 5 .

Untuk mengeluarkan warna ke simpul Master PBR , seret port Keluar ke port Albedo , yang menunjukkan warna dasar shader.

Dengan menghubungkan node sisi-demi-sisi, Anda akan melihat bagaimana bola di Pratinjau Utama berubah merah.


Hebat! Di bidang penulisan shader, membuat shader satu warna adalah analog dari Hello, world!

Meskipun Anda mungkin belum memahami ini, tetapi Anda baru saja membuat shader pertama Anda!

Bekerja dengan antarmuka


Meskipun hanya ada beberapa node dalam grafik, sekarang adalah waktu terbaik untuk merasa nyaman dengan antarmuka Shader Graph.

Coba seret node dan perhatikan bahwa tepi antara port keluaran berwarna dan port input PBR Master tetap terhubung.

Node dapat berisi berbagai jenis data. Seperti halnya kita membuat simpul yang mengandung warna input tunggal, kita dapat membuat simpul yang mewakili satu angka; Pilih Buat Node ► Input ► Dasar ► Integer . Kami tidak akan melakukan apa pun dengan simpul ini, hanya diperlukan untuk menggambarkan prinsip tersebut.


Hubungkan port Integer Out ke port Alpha dari node PBR Master .

Grafik kami masih sangat kecil, tetapi kami sudah memiliki cukup node untuk memeriksa aksi tombol pintas. Pilih sepasang node dan tekan tombol berikut:

  • F : membingkai node yang dipilih.
  • A : membingkai seluruh grafik.

Anda juga dapat menggunakan tombol di bagian atas jendela untuk beralih antara Pratinjau Utama dan Papan Tulis . Tombol Show in Project membantu menemukan grafik shader saat ini di jendela Project.

Setelah berurusan dengan pengelolaan grafik, kami membersihkannya. Yang kita butuhkan adalah node Master Warna dan PBR .

Klik kanan koneksi antara Integer dan Master node, lalu pilih Hapus . Ini akan memisahkan simpul dari grafik.


Demikian pula, Anda dapat menghapus simpul Integer sepenuhnya. Klik kanan pada node dan pilih Delete .


Setelah selesai, klik tombol Save Asset di sudut kiri atas antarmuka. Unity akan menyimpan semua perubahan, lalu mengkompilasi dan mengaktifkan shader. Langkah ini harus dilakukan setiap kali Anda ingin melihat perubahan terbaru di editor.

Sekarang kembali ke jendela dan pilih bahan Glow_Mat .


Saat shader meluas ke materi, bola di jendela pratinjau inspektur akan berubah merah.

Sekarang seret materi Glow_Mat ke bentuk tangram di jendela Scene .


Seperti yang diharapkan, bahan dengan shader melukis jala dalam warna merah yang indah dan seragam.

Tambahkan efek cahaya


Jika Anda ingin materi Glow_Mat memiliki cahaya yang lebih misterius, Anda perlu mengedit grafik shader lagi.

Sekarang Output warna ditransfer ke input node Master Albedo PBR .

Anda juga dapat menyeret tepi lainnya dari Keluar ke Emisi . Sekarang warna yang sama digunakan dua kali: baik sebagai warna dasar dan sebagai warna radiasi.


Port output dapat memiliki banyak sisi, dan port input hanya memiliki satu sisi.

Sekarang alihkan menu drop-down Mode dari simpul Warna ke mode HDR . Jadi kami akan menyertakan rentang warna dinamis yang diperluas .


Sekarang ganti bidang warnanya. Dalam Mode HDR , opsi Intensitas tambahan telah muncul. Klik +1 beberapa kali di palet bawah atau seret slider sekitar 2,5 . Sekarang simpan perubahan dan kembali ke editor.


Di editor, sosok itu akan menyala oranye terang. Pasca pemrosesan dalam adegan sudah menyala dan meningkatkan warna rentang dinamis yang diperluas.

Sekarang pilih objek permainan PostProcessing dalam hierarki. Cahaya itu karena efek Bloom .

Buka opsi Bloom dan atur Intensitas (kekuatan bercahaya) dan Ambang (ambang batas untuk permulaan pendaran). Contoh menunjukkan nilai 3 dan 2 .


Wow, ini bersinar!


Membuat skrip sorotan


Kami tidak ingin sosok itu bersinar terus-menerus. Kami membutuhkan cahaya untuk menyala hanya tergantung pada posisi mouse.

Ketika kursor mouse melebihi bentuk, kita harus mengaktifkan materi Glow_Mat. Dalam kasus lain, gambar tersebut harus ditampilkan dengan material standar Wood_Mat.

Pertama, buat skrip C # baru di RW / Skrip dan sebut Highlighter . Dia akan membantu kita beralih di antara kedua materi selama pelaksanaan program. Ganti semua baris dalam skrip dengan kode berikut:

using UnityEngine; // 1 [RequireComponent(typeof(MeshRenderer))] [RequireComponent(typeof(Collider))] public class Highlighter : MonoBehaviour { // 2 // reference to MeshRenderer component private MeshRenderer meshRenderer; [SerializeField] private Material originalMaterial; [SerializeField] private Material highlightedMaterial; void Start() { // 3 // cache a reference to the MeshRenderer meshRenderer = GetComponent<MeshRenderer>(); // 4 // use non-highlighted material by default EnableHighlight(false); } // toggle betweeen the original and highlighted materials public void EnableHighlight(bool onOff) { // 5 if (meshRenderer != null && originalMaterial != null && highlightedMaterial != null) { // 6 meshRenderer.material = onOff ? highlightedMaterial : originalMaterial; } } } 

Mari kita uraikan skrip ini:

  1. Script hanya dapat diterapkan pada objek yang berisi komponen MeshRenderer dan Collider . Ini dikontrol dengan menambahkan atribut [RequireComponent] ke bagian atas skrip.
  2. Ini adalah tautan ke MeshRenderer , originalMaterial , dan highlightedMaterial MeshRenderer . Materi ditandai dengan atribut [SerializeField] , yang memungkinkan Anda untuk menetapkannya dari inspektur.
  3. Dalam metode Start , kami secara otomatis mengisi MeshRenderer menggunakan GetComponent .
  4. Disebut EnableHighlight(false) . Ini memastikan bahwa, secara default, konten yang tidak disorot ditampilkan. Di bawah ini adalah metode EnableHighlight publik, yang mengganti materi renderer. Ia menerima parameter boolean onOff , yang menentukan status cahaya latar.
  5. Mencegah Semua Kesalahan NullReference
  6. Untuk menghemat ruang, kami menggunakan operator ternary.

Tambahkan acara mouse


Karena skrip ini berlaku untuk bentuk yang memiliki MeshCollider , kita bisa menggunakan metode OnMouseOver dan OnMouseOver . Tambahkan kode berikut setelah metode EnableHighlight :

  private void OnMouseOver() { EnableHighlight(true); } private void OnMouseExit() { EnableHighlight(false); } 

Ketika mouse melebihi bentuk, itu akan memanggil EnableHighlight(true) . Demikian pula, ketika mouse meninggalkan Collider, ia akan memanggil EnableHighlight(false) .

Itu saja! Simpan skripnya.

Sorot gambar


Jika di bagian tutorial sebelumnya Anda menerapkan Glow_Mat ke salah satu angka, maka di editor Anda harus mengembalikan materi Wood_Mat ke semua angka permainan. Sekarang, untuk menyalakan cahaya, kita akan menggunakan Highlighter saat program sedang berjalan.

Pertama, kita akan memilih tujuh objek di dalam transformasi Tangram , yang merupakan bentuk terpisah. Kemudian kami menambahkan mereka semua skrip Highlighter bersamaan.


Lalu seret Wood_Mat ke dalam bidang Material Asli dan Glow_Mat ke dalam bidang Material yang Disorot . Sekarang jalankan mode Putar dan periksa hasil pekerjaan kami.

Tidak buruk! Saat Anda mengarahkan kursor ke bentuk tangram, warnanya mulai menyala merah terang. Jika Anda menghapus kursor darinya, kursor akan kembali ke kondisi semula.


Dalam permainan itu sendiri, tidak ada yang berubah, tetapi efek highlight menambah minat visual dan memungkinkan pemain untuk fokus.

Menggunakan node tekstur


Saat ini, shader sederhana kami memiliki warna merah terang yang pekat. Kami akan mengubah shader sehingga tidak kehilangan tekstur kayu aslinya. Untuk melakukan ini, kami akan membuat lampu latar muncul sebagai tepi bercahaya di sekitar permukaan.

Pertama, ubah HighlightShaderGraph dengan mengklik dua kali atau memilih
di Editor Open Shader .

Hapus simpul Warna dengan mengklik kanan padanya dan memilih Hapus . Kami akan membuat semuanya dari awal.

Alih-alih satu warna, kami mengganti tekstur menggunakan simpul 2D Tekstur Sampel .

Buat simpul, baik dari menu konteks, dengan mengklik kanan dan memilih Buat Node , atau dengan menggunakan tombol pintas (spasi). Pilih Input ► Tekstur ► Contoh Tekstur 2D .

Contoh Texture 2D node membaca informasi warna dari aset tekstur dan menampilkan nilai RGB-nya.

Pilih tekstur dari port input Tekstur . Klik pada titik di sebelah bidang kosong untuk membuka browser file.

Pilih aset tekstur WoodAlbedo.


Hubungkan port output RGBA dari simpul Texture 2D ke port PBR Master Albedo .

Voila! Sekarang tekstur pohon ditampilkan di permukaan bola pratinjau.


Jika Anda menambahkan peta normal, Anda dapat membuat bagian-bagian di permukaan. Pertama, buat simpul Contoh Tekstur 2D lainnya dengan memilih Buat Node ► Input ► Tekstur ► Contoh Tekstur 2D .

Pilih tekstur WoodNormal di port input Tekstur.


Ubah menu tarik-turun Type dari Default ke Normal .

Keluarkan nilai-nilai RGBA ke port Normal dari node PBR Master .


Cakupan Pratinjau Utama sekarang akan terlihat lebih kasar. Peta normal meniru penyimpangan kecil dan lekukan di permukaan. Ini memungkinkan Anda untuk mensimulasikan penampilan pohon.

Catatan : tipe data setiap port ditunjukkan dalam tanda kurung di sebelah port. (T2) berarti port tersebut kompatibel dengan tekstur dua dimensi, dan (4) berarti port tersebut menggunakan Vector4 . Bergantung pada konteksnya, Grafik Shader dapat mengabaikan nilai floating point tambahan.

Menambahkan Efek Fresnel


Sekarang warna merah solid telah berubah menjadi tekstur dasar dan peta normal, mari kita tambahkan efek highlight menggunakan metode lain.

Alih-alih cahaya seragam dari seluruh objek, kami akan membatasi cahaya hanya pada tepinya. Ini dapat direalisasikan menggunakan efek Fresnel .

Buat simpul baru dengan mengklik kanan atau bilah spasi, lalu pilih Buat Node ► Matematika ► Vektor ► Efek Fresnel .

Node baru ini menunjukkan bola dengan cincin bercahaya putih dengan diameter. Anda dapat menyesuaikan lebar lingkaran cahaya ini menggunakan port input daya . Klik dan seret X ke kiri bidang atau masukkan angka yang Anda inginkan.

Semakin besar nilainya, semakin tipis halo menjadi, dan nilai-nilai yang lebih kecil membuatnya sangat lebar. Untuk membuat cahaya halus di sekitar tepi, Anda dapat menggunakan nilai 4 .


Untuk menyampaikan halo ini ke materi, kita akan menghubungkan output Efek Fresnel ke input Emisi dari node PBR Master .


Sekarang, MainPreview menampilkan bola kayu dengan lingkaran putih yang cerah, diperoleh berkat Efek Fresnel .

Catatan : Efek Fresnel dinamai sesuai dengan fisikawan Prancis Augustin Jean Fresnel. Dia memperhatikan bahwa cahaya membuat permukaannya sangat terang dan terlihat seperti cermin ketika seorang pengamat mendekati sudut luncur .


Anda bisa bereksperimen dengan meja dapur. Kami menggunakan versi Unity dari fenomena ini untuk memberikan cahaya geometri.

Perkalian dengan Warna


Anda dapat menambahkan warna ke kontur bercahaya menggunakan perhitungan warna sederhana.

Buat simpul warna baru yang akan menunjukkan warna cincin bercahaya. Klik kanan atau bilah spasi untuk membuka menu konteks, lalu pilih Buat simpul ► Input ► Dasar ► Warna . Alihkan mode warna ke HDR .

Pilih warna yang akan menunjukkan warna lampu latar. Misalnya, pilih hijau cerah yang indah: R: 5, G: 255, B: 5 .

Tingkatkan Intensitas ke 3.5 .


Kami tidak dapat menggabungkan warna baru dengan efek Fresnel. karena tidak memiliki input untuk warna. Oleh karena itu, kita perlu menggabungkan keluaran efek dengan output simpul warna. Ini dapat dilakukan dengan menggunakan simpul Multiply .

Buat simpul Multiply dengan mengklik kanan , lalu pilih Buat simpul ► Matematika ► Dasar ► Multiply .

Hapus tepi antara Efek Fresnel dan Master PBR . Hubungkan output Efek Fresnel ke input A dari simpul Multiply .

Hubungkan node Out dari node Color ke input B dari node Multiply .


Kemudian sambungkan Out of the Multiply node ke port Emission of PBR Master node. Voila! Sekarang kita melihat bagaimana warna HDR hijau terang mengelilingi bola Pratinjau Utama .


Ingatlah bahwa Anda dapat menggunakan Fresnel Effect Power untuk menambah atau mengurangi lingkaran cahaya. Jika Anda mengurangi nilainya menjadi 1,5, Anda mendapatkan cahaya hijau lebar.

Sebagai contoh game kami, nilai dari 4 hingga 5 baik, tetapi Anda dapat bereksperimen dengan nilai-nilai Anda.


Simpan grafik shader dan kembali ke editor. Anda akan segera melihat HighlightShaderGraph Anda beraksi.

Luncurkan Mode Putar .

Saat Anda mengarahkan kursor ke suatu bentuk, ia mempertahankan tekstur pohonnya. Namun, cahaya hijau terang kini telah muncul di sekitar tepinya. Secara formal, tidak ada yang berubah dalam permainan, hanya lampu latar telah menjadi lebih lemah.


Tambahkan Properti Papan Tulis


Jika Anda ingin mengubah tampilan efek cahaya, Anda harus kembali ke jendela editor Grafik Shader dan melakukan perubahan ini. Misalnya, menggunakan Fresnel Effect Power, perluas atau persempit pita halo.

Ini sangat tidak nyaman jika kita ingin menguji berbagai perubahan. Untungnya, Shader Graph memiliki konsep untuk properti.

Anda dapat membuat bagian grafik terlihat oleh publik di inspektur, yang memungkinkan Anda membuat perubahan kecil secara interaktif. Ini dilakukan dengan menggunakan antarmuka Blackboard .

Kembali ke Grafik Shader dan nyalakan layar Papan Tulis . Jika disembunyikan, maka klik tombol Papan Tulis di sudut kanan atas.

Menambahkan Tekstur Dasar dan Properti Peta Normal


Sekarang kita akan membuka tekstur dasar dan peta normal sehingga dapat diakses melalui inspektur.

Klik ikon + di sudut kanan atas Papan Tulis . Pilih Tekstur 2D dari daftar turun bawah. Item akan muncul di Papan Tulis . Ganti nama menjadi BaseTexture .


Pastikan kotak centang yang terbuka dicentang. Jika Anda membuka properti, properti itu akan menjadi publik dan dapat diakses di inspektur.


Untuk menambahkan properti ke grafik, cukup seret dengan label ke ruang kerja. Biarkan di suatu tempat di sebelah kiri simpul 2D Tekstur Sampel .

Hubungkan porta BaseTexture ke port input Texture dari simpul 2D SampleTexture yang terhubung ke Albedo. Ini akan menggantikan setpoint sebelumnya.

Ulangi proses yang sama untuk Peta Normal . Klik ikon + dan buat 2D Tekstur baru. Ganti nama menjadi Normal Map .

Seret properti ke ruang kerja dan lampirkan ke Contoh Tekstur 2D untuk peta normal.


Klik Simpan Aset dan kembali ke jendela editor utama.

Pilih bahan Glow_Mat dan perhatikan dua bidang baru di inspektur: Tekstur Dasar dan Peta Normal .

Karena belum ada tekstur yang ditetapkan untuk mereka, sorot hijau di atas bola abu-abu ditampilkan di jendela pratinjau.


Pilih WoodAlbedo dan WoodNormal untuk BaseTexture dan NormalMap .

Sekarang, di bawah tepi bercahaya, tekstur pohon akan ditampilkan dengan benar.


Properti publik memungkinkan pengguna untuk memasukkan data secara langsung ke shader tanpa perlu mengedit grafik shader. Lakukan percobaan sendiri dengan pilihan tekstur dasar yang berbeda dan peta normal.

Tambahkan properti Ukuran Cahaya dan Warna Cahaya


Sekarang kami akan mengungkapkan jenis properti lainnya di Blackboard. Sebagai contoh, akan berguna untuk membiarkan nilai Fresnel Effect Power berubah.

Klik ikon + di Papan Tulis dan buat properti Vector1 . Ini menunjukkan parameter tunggal tipe float.

Ubah nama menjadi GlowSize .

Anda dapat membatasi rentang nilai yang dimasukkan untuk properti ini dengan mengubahnya menjadi bilah geser . Alihkan Mode ke Slider , lalu atur Min ke 0,05 dan Maks ke 6 untuk menentukan rentang. Tetapkan nilai Default ke 5 .


Seret properti GlowSize ke ruang kerja. Hubungkan port output ke input Fresnel Effect Power .

Sekarang biarkan pengguna mengatur warna cahaya. Alih-alih membuat properti di Blackboard, kami mengubah simpul yang ada di grafik.


Pilih simpul Warna , lalu klik kanan dan pilih Konversi ke Properti .

Node Warna dikonversi ke properti warna di Blackboard , yang tidak lagi dapat diubah secara langsung dalam grafik. Ubah nama properti menjadi GlowColor .


Klik Simpan Aset dan kembali ke jendela editor utama.


Pilih bahan Glow_Mat di jendela Project. Anda harus melihat bahwa bilah geser GlowSize dan bidang GlowColor sekarang tersedia di inspektur.


Ubah nilai materi sesuai selera Anda. Luncurkan mode Putar untuk menguji pekerjaan Anda.


Sekarang Anda memiliki lampu latar yang dapat disesuaikan yang dapat diubah sesuai keinginan!

Ke mana harus pergi selanjutnya


Selamat! Sekarang Anda dapat membuat shader sendiri menggunakan Grafik Shader!

Dengan menggunakan kemampuan kreatif Anda sendiri, Anda sendiri akan terkejut bahwa Anda akan berhasil. Ingin membuat sinar laser fantastis atau bidang gaya? Sesuaikan hasil kerja kami dengan shader yang Anda butuhkan.

Meskipun ada ratusan node, tutorial ini seharusnya membantu Anda mempelajari Grafik Shader.

Source: https://habr.com/ru/post/id479302/


All Articles