Apakah orang perlu normal untuk Game 2d yang ketat?


8

Saya mulai belajar OpenGL dengan membuat game 2D murni.

Saya harus memutuskan format Vertices. Apakah saya memerlukan komponen normal? Atau ini untuk komponen 2d tidak diperlukan?

Perasaan saya mengatakan saya tidak akan membutuhkannya karena semuanya datar. Tapi mungkin saya membutuhkannya untuk shader atau hal lain yang belum saya lihat.

opengl  2d  normals 

Jawaban:


9

Apakah orang perlu normal untuk permainan 2D? Tidak. Anda bahkan tidak perlu normal untuk gim 3D jika Anda tidak akan repot dengan pencahayaan. Namun, normal dan pencahayaan sangat bisa diterapkan pada game 2D. Anda hanya melakukannya dengan cara yang berbeda. Daripada secara eksplisit mendefinisikan vektor normal 3D yang sejajar dengan verteks Anda, Anda dapat menentukan peta normal yang sejajar dengan grafik 2D Anda. Ini memungkinkan Anda memiliki pencahayaan yang luar biasa epik bahkan dalam gim 2D .


4

Sebenarnya, komponen normal akan diabaikan jika Anda mematikan pencahayaan. Jika Anda dapat menulis shader Anda sendiri dalam bahasa / alat apa pun yang Anda gunakan, maka Anda dapat memastikannya tidak digunakan.


Jika saya mematikan pencahayaan, saya masih bisa menggunakan warna pada simpul saya kan?

Anda harus dapat melakukan itu ya, selama Anda telah mengaktifkan glEnableClientState (GL_COLOR_ARRAY) (ingat untuk menonaktifkan GL_NORMAL_ARRAY)
Luther

1

Anda tidak perlu normals kecuali Anda melakukan simulasi pencahayaan. Mereka cukup sepele untuk ditambahkan begitu Anda membutuhkannya, dibandingkan dengan kesulitan sebenarnya menulis shader pencahayaan.


1

Jika Anda menggambar segitiga Anda dalam ruang 3D, dan kemudian melihat semuanya dari samping agar terlihat 2D (yang seharusnya Anda lakukan), maka Anda akan memerlukan normals agar dapat menggambar lampu di atas paha depan Anda.

Jika Anda tidak menyalakan apa pun, maka Anda tidak akan membutuhkan normals.

Rekomendasi saya karena Anda mengajukan pertanyaan ini, adalah untuk menghilangkan normals untuk saat ini, terlepas dari apa rencana Anda nanti. Tidak akan sulit untuk menambahkannya nanti jika Anda membutuhkannya.


0

Hanya Anda yang tahu apakah Anda akan membutuhkan normals dalam game 2d. Mereka mungkin masuk akal - DOOM, misalnya, memiliki normals meskipun itu adalah game 2d (ya ya, itu terlihat sangat 3d, tetapi secara teknis itu masih game 2d).

Salah satu alasan bagus memiliki norma dalam permainan 2d adalah untuk dapat memeriksa apakah Anda berada di dalam atau di luar bentuk tertentu. Ini juga dapat mempercepat respons tabrakan dinding (mengetahui arah untuk mendorong benda keluar dari dinding).

Tidak ada alasan untuk memberikan normals ke OpenGL atau paket render apa pun yang Anda gunakan jika tidak memerlukannya untuk apa pun (seperti pencahayaan yang ditunjukkan oleh hampir semua orang).


-1

Game macam apa itu? Jika Anda memiliki perspektif top-down, normals mungkin berguna untuk mengatur pergerakan karakter Anda (Anda tahu, menggeser posisi sepanjang normal dari arah karakter yang dihadapinya)

Normalnya juga berguna untuk berbagai perilaku kemudi. Tetapi sebuah tautan mengatakan lebih dari seribu kata: http://www.red3d.com/cwr/steer


Cukup yakin OP secara khusus menanyakan tentang normals untuk verts. Tidak berbicara tentang vektor kecepatan dan hal semacam itu.
Tetrad

Cukup yakin OP secara khusus menanyakan tentang normals untuk verts atau (kutipan mulai) hal lain yang belum saya lihat (kutipan akhir) ...
HumanCatfood
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.