Apa yang terjadi pada tekstur yang dihasilkan secara prosedural? [Tutup]


23

Saya ingat beberapa waktu lalu bahwa tekstur yang dihasilkan secara prosedural menjadi masalah besar sehingga banyak orang / perusahaan benar-benar tertarik dengan beberapa manfaat serius (penyebaran yang lebih kecil, berpotensi memuat lebih cepat, kualitas lebih tinggi, tekstur yang dapat diskalakan, berpotensi lebih murah untuk diproduksi, dll. ).

Dari apa yang bisa saya katakan, buzz sudah mati dan tidak ada game di radar saya yang menggunakannya. Apa yang terjadi?

Saya berharap saya akan melihat tekstur prosedural berjalan seperti yang dimiliki NaturalMotion (adopsi lambat tapi pasti).

Jawaban:


14

Alat pembuatan konten untuk tekstur prosedural telah menjadi penghalang terbesar. Artis sangat cepat menyusun hal-hal di Photoshop dan keuntungan potensial dengan tekstur prosedural belum melebihi peningkatan waktu pembuatan konten.

Allegorithmic ( http://www.allegorithmic.com/ ) memiliki beberapa alat menarik yang telah mereka kembangkan untuk mencoba dan membuat opsi prosedural lebih ramah pengguna. Belum bermain dengan mereka cukup untuk benar-benar mengomentari kegunaan mereka.


1
Allegorithmic adalah perusahaan yang awalnya saya dengar ketika bom buzz melanda dan daftar klien mereka memiliki beberapa pemain besar, tetapi, mengingat mereka sudah lama berkecimpung dalam bisnis, itu masih sangat kecil.
Steven Evers

1
Produk Zat Allegorithmic terlihat BENAR-BENAR bagus .. Jika Anda melihat video yang ditemukan di sini: allegorithmic.com/?PAGE=PRODUCTS.designer
Nailer

4

Hilangnya kontrol artistik, dan peningkatan ukuran opsi penyimpanan membuat ini sulit dijual. Itu, ditambah Anda harus melatih kembali artis, sementara Anda menyewa mereka untuk apa yang mereka pandai dalam tekstur tradisional. Kecuali ukuran atau tekstur unik benar-benar masalah, ada keinginan umum kecil untuk pergi dengan cara prosedural.


3

Pada dasarnya, senjata besar tidak mendukungnya, jadi itu tidak banyak digunakan. Ada hal-hal keren (walaupun sedikit tua), seperti .kkrieger tetapi waktu pemuatan (kembali pada hari itu) lambat sekali, karena harus menghasilkan semua tekstur pada waktu pemuatan.

Kita mungkin melihat sesuatu di mesin generasi berikutnya (Unreal 4 dll) tetapi saya tidak berpikir bahwa gain vs pengembangannya cukup besar.

Ada banyak contoh di dunia AAA, misalnya Spore secara prosedural menghasilkan tekstur dan animasi untuk makhluk yang Anda buat.


3

Tekstur prosedural mengalami masalah yang tidak dapat dipercaya oleh seorang Direktur Seni pada karya seorang Artis dan mengatakan "tolong buat bagian itu sedikit lebih X." karena sistem naungan prosedural mungkin tidak mendukung X dengan murah atau tidak sama sekali.

Misalnya, shader bata dapat mendukung bata cokelat bersih, tetapi mungkin tidak mendukung bata yang dilukis dengan iklan 80 tahun yang lalu dan grafiti 10 tahun yang lalu. Atau mungkin tidak mendukung memiliki satu bata ungu dari 1.000 bata coklat. Tepat di satu tempat itu, karena tempat itu menarik bagi selera Art Director.

Tekstur nyata dapat mendukung semua hal ini tentunya, dan dalam hal ini tekstur nyata lebih unggul daripada tekstur prosedural.

Tekstur prosedural memberikan kontrol artistik berdasarkan preferensi untuk kasus penggunaan tertentu daripada yang lain. Tekstur nyata sedikit memberikan kontrol seperti itu.

Perangkat keras GPU, bagaimanapun, memiliki preferensi yang kuat untuk proseduralisme, karena memori tekstur begitu banyak siklus dari unit ALU yang melakukan shading.


Saya menemukan ini sulit untuk ditelan. Ini bukan batasan tekstur prosedural bahwa batu bata tidak bisa menjadi warna yang berbeda dari yang lain, itu adalah batasan teknologi pelaksana. Tentu, saya bisa setuju bahwa pada suatu titik terlalu spesifik akan lebih besar daripada manfaat melakukan sesuatu secara prosedural, tetapi itu adalah intinya.
Kevin Peno

Satu batu bata mungkin merupakan contoh buruk, tetapi contoh lainnya berlaku. Sangat rumit dan memakan waktu untuk mendefinisikan algoritma baru untuk sedikit perubahan "rasa" untuk tekstur, tetapi sangat murah dan mudah bagi seorang seniman untuk melakukan perubahan. Ingatlah bahwa para insinyur biasanya dibayar lebih dari sekadar artis, jadi waktu yang dihabiskan insinyur untuk melakukan apa yang dapat dilakukan oleh seorang seniman lebih cepat adalah konyol.
Sean Middleditch

@SeanMiddleditch, insinyur mungkin mendapat bayaran lebih dari artis, tetapi perbedaannya adalah - begitu seorang insinyur memiliki kode tertulis, itu dapat digunakan kembali selamanya, tanpa biaya lebih lanjut. Jadi walaupun mungkin perlu waktu untuk mengembangkan generator prosedural yang dapat dimodifikasi, hingga ke tingkat batu bata individu - setelah selesai, itu akan bebas untuk digunakan. Jika perusahaan membayar artis untuk setiap perubahan, mereka harus terus melakukannya untuk setiap persyaratan perubahan baru yang muncul, tidak seperti solusi otomatis.
Cyclops

2
@ Cyclops: semoga sukses dengan prosedur super ajaib yang memungkinkan Anda melakukan detail yang disengaja seorang artis. Saya berharap dapat membaca makalah penelitian inovatif Anda ketika dirilis dan akhirnya melisensikan teknologi über artis Anda yang sudah usang. :)
Sean Middleditch

1

nampaknya masih merupakan ide bagus untuk game. Karena Anda bisa secara prosedural menghasilkan tekstur saat terbang sehingga dunia di sekitar pemain akan terlihat lebih alami. Tidak perlu data besar. Dapat dipastikan digunakan untuk meningkatkan resolusi


0

Anda memiliki pertukaran memori waktu yang khas . Baik suka atau tidak, generasi prosedural memperdagangkan waktu CPU untuk menghemat memori. Sebenarnya karena penyimpanan menjadi lebih murah dan orang-orang selalu menginginkan waktu pemuatan yang lebih pendek, trennya adalah sebaliknya - aset yang dipra-generasi atau difoto menghabiskan memori dengan imbalan kecepatan.

Apakah jpg memuat lebih cepat dari versi yang dibuat secara prosedural? Kemungkinan besar, ya . Jika jpg adalah 2MB dan Anda memuatnya sekali, mengapa Anda harus repot dengan prosedural? Pada saat runtime, tekstur mengambil jumlah RAM yang sama (tidak terkompresi dan dimuat ke dalam memori GPU)


JPEG sangat tidak mungkin memuat lebih cepat daripada kebanyakan algoritma tekstur prosedural. Waktu akses disk jauh lebih besar daripada waktu pemrosesan CPU / GPU, dan karena tidak ada orang waras yang menggunakan JPEG untuk tekstur dan menggunakan tekstur terkompresi yang lebih besar yang dioptimalkan GPU dengan lapisan mipmap yang dikomputasi, waktu muat disk bahkan lebih buruk untuk tekstur nyata. Ada alasan mengapa tekstur prosedural menghisap (disebutkan dalam jawaban lain), tetapi waktu buka umumnya bukan salah satunya. Saya yakin ada pengecualian untuk algoritme yang rumit atau tidak efisien, tentu saja.
Sean Middleditch

Ya, seperti .dds. Saya hanya menggunakan JPG sebagai contoh. Maksud saya adalah generasi prosedural dari batu bulat yang terlihat keren, atau air, atau pohon di hutan menggunakan sistem-L atau apa pun yang membutuhkan waktu lebih lama (tapi pas dalam 96k!) Daripada hanya memuat konten pada disk, maka tidak ada yang mau melakukannya rute, hanya untuk mengurangi waktu muat.
bobobobo
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.