Force de gravité dans les jeux à la première personne

11

Dans notre jeu, nous avons réglé l'accélération due à la gravité à la valeur appropriée de 9,8 m / s ^ 2. Bien que physiquement correct, il ressemble plus à se déplacer sur la lune. Il se sent à peu près juste à une valeur de 16 m / s ^ 2. Quelqu'un d'autre a-t-il vécu cela? Est-ce uniquement parce que nous n'avons pas de flou de mouvement ou de son pour donner l'impression de vitesse? Est-il correct de simplement le régler à 16 m / s ^ 2 si cela semble bon?

Hannesh
la source
Bonne question d'ailleurs, très fréquent de voir ça, beaucoup de gens supposent qu'ils doivent changer la gravité quand ils rencontrent ça
brandon
Quelque chose qui semble avoir été supposé - vos masses d'objets sont-elles correctes?
DrDeth
5
la masse ne doit pas être prise en compte sauf si vous simulez des planètes. Une bille tombe avec la même accélération qu'une boule de bowling ignorant la résistance au vent
brandon
2
Votre vitesse de saut est-elle également réaliste? Si vous avez une gravité de 9,8 m / s ^ 2 mais un humain qui saute 100 fois plus haut, la gravité se sentira très mal. De plus, êtes-vous sûr d'appliquer l'accélération à l'échelle de temps appropriée?
Gregory Avery-Weir

Réponses:

12

Il se peut que votre balance soit éteinte. Si vous regardez une brique et qu'elle semble tomber plus lentement qu'elle ne le devrait, vous pouvez simplement la faire redimensionner plus grande qu'une brique. J'ai eu ce problème lorsque je travaillais sur le moteur physX. Ma scène entière était environ 3 fois trop grande, alors je l'ai réduite et cela a fonctionné.

Si 16 semble meilleur que 9.8 mais que vous souhaitez utiliser 9.8. Multipliez simplement la taille de l'objet qui tombe par 0,61. Ce qui devrait le réduire à l'endroit où 9,8 vous donne l'effet souhaité.

Modifier: pour résoudre ce problème. J'ai fait un objet qui devrait mesurer 1 mètre de haut. Je le redimensionne jusqu'à ce qu'il semble tomber à la bonne vitesse. Quelles que soient les unités mondiales comparées à la nouvelle échelle, cela me donne ma nouvelle échelle unitaire. Exemple. Si l'objet a été mis à l'échelle à 0,14, cela représente 1 mètre dans le monde du jeu. Créez un objet de règle d'une hauteur de 0,14 et lorsque vous concevrez le niveau, vous pourrez utiliser cette règle pour tout mettre à l'échelle correctement. Cela fera tout ressembler à une chute correcte à 9,8 m / s.

brandon
la source
Cela ne semble pas juste. Si vous utilisez des unités cohérentes, un objet à 1 mètre de haut devrait tomber au sol en 0,45 seconde. La mise à l'échelle de toute votre scène ne devrait pas avoir d'importance. Peut-être avez-vous mal communiqué votre échelle de temps à votre moteur physique.
Kasper
5
Je ne parle pas de la hauteur à laquelle vous le déposez. Je parle de redimensionner l'objet lui-même. Si vous êtes un homme de 100 pieds et que vous sautez à 20% de votre taille. Cela vous prendra plus de temps et vous vous sentirez sur la lune. L'autre côté est que si vous êtes un homme de 6 pieds et que vous sautez à 20% de votre taille, vous sauterez beaucoup plus bas et frapperez le sol beaucoup plus tôt. C'est définitivement un problème d'échelle.
brandon
2

Je dirais aller avec tout ce qui se sent et joue bien. Cependant, il serait préférable que vous utilisiez la valeur correcte - ne serait-ce que si vous ou d'autres développeurs n'ont pas de moment WTF lorsque vous revisitez le code 6 mois plus tard.

N'oubliez pas que votre implémentation physique ne sera qu'une approximation du monde réel et que le fait de se rapprocher parfois trop de la réalité rend le jeu injouable. Il peut également y avoir quelque chose d'autre dans votre simulation qui est "désactivé". Vérifiez également cela.

Il y a plus de quelques années, j'étais impliqué dans un simulateur d'hélicoptère et le client voulait que les commandes soient "réalistes". Il a échoué car il était injouable. La simplification des commandes a rendu le jeu jouable.

ChrisF
la source
1

En modélisant tout dans le système métrique, j'ai également observé que la gravité semble beaucoup trop faible en ce qui concerne le joueur sautant (dans un jeu de plateforme). Un peu comme "sur la lune", "gelée", "trop ​​de phyics", pas assez "arcade". D'un autre côté, les joueurs dans les jeux peuvent régulièrement sauter à une grande hauteur irréaliste.

TLDR: la gravité élevée semble très rapide et d'arcade, la gravité réaliste peut parfois ne pas donner l'expérience de jeu souhaitée.

Jonas Bötel
la source