Tidak, ini cara yang salah untuk melakukannya.
Bagaimana Anda akan melakukan deteksi perangkap? Bagaimana dengan saat pemain mencapai tepi dinding? Apakah sistem penglihatan Anda berfungsi untuk ruang bawah tanah atau Anda harus menulis ulang sebagian besar kode?
Dunia adalah geometri. Pemain itu geometri. Dunia tidak bergerak. Pemain melakukannya. Atur posisi kamera ke tengah pada pemain. Selalu . Dan hanya itu yang ada untuk itu.
Jangan mencoba dan membiasakan diri dengan "oh jika saya menggeser dunia, maka itu akan memberikan penampilan pemain bergerak". Anda hanya akan memperumit matematika dengan sistem koordinat aneh pada akhir hari.
Memang benar bahwa rendering OpenGL sebenarnya bekerja dengan "memperbaiki kamera untuk menunjuk ke bawah - z, dan mengubah dan memutar semua geometri dunia sehingga sesuai dengan volume tampilan kanonik", tetapi Anda tidak seharusnya berpikir seperti itu saat pemrograman . gluLookAt
memiliki parameter bernama eye
,, look
dan up
karena suatu alasan - sehingga Anda dapat berpikir dalam hal sistem koordinat yang masuk akal.