Mengapa game 3D lama memiliki grafik "gelisah"? [Tutup]

15

Saya telah memainkan "MediEvil" , akhir-akhir ini, dan itu membuat saya bertanya-tanya: apa yang menyebabkan beberapa game 3D lama memiliki grafik "mengalir", ketika bergerak? Ini hadir dalam permainan seperti "Final Fantasy VII" , "MediEvil" , dan saya ingat "Dungeon Keeper 2" memiliki hal yang sama dalam mode zoom. Namun, contoh seperti "Gempa 2" tidak memiliki "masalah" ini, dan sudah sama tuanya. Resolusi tampaknya tidak menjadi masalah, semuanya diberikan dengan sangat baik ketika Anda berdiri diam. Apakah gim ini menyegarkan dengan lambat, atau ada hubungannya dengan penyangga?

dreta
sumber
5
Bisakah Anda menautkan ke video yang menunjukkan efek yang Anda bicarakan?
John Calsbeek
1
youtube.com/watch?v=H-M6EPgs1JY&t=1m20s misalnya, setiap kali kamera bergerak layar menjadi gila, terlihat aneh, PS sepertinya tidak memiliki masalah menghasilkan garis lurus, jadi saya tidak berpikir itu hanya pixelation
dreta
1
Saya tidak bisa melihat apa-apa ... mungkin saya sudah terbiasa bermain game saat itu sehingga saya tidak melihat masalah. Tetapi pikiran pertama saya adalah bahwa mungkin Anda melihat transformasi tekstur affine yang disebutkan dalam jawaban Mike, yang dapat membuat hal-hal tampak melar secara aneh berdasarkan sudut pandang.
Kylotan
@Kylotan secara khusus terlihat dalam gerakan kamera yang lebih lambat (mis. Sekitar min 16 di tautan YouTube dreta, Anda harus melihatnya di lantai dan dinding.) Saya rasa itu sebabnya game PS memiliki kamera yang sangat cepat di hampir setiap permainan :)
kaoD
1
Saya memberikan suara untuk menutup pertanyaan ini sebagai di luar topik karena ini menanyakan mengapa serangkaian video game bertindak seperti itu. Pertanyaan-pertanyaan ini umumnya di luar topik, setidaknya sekarang, karena mereka bersandar pada spekulasi tentang bagaimana sebenarnya pengembang melakukan apa yang mereka lakukan. Kita sering dapat memperbaiki pertanyaan-pertanyaan ini dengan revisi untuk "bagaimana saya melakukan ini dalam permainan saya sendiri", tapi itu sepertinya bukan niat sebenarnya, di sini.
Gnemlock

Jawaban:

27

Saya hanya memiliki kutipan paling aneh untuk ini, tetapi muncul di PlayStation asli, unit vektor (yang biasanya digunakan untuk mengubah simpul) mampu operasi titik tetap, dan rasterizer juga menggunakan matematika titik tetap, tetapi hanya bilangan bulat yang dapat dilewati di antara keduanya. Jadi, Anda melihat artefak kuantisasi: sudut poligon tersentak ke titik grid terdekat. Stabil sempurna untuk adegan diam, tetapi cukup membingungkan dalam gerakan.

Dari sedikit riset tambahan, tampak bahwa PlayStation asli memiliki resolusi berbeda di mana rasterizer dapat bekerja, dari 256x224 hingga 740x480. Jadi Anda bisa memilih resolusi yang lebih rendah untuk mendapatkan laju pengisian yang lebih baik, tetapi Anda akan melihat artefak semacam ini, karena kisi-kisi dengan resolusi rendah cukup kasar untuk mudah dideteksi dengan mata telanjang.

John Calsbeek
sumber
IIRC pada PC (berkaitan dengan animasi mesh) ada beberapa masalah (baru-baru ini sebenarnya, diperbaiki sekitar 2000-2005) dengan perhitungan floating point pada GPU - saya tidak ingat apa masalah sebenarnya, tetapi hasilnya sangat " "animasi karakter membingungkan. Saya ingat Star Wars The Phantom Menace menunjukkan perilaku ini dengan cukup drastis.
Jonathan Dickinson
@JonathanDickinson Anda tidak memikirkan efek "bungkus permen" pada persendian, bukan? isg.cs.tcd.ie/projects/DualQuaternions
John Calsbeek
Tidak, itu adalah beberapa ketidakakuratan yang timbul karena alasan yang tidak dapat saya ingat.
Jonathan Dickinson
9

Jika Anda memainkan Quake 2 dalam mode perangkat lunak, sebenarnya ada beberapa masalah yang Anda sebutkan. Jika Anda melihat model tertentu pada sudut tajam di Quake 2, Anda akan melihat tekstur "berenang". Ini karena banyak mesin 3D awal menggunakan pemetaan tekstur affine . Ini menghemat bagi Anda per-pixel yang mahal yang memberi Anda perspektif pemetaan tekstur yang benar, tetapi itu berarti tekstur Anda akan melengkung ketika dilihat dari sudut tajam.

Juga, banyak game 3D awal (termasuk Quake 2) menggunakan verteks morphing sederhana untuk menghidupkan model mereka sebagai lawan dari animasi kerangka. Verteks dipasangkan antara keyframe dengan interpolasi linier. Tentu saja, ini tidak menjaga jarak antar simpul dengan sangat baik, sehingga Anda berakhir dengan sindrom jelly vertex — model-model itu bergoyang sedikit saat bernyawa!

Mike Welsh
sumber
2
Benar, dan resolusi jerat hanya 256x256, sehingga pergerakan simpul diinterpolasi dalam garis tidak lurus. Jenis suka mencoba menggambar ayunan pedang animasi yang lancar dalam seni pixel.
Myrddin Emrys
Ya format MD2 hanya punya satu 3 Bytes / vertex.
Tili
1
Gempa 2 benar-benar melakukan pemetaan tekstur perspektif-benar, tetapi hanya dikoreksi setiap 16 (atau 8 melalui opsi pengguna) piksel.
Maximus Minimus
1
Untuk membuat ini pernyataan tentang Q2 benar: Gempa 2 menggunakan pemetaan txt perspektif yang tepat untuk tingkat geometri (interpolasi linier setiap piksel terhitung benar ke-16) dan pemetaan teks affine untuk objek bergerak
Peter Parker