Forza di gravità nei giochi in prima persona


11

Nel nostro gioco, abbiamo impostato l'accelerazione dovuta alla gravità sul valore appropriato di 9,8 m / s ^ 2. Anche se fisicamente corretto, sembra più di muoversi sulla luna .. Si sente a un valore di 16 m / s ^ 2. Qualcun altro ha sperimentato questo? È solo perché non abbiamo motion blur o suono per dare l'apparente sensazione di velocità? Va bene solo impostarlo su 16 m / s ^ 2 se sembra giusto?


Buona domanda a proposito, molto comune vederlo, molte persone credono che debbano cambiare la gravità quando lo incontrano
brandon

Qualcosa che sembra essere stato assunto: le masse dei tuoi oggetti sono corrette?
DrDeth,

5
la massa non dovrebbe essere presa in considerazione a meno che non si stia simulando pianeti. Un marmo cade con la stessa accelerazione di una palla da bowling ignorando la resistenza al vento
brandon

2
Anche la tua velocità di salto è realistica? Se hai una gravità di 9,8 m / s ^ 2 ma un umano che salta 100 volte più in alto, la gravità si sentirà molto sbagliata. Inoltre, sei sicuro di applicare l'accelerazione alla scala temporale appropriata?
Gregory Avery-Weir,

Risposte:


12

È possibile che la bilancia sia spenta. Se stai guardando un mattone e sembra che cada più lentamente di quanto dovrebbe, potresti semplicemente ridimensionarlo più di quanto dovrebbe essere un mattone. Ho avuto questo problema quando stavo lavorando al motore PhysX. Tutta la mia scena era circa 3 volte più grande, quindi l'ho ridimensionata e ha funzionato.

Se 16 sembra migliore di 9.8 ma si desidera utilizzare 9.8. Basta moltiplicare la dimensione dell'oggetto che cade per 0,61. Il che dovrebbe ridimensionarlo fino a dove 9.8 ti dà l'effetto desiderato.

Modifica: per risolvere questo problema. Ho realizzato un oggetto che dovrebbe essere alto 1 metro. Lo scala fino a quando sembra cadere alla giusta velocità. Qualunque cosa le unità del mondo siano confrontate con la nuova scala, mi dà la mia nuova scala di unità. Esempio. Se l'oggetto è stato ridimensionato a 0,14, ciò rappresenta 1 metro nel mondo di gioco. Crea un oggetto righello alto .14 e quando progetti il ​​livello sarai in grado di usare quel righello per ridimensionare tutto correttamente. Ciò farà sembrare che tutto cada correttamente a 9,8 m / ss.


Non suona bene. Se usi unità coerenti, un oggetto alto 1 metro dovrebbe cadere a terra in 0,45 secondi. Il ridimensionamento dell'intera scena non dovrebbe importare. Forse stavi comunicando la tua cronologia in modo errato al tuo motore fisico.
Kasper,

5
Non sto parlando dell'altezza in cui la lasci cadere. Sto parlando di ridimensionare l'oggetto stesso. Se sei un uomo di 100 piedi e salti al 20% della tua altezza. Ci vorrà più tempo e ti sembrerà di essere sulla luna. L'altro lato è che se sei un uomo di 6 piedi e salti al 20% della tua altezza, salterai molto più in basso e colpirai il terreno molto prima. È sicuramente un problema di scala.
Brandon,

2

Direi di andare con qualunque cosa si senta e suoni bene. Tuttavia, sarebbe meglio se tu stessi usando il valore corretto - se solo così tu o altri sviluppatori non avete un momento WTF quando rivisitate il codice 6 mesi dopo la fine.

Non dimenticare che l'implementazione della fisica sarà sempre e solo un'approssimazione del mondo reale e che a volte avvicinare le cose alla realtà rende il gioco ingiocabile. Inoltre potrebbe esserci qualcos'altro nella tua simulazione che è "off". Ricontrolla anche quello.

Più di qualche anno fa ero coinvolto in un simulatore di elicottero e il cliente voleva che i controlli fossero "realistici". Ha fallito perché era ingiocabile. Rendere i controlli più semplici ha reso il gioco giocabile.


1

Modellando tutto nel sistema metrico ho anche osservato che la gravità sembra troppo debole rispetto al salto del giocatore (in un platform). Proprio come "sulla luna", "gelatina", "troppa fisica", non abbastanza "arcade". D'altra parte, i giocatori nei giochi sono regolarmente in grado di saltare anche a grandi altezze non realistiche.

TLDR: l'alta gravità sembra molto veloce e arcade, la gravità realistica a volte potrebbe non dare l'esperienza di gioco desiderata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.