Water Normal Map Generator
Water normal map generator ini menyusun gelombang dan riak periodik dari parameter tanpa perlu unggahan. Periksa tile berulang, lihat dua sampel bergerak di bawah cahaya, lalu ekspor tekstur tangent-space statis untuk material.
Mulai Membuat Permukaan Air
Buka Buat Air dan pilih Riak Lembut, Air Kolam, Permukaan Danau, Gelombang Kecil, Gelombang Laut, Riak Angin, atau Air Bergaya. Preset mengatur lapisan gelombang dan kekuatan normal, bukan memuat tekstur jadi. Ubah arah gelombang utama dan sekunder, tambahkan riak halus, lalu periksa tampilan 3×3. Pilih resolusi dan konvensi Y sebelum mengunduh PNG. Reset mengembalikan preset awal, resolusi, kecepatan, dan pengaturan interpretasi tekstur.
Apa Itu Normal Map Air?
Tekstur normal air menyimpan arah lokal permukaan untuk perhitungan cahaya renderer. Bidang air datar dapat tampak memantulkan dan menerima cahaya seperti memiliki banyak gelombang kecil. Vektor ini tidak memindahkan vertex atau mengubah siluet horizon. Gelombang besar yang mengubah garis luar membutuhkan geometri, displacement, atau teknik shader lain. Generator membuat interpretasi height skalar, kemudian menurunkan vektor tangent-space ternormalisasi; nilainya adalah input material, bukan data laut terukur.
Mengapa Normal Air Perlu Seamless
Material berulang membaca tekstur melewati batasnya berkali-kali. Diskontinuitas dapat menjadi garis terang yang bergerak di kolam atau danau. Mode prosedural memakai harmonik periodik bilangan bulat di kedua sumbu serta membaca tepi seberang saat menghitung gradien. Arah miring disesuaikan ke vektor gelombang integer yang kompatibel; perubahan sudut kecil kadang tidak mengubah pola. Batas matematis ini menjaga field dan turunannya periodik, bukan sekadar menyembunyikan ketidakcocokan dengan label seamless.
Gelombang Terarah dan Riak Halus
Gelombang Utama menentukan irama besar. Gelombang Sekunder memotong atau mengikutinya untuk mengurangi pita seragam. Frekuensi mengatur siklus per tile; amplitudo mengatur kontribusi skalar sebelum kekuatan normal diterapkan. Harmonik lebih lemah membentuk profil puncak setiap lapisan. Riak Halus menggabungkan beberapa arah periodik berbasis seed di sekitar sudut terpilih. Ubah seed untuk mengganti hubungan fase dengan hasil yang tetap dapat diulang. Parameter, seed, dan resolusi yang sama menghasilkan output sama.
Menggunakan Dua Sampel Normal Bergerak
Pratinjau animasi membaca tekstur yang sama dua kali dengan offset UV dan kecepatan berbeda. Vektor di-decode dan digabungkan memakai reoriented normal mapping sebelum bidang datar diberi cahaya. Cara ini menunjukkan pengurangan repetisi gerak tanpa simulasi fluida. PNG yang diunduh tetap satu tekstur statis. Pada shader Anda, buat dua sampel file tersebut dengan konvensi Y yang sesuai, lalu animasikan koordinat UV memakai kecepatan independen.
Konvensi Normal OpenGL dan DirectX
G Y+ dan G Y− berbeda pada tanda tangent Y. Mengubah konvensi membalik hijau tetapi mempertahankan makna arah dengan decoder yang benar. Pratinjau animasi mengompensasi format terpilih. Periksa material memakai cahaya vertikal dan puncak yang mudah dikenali; importer bisa menyediakan koreksi hijau tanpa bergantung nama engine. Baca PNG sebagai data vektor normal dan hindari transformasi warna sRGB ketika sampling komponennya.
Normal Air untuk Material Real-Time
Gunakan ekspor sebagai satu bagian material air di Unity, Unreal Engine, atau renderer sendiri. Sesuaikan input normal, skala UV, basis tangent, serta pengaturan import dengan shader yang dipakai. Refleksi, refraksi, warna kedalaman, roughness, cahaya, dan geometri mesh sangat memengaruhi hasil. Warna biru pratinjau hanya ilustrasi, bukan prediksi tampilan engine. Gunakan panduan engine terkait dan dokumentasi vendor terbaru karena paket renderer serta antarmuka import berbeda antar-versi.
Kolam, Danau, Laut, dan Air Bergaya
Air Kolam memakai gelombang silang untuk permukaan berulang yang rapat, tetapi tidak membuat caustics bawah air. Permukaan Danau menjaga gerak besar tetap tenang. Gelombang Laut dimulai dengan amplitudo dan slope lebih kuat, tanpa membuat gelombang pecah, busa, atau interaksi pantai. Riak Angin menyelaraskan lapisan agar pola lebih terarah. Air Bergaya mengurangi detail halus dan memperjelas irama. Ubah setiap preset sesuai skala dan gaya visual adegan.
Resolusi dan Kinerja Tekstur
Pilih 256 atau 512 untuk iterasi cepat dan material kecil; periksa 1024 atau 2048 untuk kebutuhan jarak dekat. Tekstur RGBA 2048 persegi sendiri membutuhkan sekitar 16 MiB, belum termasuk field height, buffer preview, dan encoding. Ukuran file terkompresi bukan memori kerja. Generasi berjalan dalam worker, dan perubahan slider di-debounce agar pekerjaan lama dibatalkan. Kekuatan turunan diskalakan menurut resolusi; resolusi rendah tetap tidak mampu menyimpan frekuensi tak terbatas.
Dari Tekstur: Permukaan yang Diperkirakan
Mode sekunder menerima gambar lokal berupa riak, gelombang, atau height melalui pipeline gambar yang ada. Pilih sumber luminans atau kanal, atur levels, dan gunakan denoise atau pemulihan detail jika diperlukan. Pemrosesan wrap membaca sisi seberang selama filter dan gradien. Ini tidak membuat foto sembarang seamless, menghapus refleksi, atau mengukur bentuk air bergerak. Gunakan alat seamless umum jika sumber perlu perbaikan batas, lalu periksa hasil berulang sebelum ekspor.
Animasi dan Preferensi Gerakan
Jeda pratinjau untuk membandingkan tekstur dengan respons material bergeraknya. Kecepatan Animasi hanya mengubah pergeseran UV, bukan piksel ekspor. Preferensi reduced motion memulai dalam keadaan jeda; tombol Putar dapat mengaktifkannya secara eksplisit. Animasi juga berhenti saat halaman tersembunyi atau preview keluar layar. Kartu 3×3 mengulang file sembilan kali untuk memeriksa batas. Repetisi luas di engine memperlihatkan motif yang tetap muncul meski tekstur periodik secara matematis.
Batas Simulasi dan Serah Terima
Alur ini untuk developer game, pembuat shader, environment artist, dan technical artist yang memerlukan detail material prosedural. Alat tidak memecahkan dinamika fluida, mempertahankan volume air, menghitung buoyancy, atau memprediksi gelombang fisik. Simpan JSON pengaturan dan PNG lossless bersama material, lalu nilai animasi pada jarak kamera dan kualitas platform tujuan. Kurangi amplitudo riak bila highlight berkilau berlebihan setelah mipmapping, dan sertakan parameter lengkap saat menyerahkan aset.
Pertanyaan umum
Apakah tekstur air prosedural benar-benar tileable?
Ya. Harmonik integer membuat field skalar periodik pada U dan V; gradien wrap mempertahankannya. Gambar impor tidak memiliki jaminan yang sama.
Apakah PNG berisi animasi air?
Tidak. PNG menyimpan tekstur normal statis. Pratinjau menggerakkan dan menggabungkan dua sampel UV; lakukan teknik itu di shader untuk animasi.
Bisakah preset diubah setelah dipilih?
Ya. Preset mengisi parameter yang dapat diedit. Amplitudo, frekuensi, arah, seed, kekuatan, resolusi, dan konvensi Y tetap dapat diubah.
Bisakah foto air menghasilkan geometri sebenarnya?
Tidak. Dari Tekstur memperkirakan field dari kecerahan atau kanal terpilih. Refleksi dan cahaya dapat menjadi relief palsu, dan wrap tidak memperbaiki batas yang tidak cocok.