Memasukkan Objek Nyata ke dalam Unity dengan Meshroom

gambar


Artikel ini akan menunjukkan kepada Anda bagaimana menggunakan fotogrametri untuk mengambil foto dan memasukkan objek dunia nyata ke dalam proyek Unity menggunakan Meshroom.



Dalam konteks model 3d, fotogrametri adalah proses pembuatan model 3D dari objek yang dipindai.



Butuh model 3D yang realistis untuk ide game Anda tetapi anggarannya terbatas? Ingin menciptakan lingkungan game yang sangat realistis? Jika ya, teruslah membaca!



Dengan menggunakan fotogrametri, kami mengambil data masukan, yaitu foto, dan meneruskannya melalui jalur pipa atau serangkaian metode yang memprosesnya. Data dari proses atau informasi keluaran ini digunakan untuk membuat model 3D yang sudah jadi.





Dalam tutorial ini, kita akan menggunakan beberapa foto patung naga untuk membuat model 3D yang mendetail, membersihkannya di Blender dan mengimpor hasilnya ke dalam pemandangan desa viking yang gelap dan suram.



Anda juga akan belajar untuk:



  • Pilih subjek yang bagus untuk memotret.
  • Ambil foto yang sesuai.
  • Tentukan kapan dan di mana mengambil foto.
  • Hapus foto buruk.
  • Gunakan Meshroom untuk membuat scan 3D.
  • Impor model ke dalam Blender untuk dibersihkan dan diperbaiki.
  • Kurangi jumlah poligon.
  • Siapkan dan impor model 3D ke Unity.






Mulai



Catatan : Komputer yang cukup kuat diperlukan untuk melakukan pemindaian foto di Meshroom dalam waktu yang wajar.


Unduh materi proyek . Selanjutnya, unzip file zip ke lokasi yang nyaman bagi Anda.



Arsip berisi file proyek Pemula dan Akhir , yang akan kita bahas nanti.



Catatan : Anda perlu mengunduh file lain, tetapi lebih dari itu di bawah.


Untuk membuat pindaian foto yang bagus, Anda perlu memotret model dari berbagai sudut. Dalam tutorial ini kita sudah memiliki semua foto yang diperlukan.



Sebelum Anda mengambil foto-foto ini, penting untuk mengetahui beberapa informasi berguna tentang cara mengambil foto sendiri.



Menemukan subjek yang bagus untuk dipotret



Tentu saja, Anda ingin memotret objek yang cocok dengan lingkungan atau ide game. Selain itu, terdapat beberapa kondisi yang mempermudah pemindaian objek foto:



  • Basis datar.
  • Kontras yang cukup dalam warna atau corak.
  • Tidak terlalu gelap, jika tidak maka akan sulit untuk melihat detailnya.
  • Tidak terlalu besar, jika tidak maka akan sulit untuk berjalan di sekitar objek dan membidiknya dari sudut yang berbeda.


Pertimbangkan juga untuk membuat pindaian foto objek yang sulit dimodelkan. Misalnya, benda alam sulit dimodelkan karena sulit membuat bahan organik.



Batu-batu dari The Tales Factory di Unity Asset Store adalah contoh yang bagus untuk ini .





Kapan mengambil foto



Mengenai foto, terdapat kondisi dan waktu tertentu yang memungkinkan Anda membuat pindaian fotografi berkualitas tinggi.



Jika Anda memiliki studio dan pencahayaan dalam ruangan, maka Anda dapat mensimulasikan sendiri kondisi ini. Jika tidak, maka Anda harus bekerja di luar ruangan.



Saat bekerja di luar ruangan, ingatlah hal-hal berikut:



  • Ambil foto di siang hari.
  • Langit mendung adalah yang terbaik. Awan menyebarkan pencahayaan, yang menghasilkan distribusi cahaya yang lebih merata di seluruh model.
  • Kekeringan itu baik, kelembapan itu buruk! Dalam kondisi lembab, kemungkinan besar Anda akan mendapatkan lebih banyak pantulan pada produk jadi Anda. Dalam beberapa kasus, model 3D bahkan akan memiliki pantulan terang yang merusak realisme.


Pilih model yang tampak netral yang sesuai dengan berbagai kondisi potensial. Ini akan memungkinkan Anda untuk menerapkan efek tergantung pada kondisi lingkungan dalam game.



Apakah hujan di dalam game? Mari buat sketsa shader yang akan menambahkan efek basah yang mengilap. Permainan berlangsung di dunia pasca-apokaliptik, di mana semuanya tua dan buruk? Mari tambahkan efek penuaan atau korosi.



Mengambil foto



Unduh koleksi foto yang akan Anda gunakan dalam tutorial ini. Karena ukurannya yang besar, itu tidak termasuk dalam unduhan yang ditautkan di atas. Untuk mengunduh koleksi, klik tautan ini:



Unduh foto patung naga (file zip, 695 MB)



Selanjutnya, ekstrak file zip ke lokasi yang Anda inginkan dan buka foldernya. Anda akan melihat kurang lebih 100 foto patung naga yang diambil dari berbagai sudut dan ketinggian.





Inilah yang harus Anda perjuangkan saat mengambil foto. Cakupan foto 360 derajat dari berbagai sudut dan ketinggian memastikan bahwa semua detail yang Anda butuhkan tertangkap.



Saat memotret, gerakkan di sekitar subjek untuk mendapatkan tampilan dari berbagai sudut. Cobalah melangkah sekecil mungkin dan ambil foto dari jarak dekat dan sedikit lebih jauh. Arahkan ke detail close-up dan foto yang menunjukkan keseluruhan model.



Jangan memindahkan atau memutar model saat memotret, karena ini membingungkan beberapa paket perangkat lunak. Gerakkan diri Anda di sekitar objek tanpa menggerakkannya.



Pengaturan kamera



Untuk mendapatkan sekumpulan foto yang tampak seragam, alihkan kamera Anda ke mode manual atau pro . Kebanyakan kamera smartphone memungkinkan Anda untuk beralih ke mode ini, dan kamera DSLR selalu memiliki manual atau M modus .



  • Atur ISO ke Fixed terlebih dahulu . Pengaturan ini mengubah sensitivitas sensor kamera digital terhadap cahaya. Semakin tinggi nilainya, semakin mudah mengambil foto dalam gelap, tetapi semakin bising. Dalam kondisi pencahayaan luar ruangan yang baik, biasanya dapat disetel ke 100 atau 200. Selalu pilih nilai tetap untuk gambar pindaian foto.
  • Jika Anda baru mengenal fotografi, gunakan mode rana tetap atau apertur tetap. Ini terkadang disebut sebagai mode Prioritas . Ini membantu memperbaiki salah satu parameter, memungkinkan kamera mengontrol parameter lain untuk mempertahankan eksposur yang seragam. Ini juga dilakukan untuk mendapatkan foto yang cukup terang.
  • Saat mengambil foto, mereka harus selalu fokus. Hindari gambar yang buram.
  • Selalu ambil gambar dengan orientasi, lanskap atau potret yang sama.




Untuk pencahayaan tengah hari dan mendung dalam situasi ini, ISO tetap 200 muncul .



Membuat pindaian foto dengan Meshroom



Meshroom adalah aplikasi fotogrametri open source yang dapat digunakan untuk membuat model 3D dari foto. Kami akan menggunakannya untuk membuat photoscan dari patung naga.



Unduh versi terbaru dari sini dan instal. Windows atau Linux diperlukan untuk menjalankan perangkat lunak.



Setelah memulai Meshroom, Anda akan melihat antarmuka utama. Dalam mode ini, Anda dapat melakukan semua yang Anda butuhkan untuk membuat pindaian foto.



Berikut adalah uraian singkat dari setiap bagian dari antarmuka utama:





  1. Foto yang perlu dibuat ulang dalam 3D diseret di sini.
  2. Image Viewer hanyalah jendela pratinjau untuk setiap foto.
  3. 3D Viewer . , , , .
  4. Graph Editor , 3D. (, Node). . , .
  5. Node Graph Editor. , .


Impor foto ke Meshroom



Buka foto patung naga yang diunduh. Kemudian seret mereka ke jendela Gambar Meshroom.



Foto ditampilkan dalam urutan nama file di jendela Gambar .





Selanjutnya klik File ► Save As… , pilih lokasi folder baru pada disk dan simpan proyek sebagai Dragon.mg .





Selanjutnya, tutup semua aplikasi yang tidak perlu untuk mempersiapkan proses pembuatan ulang Meshroom. Pemindaian tidak akan dimulai jika komputer memiliki sumber daya yang rendah.



Memulai Proses Rekreasi Meshroom



Pada titik ini, Anda siap untuk mulai membuat ulang. Klik pada tombol Start untuk memulai proses.





Saat proses sedang berjalan, Anda dapat melacak kemajuannya di jendela Editor Grafik . Perhatikan bilah kemajuan kecil berwarna di setiap simpul. Prosesor komputer Anda kemungkinan besar akan mencapai penyelesaian dalam 15-30 menit, tergantung pada kecepatannya.





Setelah selesai, hasil pindaian akan ditampilkan di jendela Penampil 3D .





Sekarang tahan tombol kiri mouse dan seret kursor untuk memutar model atau tombol tengah mouse dan seret kursor untuk menggeser kamera dalam tampilan 3D. Nikmati model 3D yang dibuat oleh prosesor Anda!





Selanjutnya, buka folder tempat Anda menyimpan file proyek Meshroom. Di dalamnya Anda akan menemukan folder MeshroomCache . Di sinilah file dari objek yang dipindai dikeluarkan.





Mengimpor ke dalam Blender



Selanjutnya, kita akan menggunakan aplikasi grafik 3D populer untuk mengimpor pindaian model naga 3D dan membersihkannya untuk mempersiapkannya untuk diimpor ke Unity.



Jika Anda tidak memiliki Blender 2.80 atau lebih tinggi, unduh dan instal. Anda bisa mendownloadnya disini .



Setelah penginstalan selesai, luncurkan Blender.



Jika Anda baru mengenal Blender maka jangan takut dan santai! Meskipun antarmuka dan kontrolnya dapat membingungkan, di sini Anda akan menemukan banyak pintasan keyboard dan tangkapan layar yang berguna bagi kami.



Setelah layar peluncuran Blender terbuka, klik Umum di bawah File Baru . Secara default, file baru berisi objek kubus. Klik kubus untuk memilihnya, lalu tekan DeleteUntuk menyingkirkan itu. Kami sekarang memiliki ruang kosong untuk bekerja dengan:





Selanjutnya klik File ► Import ► Wavefront (.obj) . Arahkan ke folder MeshroomCache tempat Meshroom menyimpan file model objek yang dipindai. Di folder ini, temukan model di subfolder MeshroomCache / Texturing / GUID . GUID adalah nama folder dengan pengenal acak yang ditetapkan setelah pemindaian selesai.



Kemudian klik dua kali pada texturedMesh.obj untuk mengimpor pindaian ke Blender.





Pengimporan bisa memakan waktu lama karena model foto yang dipindai cukup besar.





Mari kita mulai dengan mendapatkan gambaran tentang seperti apa rupa naga yang dipindai foto secara default. Klik pada tombol Viewport Shading di jendela Blender utama untuk mengaktifkan shading dan tekstur penuh untuk jendela itu.





Kemudian tekan dan tahan Shift + tombol tengah mouse untuk menyeret jendela sehingga model naga utama berada di tengah layar. Tahan tombol tengah mouse dan seret untuk memutar jendela. Anda dapat memperbesar dan memperkecil dengan roda mouse.



Lihat seberapa bagus tampilan pemindaian default. Kerja bagus!





Perbaikan blender



Modelnya rumit dan memiliki banyak simpul dan detail. Sekarang kita akan mengurangi jumlah poligon dengan pengubah Decimate Blender yang cepat dan efisien .



Jika Anda membuat game yang didistribusikan secara komersial yang membutuhkan lebih banyak pengoptimalan, mungkin perlu waktu lebih lama untuk mengurangi jumlah poligon secara kualitatif. Namun sejauh ini kami cukup senang dengan Decimate.



Di panel Scene Collection dari editor Blender, klik texturedMesh ► Pengubah ► Tambah Pengubah .





Pilih Decimate dari daftar .





Bidang kustomisasi kecil muncul dengan opsi Decimate.



Pilih Ciutkan dengan Rasio dari 0,1 dan Faktor dari 2,0 . Kemudian klik Apply .



Ini akan mengurangi detail seluruh model dan mengurangi jumlah simpul sekitar 10 kali! Anda tidak akan melihat banyak kehilangan detail, tetapi profiler Unity dan kecepatan game akan berterima kasih!



Menyingkirkan rumput



Sekarang kita perlu menangani yang paling jelas.



Jika Anda berencana untuk membuat adegan di mana naga berada di tengah taman bermain atau halaman rumput yang rapi, maka Anda sudah selesai. Tapi kita akan menempatkan naga ini di sekitar desa Viking, jadi rumput ini tidak cocok untuk kita.



Sekarang mari fokus untuk menghilangkan rumput dari jaring.



Di Blender, alihkan dari Object Mode ke Edit Mode . Untuk melakukan ini, Anda dapat menggunakan UI atau menekan Tab pada keyboard Anda.





Perhatikan perubahan di jendela: sekarang simpul naga ditampilkan di sana, dan semuanya disorot.





Memilih simpul



Selanjutnya, kita akan memilih hanya simpul yang dimiliki oleh rumput di sekitar pangkal naga, dan kemudian menghapusnya.



Harap perhatikan bahwa langkah selanjutnya akan membutuhkan banyak kesabaran.



Pertama, pilih alat Pilih Lasso , menekan Shift + Space, L . ( Shift dan Spasi pada saat bersamaan, diikuti oleh L ).



Atau gunakan panel UI untuk memilih alat Select Lasso .





Berikutnya, gunakan kombinasi dari menekan tombol tengah mouse dan menyeret untuk rotasi dan tombol tengah mouse + Shift dan menyeret untuk gerakan panorama untuk memeriksa model dari semua sisi.



Dari setiap sudut, laso dengan hati-hati mengambil bagian atas rumput di sekitar pangkal naga. Tekan Shift di antara setiap pilihan untuk menambahkan daerah baru yang dapat dipilih ke simpul yang sudah dipilih.



Berikut adalah GIF yang menggambarkan proses ini:





Dari waktu ke waktu, Anda perlu memutar area pandang untuk memilih simpul yang berada di belakang tepi jaring rumput.



Jika Anda telah memilih beberapa simpul yang tidak ingin Anda hapus, kemudian klik pada mereka satu per satu dengan Shift + tombol kiri mouse untuk menghapusnya dari simpul yang dipilih.



Dengan semua rumput dan simpul sekitarnya dipilih, tekan Delete ► Simpul untuk menghapusnya.







Perhatikan baik-baik jaring yang tersisa saat Anda memperbesar, memperkecil, dan memutar area pandang. Ulangi proses pemilihan dan penghapusan untuk semua simpul yang Anda lewatkan.



Setelah selesai, Anda akan melihat gambar menakutkan serupa:





Tutup dasar jaring



Sekarang masuk ke Mode Edit jika Anda belum di dalamnya. Beralih mode dilakukan dengan menekan tombol Tab . Kemudian pilih seluruh batas bawah simpul dari jaring naga menggunakan alat Select dan menahan Shift . Ini akan membutuhkan kesabaran.





Atau Anda dapat menggunakan alat Select Lasoo untuk ini .





Dengan simpul yang dipilih, klik Vertex Smooth Vertices .





Ini akan memuluskan cincin simpul pilihan kita sedikit.



Sekarang pilih alat Kursor 3D dengan menekan Shift + Spasi, Spasi dan posisikan di tingkat simpul terendah di batas bawah yang dipilih dengan menekan tombol kiri mouse . Untuk menentukan puncak terendah, Anda dapat menggeser dan memutar area pandang untuk melihat naga dari samping.



Lalu tekan tombolnya . ("Titik") untuk memilih Titik Pivot , lalu pilih Kursor 3D untuk menggunakan posisi kursor 3D sebagai titik referensi.



Lalu tekan S, Z, 0, Enter(itu nol, bukan O). Rangkaian perintah ini akan menskalakan semua simpul yang dipilih ke ketinggian yang sama dengan titik jangkar yang kita buat dengan kursor 3D.



Sekarang kami mendapatkan sesuatu seperti ini:





Terakhir, klik Vertex ► New Edge / Face from Vertices .



Ini akan membuat basis baru untuk naga dengan menutupi semua simpul yang dipilih dan membuat wajah baru.







Menggerakkan naga



Kemudian kembali ke Object Mode dengan menekan Tab dan pilih objek texturedMesh . Pindah ke naga adegan koordinat titik awal dengan alat Move , menekan Shift + Spasi, G . Terapkan alat Rotate dengan menekan Shift + Space Bar, R , dan putar ke posisi yang diinginkan.



Sekarang pilih Alat Kursor 3D dan klik di sekitar bagian tengah punggung naga. Tekan F3 , masukkan Set Origin dan tekan Enter . Selanjutnya, pilih Origin to 3D Cursor dari daftar perintah yang muncul .



Titik kuning muncul di tengah kursor 3D, menunjukkan asal baru model tersebut.





Kami siap mengekspor model!



Selanjutnya, klik File ► Ekspor ► Wavefront (.obj) .



Pilih Mode Jalur ► Salin dan pastikan Hanya Pilihan dipilih dalam Pengaturan Ekspor . Simpan file sebagai Dragon.obj di lokasi yang nyaman bagi Anda.





Nilai Salin untuk Mode Jalur Ekspor memastikan bahwa tekstur disalin dan direferensikan dari folder yang sama dengan model .obj. Ini menghindari masalah dengan tekstur yang hilang saat mengimpor ke Unity.



Memindahkan semuanya ke Unity



Sekarang mari buka proyek Starter di Unity dan kemudian buka scene Assets / RW / Scenes / PhotoscanDragon . Temukan alas kosong di antara bebatuan di desa. Di sinilah kita akan memasang model naga yang telah difoto.





Sekarang mari seret model yang diekspor dan file yang diekspor terkait ke dalam folder proyek Assets / RW / Model / Dragon .





Kemudian kita akan menggunakan jendela Unity Hierarchy untuk menemukan GameObject FocalPoint . Seret model Assets / RW / Model / Dragon / Dragon.obj ke dalam layar dan jadikan itu anak dari GameObject FocalPoint .





Sekarang mari kita ubah posisi dan rotasi komponen Transform pada objek Naga sebagai berikut:



  • Posisi: (X: -33.32, Y: 0.53, Z: 5.08)

  • Rotasi: (X: -2.229, Y: 90, Z: -0.6)




Catatan : posisi dan rotasi Anda mungkin sedikit berbeda tergantung di mana Anda mengklik saat mengatur titik jangkar di Blender.


Sekarang tekan Mainkan dan kagumi naga pindaian foto kami yang diambil dari dunia nyata dan dibuat ulang dalam 3D penuh.





Kemana selanjutnya?



Proyek yang sudah selesai dapat diunduh dari tautan di awal artikel.



Untuk mencapainya, kami melalui banyak langkah sambil belajar tentang fotogrametri, mengedit mesh 3D di Blender, manipulasi titik, dan mentransfer seluruh model ke Unity!



Saya ingin berterima kasih kepada The Tales Factory dari Unity Asset Store karena mengizinkan saya menggunakan aset Photoscanned MountainsRocks PBR dalam adegan Dragon Viking Village.



Saya sarankan untuk memeriksa aset pindaian foto mereka yang luar biasa .



Langkah selanjutnya terserah Anda. Apa yang ingin Anda buat ulang dan integrasikan ke dalam proyek Unity Anda? Di bawah ini adalah sumber daya dan bacaan tambahan yang dapat membantu Anda melanjutkan pekerjaan Anda:






All Articles