Mengapa tidak lebih banyak game yang menggunakan seni vektor? [Tutup]

84

Tampaknya bagi saya bahwa seni vektor lebih efisien dalam hal sumber daya / skalabilitas; namun, dalam banyak kasus saya melihat seniman menggunakan bitmap / rasterized art. Apakah ini batasan yang dikenakan pada para seniman oleh para programmer / desainer game? Sebagai seorang programmer saya pikir seni vektor akan lebih ideal, karena memungkinkan untuk meningkatkan resolusi tanpa harus membuat ulang seni, membuat grafik yang sangat besar atau menyebabkan gambar menjadi buram.

Pertanyaannya: mengapa tidak banyak orang yang menggunakan SVG / AI untuk membuat game art 2D? Apakah itu sebenarnya lebih disukai (dan siapa yang lebih suka)? Apakah grafik bitmap standar atau batasan (atau mungkin juga tidak)?

Latar Belakang: Saya sedang mengerjakan mesin, dan saya punya beberapa ide keren untuk grafis berbasis vektor; namun, saya tidak ingin mengecewakan artis di masa depan.

Saya kira ini lebih merupakan pertanyaan yang berpusat pada pragmatisme dan pengembangan game.

Parris
sumber
1
Mungkin ada hubungannya dengan bagaimana GPU dan perangkat keras bekerja secara efisien pada gambar raster ukuran tertentu juga, seperti 256x256 (atau kekuatan dua secara umum).
ashes999
4
Sebagian besar kali saya menemukan pertanyaan yang saya minati di sini adalah "berdasarkan pendapat" dan mereka "tertutup". Sangat buruk!
Joe Huang
Game vektor lebih efisien, game Pixel lebih elegan. Saya lebih suka seni pixel daripada vektor hanya karena saya dapat menghargai upaya yang dilakukan untuk membuatnya, dan bahwa mereka tajam dan menarik secara visual. Game vektor lebih cepat dibuat dan lebih bersahabat dengan kamera. Segera setelah pixel art diregangkan atau dikompresi, itu tidak lagi terlihat seperti yang seharusnya, dan mungkin juga merupakan vector art. Bagi saya, seni vektor buram dan membuat frustrasi.
Dmitry
Ini bukan hanya permainan tetapi mempertimbangkan buku-buku komik, misalnya: grafik raster umumnya lebih banyak digunakan di sana dengan Photoshop daripada Illustrator. Sulit untuk menggambar gradasi warna yang halus, perpaduan piksel, memperhalus tepi, dll. Dengan cara yang sangat tepat menggunakan grafik vektor. Anda tidak dapat mengotori piksel dengan mudah seperti melukis di atas kanvas dengan gambar vektor. Mereka cenderung sangat tajam - cocok untuk gaya kartun tertentu tetapi tidak terlalu banyak untuk menggambar bentuk pembulatan halus, bayangan lembut, sfumato, dll.

Jawaban:

58

Tidak seperti bentuk seni lainnya, seni vektor membutuhkan ketelitian yang sangat tinggi, sehingga tidak cocok untuk banyak gaya seni. Bentuk-bentuk dasar dan semacamnya mudah menggunakan seni Vektor, tetapi hanya menyakitkan untuk menambahkan detail kecil yang akan sangat mudah untuk dilukis. Jadi agak terbatas pada gaya "simbolis" yang sangat sederhana. Untuk semua yang lain, melukis hanya bekerja lebih baik.

Apa yang cocok untuk seni vektor, adalah ikon dan desain dan di sana Anda tidak akan menemukan banyak seniman yang akan menggunakan sesuatu yang berbeda.

Ngomong-ngomong: Skalabilitas sebenarnya bukan masalah untuk grafik raster, melukis dalam resolusi 10x tidak terlalu berbeda dengan melukis pada resolusi yang akan ditampilkan. Sesuatu yang dilakukan cukup banyak saat ini (sering diiklankan sebagai "HD-Graphics").

API-Beast
sumber
ahhh ini masuk akal!
Parris
1
@ Mr.Beast Saya tahu pertanyaan ini dijawab beberapa waktu lalu, tetapi apa artinya melukis dalam resolusi 10x?
bitbitbot
@bitbitbot Jika sprite Anda biasanya ditampilkan pada 20x20 piksel, gambarkan dengan 200x200 piksel. Dengan begitu akan tetap tajam tajam saat diperbesar. Tidak perlu lebih detail, cukup untuk menghindarinya agar tidak terlihat besar.
API-Beast
1
-1 Saya pikir ini terutama karena sejarah Game yang dimulai dengan sprite yang diberikan piksel hanya untuk tujuan kinerja. Anda harus ingat bahwa menangani vektor jauh lebih serakah dari pada CPU serakah rasterisasi sederhana, pada saat itu solusi ini sama sekali tidak mungkin dengan CPU saat ini. Ini juga tidak sesederhana seperti yang terlihat pada pandangan pertama di luar vektor, misalnya mesin game menjadi jauh lebih rumit ketika menangani vektor bukan sprite mentah biasa. Saat ini hanya untuk mengingatkan Anda bahwa sebagian besar game menggunakan konten 3D dan tingkat detailnya sangat mencengangkan.
user14170
39

Grafik vektor biasanya lebih efisien daripada grafik raster untuk penyimpanan (mis. Ukuran file lebih kecil) tetapi jauh lebih efisien untuk kinerja (mis. Berapa lama waktu yang dibutuhkan komputer untuk menggambar gambar).

Untuk menampilkan gambar, komputer harus meraster gambar tersebut (mis. Menghitung piksel dalam gambar). Karena grafik raster secara definisi sudah dirasterisasi, tidak ada banyak perhitungan yang harus dilakukan komputer sebelum membuang piksel ke buffer belakang.

Namun masalah ini tergantung pada apakah Anda berbicara tentang menggunakan grafik vektor secara real time dalam permainan, atau jika Anda berbicara tentang seniman menggambar di Illustrator dan kemudian mengekspor ke format raster seperti png.

jhocking
sumber
1
Saya kira saya terutama berpikir tentang rendering grafik vektor secara real time; Namun, merasterisasi mereka bisa masuk akal. Saya pikir pada saat itu tidak ada banyak perbedaan daripada hanya menggunakan alat grafik raster.
Parris
3
Grafik vektor tidak selalu lebih efisien untuk penyimpanan - secara umum, karena detail dalam gambar meningkat demikian juga kerumitan perwakilannya sebagai gambar vektor. Biasanya ada titik di mana gambar rinci sebenarnya akan lebih kompak dalam bentuk raster daripada bentuk vektor - Saya percaya sebagian besar tekstur termasuk dalam kategori ini, yang merupakan alasan bagus mengapa raster digunakan lebih dari vektor.
Mac
7
@Parris Rendering grafis vektor secara real time adalah rasterizing mereka; frame buffer itu sendiri adalah array raster, sehingga pada beberapa titik dalam proses - apakah itu di dalam pipa alat Anda, di mesin Anda, atau di driver di bawah mesin Anda - grafis vektor akan dikonversi ke raster, dan konversi yang akan mengambil sejumlah waktu. Tidak harus banyak waktu - tetapi jumlah yang tidak dapat diabaikan.
Steven Stadnicki
1
@ StevenStadnicki ya itu benar! Saya kira melakukannya sebelum tangan hampir merupakan optimasi.
Parris
17

Bahkan, ada sejumlah game 2d yang menggunakan jumlah apa untuk seni vektor; Ghost Trick Capcom: Phantom Detective, misalnya, pada dasarnya menghasilkan karakter in-engine sebagai grafis vektor. (Lebih tepatnya, saya percaya mereka diberikan sebagai daerah poligon yang diisi rata, yang dalam hal ini sama dengan hal yang sama). Lebih luas, model poligonal secara umum dapat dianggap sebagai data 'vektor' - mereka mewakili simpul, tepi dan wajah dari sebuah objek - sebagai lawan (layar resolusi) Data 'raster', sehingga dalam beberapa cara permainan yang paling 3d yang menggunakan deskripsi data vektor.

Tapi saya kira pertanyaan Anda lebih tentang seni 2d, dan ada beberapa faktor yang ikut berperan. Seperti yang dikatakan Mr. Beast, detail kecil membuat seni vektor sedikit lebih sulit untuk dibuat; bayangkan sesuatu seperti sabuk granat pada karakter, di mana bahkan sedikit copy-paste dari granat individu masih tidak akan menghemat banyak waktu pada upaya. Saya pikir masalah yang lebih besar, meskipun, adalah bahwa grafis vektor mengambil kendali jauhdari artis; seperti yang Anda perhatikan, seni vektor mungkin terlihat jauh lebih baik, tetapi masalah sebenarnya adalah pada resolusi yang lebih rendah, di mana detail rasterisasi yang fiddly dapat secara substansial mengubah penampilan gambar. Bayangkan mata seorang tokoh, misalnya; batas luar mungkin berbentuk oval tidak lebih dari sepuluh atau dua puluh piksel dan mungkin hanya segelintir piksel. Pada resolusi tersebut, bagaimana data vektor - baik itu garis, busur sirkuler atau kurva Bezier - dirasterisasi menjadi masalah penting, dan kecuali jika seniman Anda dapat bekerja secara langsung di dalam mesin - yang pada dasarnya berarti membuat program menggambar vektor yang sama sekali baru - maka mereka memiliki waktu yang sulit untuk menjamin bahwa penampilan objek mereka dalam game akan cocok dengan penampilan di alat mereka. Apalagi, hanya tampil benar pada satu resolusi bukanlah jaminan sama sekali bahwa mereka akan tampak benar di resolusi lain; sekali lagi, penskalaan bekerja dengan baik ketika Anda berhadapan dengan objek-objek di mana detailnya lusinan atau ratusan piksel, tetapi ketika Anda turun ke fitur skala kecil maka rendering skala Anda berjalan ke detail rasterisasi yang persis sama.

Yang mengatakan, rendering vektor tidak selalu tidak tepat, dan sering bisa menjadi pilihan gaya untuk efek yang sangat baik. Tapi itu bukan obat mujarab untuk masalah yang Anda angkat dengan grafik raster, dan itu menimbulkan masalah baru juga.

Steven Stadnicki
sumber
7

Saya percaya bahwa itu sebagian besar merupakan kombinasi dari tradisi, alat dan teknologi, dan harapan, yang semuanya saling memberi umpan balik.

  • tradisi - grafik raster adalah cara termudah untuk membuat gambar terperinci untuk sebagian besar sejarah pengembangan gim dan dengan demikian cara kerja berlangsung di antara programmer dan artis, sejak zaman sebelum para seniman bahkan terlibat secara luas dalam permainan. Kode yang ada berkisar pada bitmap, dan seniman yang ada belajar untuk bekerja dengan bitmap. Dan selalu mahal untuk melatih ulang dan memprogram ulang.
  • alat dan teknologi - seniman cenderung memulai dengan bitmap grafik dan alat pengeditan foto secara default, mungkin karena lebih mirip media tradisional, tetapi apa pun alasan hasilnya adalah editor vektor yang baik kurang umum dan kurang terkenal daripada editor bitmap yang baik. Selain itu, baru-baru ini saja teknologi untuk rendering vektor sudah cukup cepat untuk gim - devs yang menggunakan Flash untuk gim biasanya menggunakan antarmuka bitmap hingga saat ini, dan teknologi jenis Canvas / SVG juga relatif baru dalam hal dukungan efisien. Ditambah lagi, sebenarnya tidak ada perpustakaan render vektor dominan (yang saya ketahui) yang dapat digunakan secara luas oleh orang-orang, dibandingkan dengan alternatif seperti SDL, XNA, pygame, dll, sehingga programmer tidak melihat ini sebagai rute yang sangat memungkinkan. Tetapi' bukan programmer yang harus menerapkan ini pada artis - biasanya artis jauh lebih nyaman dengan pengeditan bitmap. (Lagipula, seniman tidak selalu desainer grafis.)
  • ekspektasi - pemain game secara konsisten mengharapkan game yang tampak lebih realistis seiring kemajuan teknologi. Ini mungkin didorong oleh para pemain itu sendiri, atau oleh penerbit dan pemasaran, atau oleh produsen perangkat keras yang ingin menjual kartu grafis, atau oleh para pakar yang berpendapat bahwa permainan pada dasarnya adalah film interaktif, atau kombinasi dari yang di atas. Tetapi terlepas dari siapa yang menyebabkan ini, itu adalah faktor, dan pasar umumnya mendorong ke arah grafik yang realistis. Vektor tidak cocok untuk grafik yang realistis dan karena itu hanya relatif baru, di mana grafik berkumpul pada fotorealisme dan dengan demikian kehilangan identitas, bahwa ada kebangkitan dalam grafis bergaya dan minat pada gaya presentasi yang berbeda seperti seni vektor.

Hal yang menarik tentang poin-poin ini adalah Anda dapat melihat bahwa semuanya berubah. Mungkin penggunaan grafik vektor akan meningkat dalam waktu dekat. Perangkat keras grafis modern sangat cocok untuk grafik vektor, jadi masalahnya sebenarnya hanya tentang menciptakan rantai teknologi yang baik untuk memasukkan seni ke dalam permainan dan ke layar.

Kylotan
sumber
5

Sepertinya perbedaan dalam pendekatan ... lebih tentang membangun seni Anda daripada menggambar itu. Saya lebih suka seni vektor karena itu mudah untuk mengubah, menggunakan kembali, penskalaan dan rasa kartun yang dapat saya buat dengan mudah. Kebanyakan seniman 'terlatih' lebih suka pendekatan menggambar dan melukis sementara banyak seniman grafis suka menggunakan vektor.

Lihat blog saya: http://2dgameartforprogrammers.blogspot.com.au/

Sangat membantu untuk memulai di awal dan membaca tutorial sebelumnya terlebih dahulu. :)

SpriteAttack
sumber
2

Saya membaca sebuah artikel berjudul Icon Design: Bitmap vs Vector beberapa waktu lalu yang menunjukkan kejelasan detail yang hilang ketika menskala gambar vektor. Bukan karena kehilangan terjadi, itu bisa disesuaikan secara halus sebagai bitmap.

Lihatlah contoh ikon printer ini (gambar yang dilingkari adalah master dalam setiap kasus):

masukkan deskripsi gambar di sini

Sweet spot adalah untuk skala menggunakan vektor kemudian sesuaikan dengan raster. Jadi saya kira apa yang saya katakan adalah mereka bisa menggunakan vektor tetapi hasil akhirnya adalah raster.

PhilJ
sumber
10
-1. Anda membandingkan apel dan jeruk di sini. Anda mengatakan bahwa gambar raster lebih baik, karena Anda dapat menambahkan lebih banyak detail. Anda bisa juga membuat ikon grafik vektor untuk setiap ukuran ikon (dengan detail yang sesuai, lebar goresan dll) dan itu akan bekerja dengan baik. Jelas bahwa meningkatkan grafik vektor tidak akan secara ajaib menambahkan lebih detail .. tetapi meningkatkan bitmap akan menghasilkan kualitas yang lebih buruk.
bummzack
4
"Anda bisa juga membuat ikon grafik vektor untuk setiap ukuran ikon" setuju. Baik membuat banyak gambar vektor atau banyak gambar raster menciptakan lebih banyak pekerjaan. Maksud saya adalah akan lebih baik jika Anda dapat membuat satu gambar vektor besar dengan semua detail yang dapat diperkecil untuk semua ukuran. Dalam artikel itu, itu menunjukkan bahwa sayangnya itu tidak mudah dalam semua keadaan.
PhilJ
@ PhilJ itulah yang saya pikirkan. Menambahkan semua detail yang Anda inginkan lalu turunkan jika diperlukan, tetapi tidak akan aneh jika Anda memperbesarnya juga.
Parris
2

Ini terutama masalah teknis yang sebagian besar perusahaan tidak akan menggunakan seni vektor murni dalam permainan mereka. Saya tahu banyak seniman yang membuat kreasi mereka dalam Flash atau Illustrator, hanya untuk memompa gambar raster yang akan ditampar pada sprite poligon. Ini hanya kendala teknis bahwa sebagian besar perusahaan besar tidak terlalu tertarik untuk mencari tahu.

Di bawah ini adalah contoh karakter animatable, dibuat di AI, dengan sekitar 13 bagian yang bergerak. Akan sangat bagus untuk dapat menggunakan ini, tetapi kami harus dengan susah payah menempatkan setiap bagian di dalam gambar mereka sendiri yang terpisah. Satu-satunya keuntungan adalah bahwa kami memiliki aset-aset ini siap untuk ditingkatkan untuk setiap seni pemasaran.

Contoh karakter vektor untuk animasi

Alasan lain mungkin tidak lebih populer adalah bahwa format EPS memiliki standar yang berbeda dari AI. Jadi semua lonceng dan peluit yang ingin dimasukkan ke dalam gambar mereka diinjak-injak saat dikonversi sebagai EPS.

Pada akhirnya, saya tidak tahu apa yang diperlukan untuk mengimplementasikan seni vektor ke dalam sebuah permainan, tetapi saya tahu pasti bahwa sebagian besar insinyur yang telah bekerja dengan saya memilih untuk hanya meludahkan png alih-alih menghadapinya.

Brian James
sumber
1

Saya tidak dapat berbicara untuk semua orang, tetapi dari pengalaman pribadi saya, program seni vektor (baca: Inkscape, satu-satunya yang saya coba) lebih sulit untuk digunakan dan tidak begitu intuitif seperti program grafik bitmap. Semua orang mengerti kuas dan ember. Kurva lebih sulit.

tesselode
sumber