Mengapa paha depan digunakan dalam pembuatan film dan segitiga dalam bermain game?


13

Di sekolah film, di kelas pemodelan 3D, saya diberi tahu bahwa ketika kami memodelkan sesuatu untuk film, kami mempertahankan topologi 4 poligon bermata. Setiap poligon yang memiliki lebih dari atau kurang dari 4 edge / vertex dianggap buruk dan harus dihindari. Sedangkan jika model yang sama digunakan dalam game, itu adalah triangulasi.

Meskipun saya tidak mengambil jurusan pemodelan 3D, pertanyaannya masih ada di pikiran saya. Mengapa 3 poligon bermata digunakan dalam gaming? Apakah itu membuat lebih cepat? Lalu mengapa tidak digunakan dalam rendering film?


Segitiga adalah matematika sederhana. Semua 3 poin adalah coplanar sehingga semua poin di dalam berada di bidang yang sama yang membuat interpolasi lebih mudah. Untuk paha depan saya tidak akan tahu mengapa memilih itu, kecuali itu ada hubungannya dengan LoD.
ratchet freak

@ scratchetfreak jika Anda mulai membentuk kurva parametrik dan kemudian memperluasnya ke definisi planar Anda berakhir dengan sesuatu yang memiliki topologi empat sisi, Sekarang seiring berjalannya waktu masalah yang sama masih ada.
joojaa

Jawaban:


14

Untuk pemodelan 3D, alasan umum untuk lebih memilih paha depan adalah bahwa algoritma subdivisi permukaan bekerja lebih baik dengan mereka — jika mesh Anda dibagi lagi, segitiga dapat menyebabkan masalah pada kelengkungan permukaan yang dihasilkan. Sebagai contoh, lihat dua kotak ini:

kotak asli

Yang kiri semuanya quads; yang kanan memiliki bentuk keseluruhan yang sama, tetapi satu sudut terbuat dari segitiga bukan paha depan.

Sekarang lihat apa yang terjadi ketika kotak dibagi:

kotak dibagi lagi, gambar rangka

Berbeda ya? Perhatikan bagaimana loop tepi telah berubah dari menjadi kurang lebih sama pada kotak kiri ke pengaturan yang lebih rumit, terjepit dan diregangkan di sebelah kanan. Sekarang mari kita matikan bingkai gambar dan lihat bagaimana ia menyala.

kotak dibagi lagi, halus

Lihat mencubit aneh di sorot di kotak kanan? Itu disebabkan oleh pembagian yang berantakan. Yang khusus ini adalah kasus yang cukup jinak, tetapi Anda bisa mendapatkan hasil yang lebih kacau dengan jerat yang lebih kompleks dengan tingkat subdivisi yang lebih tinggi (seperti yang biasanya Anda gunakan dalam film).


Semua ini masih berlaku saat membuat aset game, jika Anda berencana untuk membaginya, tetapi perbedaan utama adalah bahwa pembagian tersebut terjadi lebih dulu — saat Anda masih di quad-land — dan kemudian hasil akhir yang dibagi menjadi berubah menjadi segitiga karena itulah yang dibicarakan perangkat keras grafis (karena, seperti yang disebutkan dalam komentar di atas, itu membuat matematika lebih mudah).


5

Seperti @Noah Witherspoon dengan benar, mengatakan pembagian segitiga tidak berfungsi sebaik pembagian quad. Meskipun, pada awalnya segitiga tidak dapat dibagi lagi sama sekali. Namun, dia tidak benar-benar menjelaskan mengapa itu terjadi. Yang merupakan informasi yang berguna dan menjelaskan mengapa paha depan lebih disukai dan cara menggunakannya.

Pertama, amati bahwa sebuah segitiga dibagi menjadi 3 quads dalam banyak skema. Karena Anda sekarang memiliki semua quad mesh, jelas menjaga subdivisi semua quad tidak dengan sendirinya persyaratan. Pasti ada alasan yang lebih mendalam daripada sekadar empat sisi.

masukkan deskripsi gambar di sini

Gambar 1 : Anda dapat membagi segitiga menjadi 3 segi empat

Alasannya terletak pada apa yang disebut tepi loop. Orang yang melakukan pemodelan harus mengantisipasi bagaimana subdivisi terjadi karena subdivisi akan menjadi bentuk akhir. Sayangnya manusia hanya benar-benar pandai menguraikan bentuk objek di sepanjang tepi tepi primitif Anda. Dengan memformulasikan bentuk menjadi loop panjang multi-sisi terus menerus membantu kami memprediksi bentuk setelah pembagian dan yang terpenting setelah deformasi oleh tulang, dll.

Segitiga memiliki cara yang buruk untuk mengakhiri loop sehingga kita tidak mengerti apa yang terjadi dengan bentuk di dalam dan di luar bentuk itu. Dengan demikian mesh yang terbagi memiliki kecenderungan untuk berperilaku tidak terkendali, menyebabkan benjolan yang tidak diinginkan. Catatan : Dimungkinkan untuk membagi segitiga dengan cara ini tidak terjadi, mereka hanya lebih sulit untuk dikerjakan dan bekerja dengan paha depan sudah dikenal saat itu.

Sekarang ini sebenarnya bukan alasan asli, hanya itu terjadi secara tidak langsung. Alasan asli apa yang patch geometris yang mereka gunakan sebagai primitif parametrik berbentuk bujur sangkar. Sebagai memperluas garis ke permukaan secara alami mengambil bentuk persegi jika Anda hanya mengusir. Memiliki segitiga menyebabkan satu sisi menjadi merosot dan memiliki singularitas. Tapi ini sangat terkait dengan alasan pengelompokan karena dapat ditunjukkan bahwa permukaan subdivisi hanyalah kasus umum patch spline.

masukkan deskripsi gambar di sini

Gambar 2 : Permukaan parametrik asli adalah ekstensi dari kurva, bukan jerat sembarang dan bentuk ini secara alami cenderung persegi.


1

Satu hal yang saya lihat kebanyakan orang lupa adalah dalam pembuatan film itu kebanyakan tentang kualitas bukan kecepatan. Itu sebabnya pembuatan film lebih mementingkan rendering Offline, seperti halnya dalam Video game semuanya real time sehingga kinerja / kecepatan jauh lebih penting daripada kualitas.

Oleh karena itu ketika datang ke permainan video orang mencoba untuk menemukan cara terbaik untuk "memperkirakan" atau "memalsukan" tampilan hal yang nyata. Ketika datang ke perhitungan yang berbeda dan segitiga kecepatan jauh lebih mudah daripada poligon. Seperti @ scratchet freak yang disebutkan karena ketiga poin tersebut adalah coplanar dan menyederhanakan persimpangan dan perhitungan lainnya. Itulah salah satu alasan utama segitiga digunakan dalam video-game.

Namun dalam pembuatan film rendering satu frame bisa memakan waktu berjam-jam atau bahkan berhari-hari, karenanya kecepatan tidak terlalu menjadi masalah. Apa yang dikatakan Noah benar, saya hanya ingin berbagi sudut pandang ini juga.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.