Apa sajakah cara untuk menerapkan bentuk tubuh variabel?


9

Permainan seperti Ryzom dan Sims memungkinkan pemain untuk memiliki tubuh manusia dengan bentuk yang berbeda: lebar atau tipis, tinggi atau pendek, hidung besar atau kecil, dll. Bagi saya itu tidak praktis untuk pra-menghasilkan semua kombinasi yang mungkin dari jerat.

Apa beberapa cara untuk melakukan itu? Apakah jerat didefinisikan secara terprogram? Apakah ini merupakan rata-rata tertimbang dari beberapa model "target morf"?

Jika ada perhitungan yang harus dilakukan untuk menentukan mesh: apakah dilakukan dalam "geometri shader"? Atau apakah itu dilakukan oleh CPU?

Referensi: Pertanyaan " Bagaimana membuat aset seni untuk editor avatar 3d " disebutkan editor avatar dan elemen tubuh variabel, dan bahwa beberapa game menggunakan target morph dan pengeboman mesin terbang.

Jawaban:


3

Itu harus dilakukan oleh CPU - geometri shader tidak memberikan kesempatan untuk menyimpan hasilnya, yang akan sangat penting, dan tidak semua perangkat yang didukung oleh game-game tersebut mendukung geometri shaders. Mencapai itu bisa sesederhana menerapkan skala matriks ke seluruh bagian atau terpisah.

Sunting: Saya membaca pertanyaan terkait Anda. Anda harus benar-benar mengklarifikasi pertanyaan ini secara eksplisit tentang target morf atau secara eksplisit tentang hanya mengubah skala kustomisasi.


Memberi lebih banyak konteks ke "pertanyaan terkait". Saya tidak menyebutkan target morf; ini jelas tentang penyesuaian. Jika target morph ada di ruang solusi, maka saya ingin tahu lebih banyak tentang mereka; tetapi perhatian saya adalah menerapkan tubuh dengan animasi dan model yang cocok (misalnya, model pakaian) secara konsisten. Saya tidak cenderung ke bagian mana pun dari ruang solusi.
— AngryPuffin

Tidak sepenuhnya benar; jika Anda menggunakan CUDA atau OpenCL, Anda dapat mengakses geometri yang sedang dikerjakan oleh GPU.
— Insinyur
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.