Pertanyaan saya adalah: Adakah cara agar GameObject berbagi bagian dari Materi yang sama, bukan tiruan, tetapi perpanjangan dari satu? Misalnya, dalam hal ini sembilan objek game yang berbagi materi yang sama diperbesar untuk memenuhi ukuran sembilan objek:
Dan dalam kasus ini, saya menghapus misalnya satu di tengah, itu akan membuat materi yang sama diperbesar dengan ruang kosong di dalamnya:
Untuk tujuan ini, saya menggunakan satu bahan per objek, tetapi maksud saya adalah menggunakannya hanya satu tekstur untuk beberapa objek, atau misalnya, lebih dari satu tekstur di berbagai bagian dari satu objek yang sama. (Seperti tombol lukisan yang kita miliki di custom Unity3D Terrains).
unity
3d-meshes
gameobject
JamesB
sumber
sumber
Jawaban:
Sudahkah Anda melihat menggunakan Unity's Shadergraph untuk membuat shader Anda sendiri untuk materi tersebut? Anda mungkin dapat mencapai apa yang Anda inginkan dengan menggunakan posisi worldspace untuk tekstur / uvs. Saya tidak pandai menjelaskannya dan tidak pandai dalam shader, tetapi saya mencontoh Anda sebagai water shader karena saya bosan dan sudah bermain-main dalam proyek yang didedikasikan untuk eksperimen.
Gambar ini menunjukkan bahwa bidang yang tumpang tindih tampak berbagi materi yang sama
Ini adalah contoh yang dibuat dalam shadergraph
Ringkasan cepat dari node shader dari contoh saya saat saya memahaminya
Jika ada yang berpikir sesuatu yang telah saya katakan atau lakukan salah atau dapat ditingkatkan, jangan ragu untuk mengoreksi saya. Saya masih belajar dan dorongan ke arah yang benar selalu disambut. Saya telah mengunggah contoh adegan ke google drive untuk Anda main-main. tidak yakin apakah diperlukan atribusi tetapi aset air yang digunakan gratis dan dari gametextures.com
sumber
Anda dapat membuat atlas sprite dari satu tekstur, membuat objek anak untuk pesawat Anda atau bentuk apa pun yang Anda gunakan, menyeret guntingan sprite yang dibuat, Putar dan tempatkan anak dalam objek game sesuai keinginan Anda, dan voila, lihat gambar di bawah ini untuk melihat apa yang saya maksud,
Ini mungkin pekerjaan yang membosankan tetapi sepertinya solusi ini sesuai dengan yang Anda inginkan.
sumber
Pilihan lain adalah menggunakan objek Proyektor dalam folder aset standar kesatuan. Itu tidak sangat performant, tetapi sangat mudah untuk diatur. Jadi untuk kasus-kasus sederhana, mungkin persis apa yang Anda cari. Tapi seperti saya katakan itu memiliki dampak kinerja yang cukup signifikan terutama jika Anda memproyeksikan tekstur yang lebih besar.
sumber