Bagaimana saya bisa membuat bahan keju pizza yang lentur dan mudah pecah?

21

Saya ingin membuat pizza realistis dan memungkinkan pengguna berinteraksi dengannya.

Apa yang saya inginkan:

foto pizza dengan seiris diangkat

Apa yang saya buat:

tangkapan layar pizza yang diberikan, dengan potongan yang hilang

Saya membuat model pizza (8 buah) di Blender, lalu mengimpornya ke Unity. Sepotong pizza terlihat sangat artifisial, sebagian besar karena "segitiga kaku".

Bagaimana saya bisa membuat keju meregang dan pecah ketika pengguna menggerakkan sepotong?

Peter Burenkov
sumber
1
Model yang lebih baik, tekstur lebih baik & shader lebih baik. Sesimpel itu.
API-Beast
Apakah Anda benar-benar ingin keju melar dan pecah? Jika Anda bisa lebih spesifik tentang aspek apa yang Anda ingin lebih realistis, itu akan membantu mempersempit ruang lingkup pertanyaan.
MichaelHouse
2
@ Byte56, saya mengerti bahwa saya dapat meningkatkan kualitas pizza melalui peningkatan model, tekstur, dan shader, tetapi saya tertarik pada keju. Ya, saya ingin bisa merenggang dan mudah patah. Seperti keju asli.
Peter Burenkov
6
Secara pribadi, saya akan melihat simulasi kain realtime dan melihat seberapa jauh Anda bisa mendapatkan dari kain ke keju dengan mengutak-atik parameter. Saya akan menangani lapisan keju pizza sebagai jaring terpisah dan menggunakan model pegas / massa untuk menghitung deformasi. Saya juga pernah melihat sistem kain sebelumnya, yang memungkinkan Anda merobek kain itu, yang juga Anda inginkan untuk keju Anda. Gabungkan ini dengan shader yang menyatu dari tekstur keju padat ke tekstur keju streched / ripped berdasarkan gaya yang diterapkan pada node dari model pegas / massa, dan itu akan memberi Anda hasil yang cukup rapi.
Invor
Hanya untuk bermain sebagai pendukung iblis di sini, apakah Anda yakin Anda perlu memiliki animasi semacam ini? Saya tahu ini terdengar aneh untuk ditanyakan, tetapi Anda harus melihat dari jawaban yang sudah diberikan, ini adalah efek yang cukup rumit yang Anda tuju. Jelas itu tergantung pada gimnya (Saya tidak tahu apakah Anda membuat simulator membuat Pizza [Saya tahu orang-orang yang akan membayar banyak untuk itu]), tetapi Anda harus bertanya pada diri sendiri apakah pekerjaan yang akan Anda lakukan dalam hal ini benar-benar menambah cukup untuk membenarkan usaha Anda. Bahkan jika Anda punya banyak waktu, mencurahkannya di tempat lain mungkin akan menghasilkan lebih banyak dalam jangka panjang ...
Selali Adobor

Jawaban:

28

Cara Sederhana

Tambahkan quad yang menghubungkan irisan yang berdekatan satu sama lain. Tekstur ini dengan tekstur keju yang bagus, meleleh, lengkap dengan lubang. Saat irisan dipindahkan, quad secara alami akan diregangkan dan dengan demikian meregangkan dan memiringkan tekstur.

Ini harus terlihat masuk akal, meskipun tidak akan ada istirahat. Yang harus dilakukan di sini adalah menjadikan tekstur itu animasi. Iterate melalui animasi berdasarkan area paha depan (atau hanya jarak antara irisan) bukan waktu. Ketika semakin ditarik jauh lebih banyak lubang akan muncul karena animasi berkembang.

Akhirnya ketika ambang jarak dipukul, pisahkan kuad menjadi dua, secara program menyusutkan kedua paha depan ke arah irisan yang dilekatkan untuk mengecilkannya sedikit dan tetap mainkan animasi yang menunjukkan gertakan. Bekukan animasi di bagian akhir.

Untuk sedikit lebih banyak dinamika, Anda bisa menempelkan quad ke dua irisan menggunakan sambungan dalam mesin fisika.

Jalan yang Keras

Gunakan mesin fisika tubuh lunak atau tulis satu. Tentukan bagian kain di antara irisan dan tekstur dengan keju. Biarkan mesin fisika untuk memodelkan dinamika peregangan dan gertakan material.

Ini adalah metode yang jauh lebih intensif, tetapi lebih umum berlaku. Mungkin juga sangat tidak terkendali tetapi bisa menjadi efek yang lebih menarik secara keseluruhan.

OriginalDaemon
sumber
3
Saya benar-benar akan menyarankan pendekatan pertama.
jhocking
6
Paling tidak, habiskan beberapa jam untuk mencoba pendekatan pertama (Anda dapat dengan mudah menggunakan beberapa paha depan) sebelum Anda menghabiskan beberapa ... err ... bulan menulis mesin fisika ...
corsiKa
3
Sangat lapar untuk melihat hasilnya! Perbarui kami saat Anda menyelesaikannya.
John Moses
2
Sejenak di sana saya pikir saya membaca "Gunakan mesin keju tubuh lunak" dan berpikir, wow, orang akan menulis mesin untuk apa pun.
Thomas
2
Unity memiliki mesin fisika kain bawaan yang mendukung peregangan dan sobekan sehingga cara yang sulit mungkin tidak terlalu sulit. Meskipun akan jauh lebih mahal secara komputasi.
Ethan Worley
2

Menggunakan animasi preset:

Jadi buat animasi prasetel dalam perangkat lunak pemodelan 3D seperti Maya / Blender yang memiliki fitur seperti tubuh dan kain lembut yang dapat melakukan pekerjaan dengan baik dalam mensimulasikan pizza sobek. Ekspor tekstur pizza DAN animasi model ke Unity (mungkin sebagai satu set model .jj atau semacamnya).

Model animasi akan mewakili keju yang diregangkan dan disobek menggunakan banyak segitiga, yang dapat Anda muat sebagai satu set tri-jerat ke dalam Unity. Mereka adalah kumpulan dari banyak negara mesh, masing-masing mewakili pizza keju pada posisi yang berbeda dari peregangan. Berdasarkan di mana pengguna memposisikan potongan pizza, Anda akan melompat ke 'keadaan mesh' dan menampilkan segitiga itu.

Tentu saja ada beberapa masalah. Interaksi pengguna agak terbatas. Jika keju sudah terkoyak sedikit, Anda tidak bisa kembali ke keadaan 'untorn' untuk area keju itu. Jika animasi preset menghapus irisan 1 dan kemudian 2, pengguna akan dipaksa untuk menghapus irisan dalam urutan itu. Ukuran data yang diekspor bisa menjadi sangat besar, berdasarkan pada seberapa granular mesh dan berapa lama animasi robek berlangsung.

Tapi itu bisa terlihat sangat realistis, jika artis model melakukan pekerjaan dengan baik ketika membuat animasi preset. Dan Anda tidak harus menerapkan simulator tubuh lunak.

Menggunakan Unity:

Tetapi jika Anda tertarik, Unity menerapkan kain sendiri dan komponen kain Interaktif . Kain interaktif mendukung sobekan. Tetapi dukungan untuk mereka dibatasi hanya untuk beberapa platform, terakhir saya periksa.

Menggunakan Anda:

Pada akhirnya, Anda selalu dapat menerapkan simulator tubuh lunak Anda sendiri. Inilah contoh makalah penelitian yang cukup populer. Sangat menyenangkan :). Semoga berhasil.

Arun R
sumber
1

@ originalDaemon jawabannya bagus! Saya pikir ada jalan tengah yang mungkin mendapatkan hasil yang lebih baik daripada pendekatan pertama dan akan mengambil sejumlah upaya yang masuk akal (mungkin tidak seperti pendekatan "The Hard Way").

Apa yang saya sarankan adalah sebenarnya memodelkan keju "web", sepertinya banyak stalaktit bagi saya. Model beberapa potong keju melar. Secara acak posisikan mereka di tepi segitiga kelezatan dan skala mereka ke 0 y-axisdan ketika segitiga dihapus dari kompadresnya, perlahan skala mereka pada sumbu y kembali ke ukuran yang diperlukan.

Anda mungkin perlu memilih sumbu lain alih-alih yjika Anda berencana untuk menarik segitiga sedikit menjauh. Either way, saya merasa bahwa meskipun tekstur rata akan jauh lebih mudah dan hemat biaya, memodelkan keju bisa menjadi lebih realistis untuk close-up walaupun tekstur mungkin bekerja juga. Jika Anda memilih tekstur, mungkin gunakan lebih dari satu lapisan untuk mendapatkan nuansa yang lebih realistis. Juga jangan lupa menambahkan sedikit uap mungkin untuk menekankan panasnya pizza dalam bidikan.

Hal lain yang saya perhatikan adalah tampaknya pepperoni hanya tekstur saat ini. Saya pasti akan mempertimbangkan memodelkannya atau menambahkan beberapa detail di area itu ke model yang ada. Anda bisa membuatnya meluncur ke bawah dengan keju melar untuk realisme ekstra.

serigala
sumber