Visualisasi UV peta cahaya
Lightmap jahitan jahitan

Memperbaiki lightmap UV tumpang tindih

Setiap lightmapTekstur pra-render yang mengandung efek sumber cahaya pada objek statis di tempat kejadian. Lightmaps dilalui atas geometri adegan untuk menciptakan efek pencahayaan. More info
Lihat di Glossary
mengandung sejumlah charts. Pada waktu berjalan, peta Unity grafik ini ke wajah meshGrafik utama primitif Unity. Mesh membuat sebagian besar dunia 3D Anda. Unity mendukung mesh poligon triangulat atau Quadrangulasi. Nurbs, Nurms, permukaan Subdiv harus dikonversi ke poligon. More info
Lihat di Glossary
, dan menggunakan data pencahayaan grafik untuk menghitung penampilan akhir. Karena cara kerja pengambilan sampel GPU, data dari satu grafik dapat dikelantang ke yang lain jika mereka terlalu dekat satu sama lain. Ini biasanya mengarah pada artefak yang tidak diinginkan seperti aliasing, pixelasi, dan sebagainya.

Example of graphical artifacts due to chart bleeding
Contoh artefak grafis karena pendarahan grafik

Untuk menghindari pendarahan ringan, harus ada jumlah ruang yang cukup antara grafik. Ketika sampel GPU lightmap, sistem pencahayaan menghitung nilai sampel akhir dari empat texels dekat dengan titik sampel (asumsi penyaringan bilinear digunakan). Empat texels ini disebut bilinear “neighborhood” dari titik sampel. Grafik terlalu dekat jika tumpang tindih - itu, jika lingkungan setiap titik di dalam grafik tumpang tindih dengan lingkungan setiap titik dalam grafik lain. Dalam gambar di bawah ini, pixelsUnit terkecil dalam gambar komputer. Ukuran piksel tergantung pada resolusi layar Anda. Pencahayaan pixel dihitung pada setiap piksel layar. More info
Lihat di Glossary
putih menunjukkan lingkungan grafik, dan piksel merah menunjukkan lingkungan yang tumpang tindih.

Red pixels indicate overlapping chart neighbourhoods
Piksel merah menunjukkan lingkungan grafik yang tumpang tindih

Menentukan penempatan grafik dan jarak optimal dapat sulit, karena tergantung pada beberapa parameter (seperti resolusi peta ringan, UV mesh, dan pengaturan Importer). Untuk alasan ini, Unity memberikan kemampuan untuk mengidentifikasi masalah ini dengan mudah, seperti yang diuraikan di bagian berikut.

Identification

Ada tiga cara untuk mengidentifikasi tumpang tindih:

  • Menjaga mata pada konsol Unity. Jika Unity mendeteksi UV yang tumpang tindih, itu mencetak pesan peringatan dengan daftar GameObjectsObjek mendasar dalam adegan Unity, yang dapat mewakili karakter, props, pemandangan, kamera, waypoints, dan banyak lagi. Fungsi GameObject didefinisikan oleh Komponen yang melekat padanya. More info
    Lihat di Glossary
    yang terkena.

  • Gunakan mode menggambar UV Overlap di View SceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
    Lihat di Glossary
    (lihat GI visualisasi di yang adegan pandangan untuk informasi lebih lanjut). Ketika Anda memiliki mode ini diaktifkan, Unity menambahkan highlight merah ke grafik texels yang terlalu dekat dengan texels dari grafik lain. Ini sangat berguna jika Anda menemukan artefak di Scene viewTampilan interaktif ke dunia yang Anda buat. Anda menggunakan Adegan Lihat untuk memilih dan posisi pemandangan, karakter, kamera, lampu, dan semua jenis lain dari Game Object. More info
    Lihat di Glossary
    , dan ingin dengan cepat memeriksa apakah tumpang tindih UV menyebabkannya.

Scene View using UV Overlap draw mode (see dropdown in top left)
Adegan Melihat menggunakan mode UV Overlap laci (lihat dropdown di kiri atas)
  • Gunakan Baked Lightmaps Preview. Pilih GameObject dan pergi ke jendela Pencahayaan dan kemudian pilih tab Baked Lightmaps. Klik dua kali peta lampu yang disorot, arahkan ke jendela Preview, dan pilih Baked UV Overlap (lihat dropdown di sudut kanan atas). Warna jendela Preview bermasalah texels merah dalam pandangan ini.
The Baked Lightmaps Preview in the Lighting window’s Baked Lightmaps tab
Baked Lightmaps Preview di tab Baked Lightmaps

Solutions

Tidak ada satu solusi tunggal untuk tumpang tindih UV, karena ada begitu banyak hal yang dapat menyebabkannya. Berikut adalah solusi yang paling umum untuk dipertimbangkan:

  • Jika Anda menyediakan UV Lightmap sendiri, tambahkan margin menggunakan paket pemodelan Anda.
  • Jika Unity secara otomatis menghasilkan UV lightmap untuk Model, Anda dapat memberi tahu Unity untuk meningkatkan margin paket. Cara paling sederhana untuk melakukan ini adalah untuk mengatur Margin Method ke Calculate, dan mengatur Min Lightmap Resolution yang sesuai dan Min Object Scale. Jika Anda lebih suka mengatur Margin Method ke Manual, Anda dapat menyesuaikan nilai Pack Margin secara langsung. Untuk informasi lebih lanjut tentang pengaturan ini, lihat dokumentasi pada Menghasilkan UV ringan.
  • Meningkatkan resolusi seluruh lightmap. Ini akan meningkatkan jumlah piksel antara grafik, dan karenanya mengurangi kemungkinan pendarahan. Kelemahan adalah bahwa peta cahaya Anda mungkin menjadi terlalu besar. Anda dapat melakukan ini di tab Lighting di bawah Lightmapper Settings.
  • Meningkatkan resolusi satu GameObject. Ini memungkinkan Anda untuk meningkatkan resolusi lightmap hanya untuk GameObjects yang memiliki UV yang tumpang tindih. Meskipun kurang mungkin, ini juga dapat meningkatkan ukuran lightmap Anda. Anda dapat mengubah resolusi lightmap GameObject di dalam Mesh RendererKomponen mesh yang mengambil geometri dari Filter Mesh dan render di posisi yang ditentukan oleh komponen Transform objek. More info
    Lihat di Glossary
    di bawah Lightmap Settings.
Same mesh as before, but without bleeding artifacts
Same mesh seperti sebelumnya, tetapi tanpa artefak pendarahan
Visualisasi UV peta cahaya
Lightmap jahitan jahitan