Quelle est la meilleure formule head-bob?


15

Étant donné un point dans l'espace, une direction de voyage et un temps écoulé depuis le début, quelle est une formule convaincante et non écœurante pour simuler le bob de tête? Qu'est-ce qui a réussi dans les jeux précédents? Y a-t-il eu des recherches sur ce qui induit le moins la maladie?

Un exemple de formule de tête naïve de bob, appliquée à l'axe haut:

http://www.wolframalpha.com/input/?i=abs%28sin%28x%29%29


... ou devrais-je envisager de garder le point dans l'espace le même, mais d'ajuster la hauteur de la caméra?
tenpn

Question interessante. En fait, c'est la première fois que je considère que le balancement de la tête peut provoquer des maladies. Je ne me sens généralement pas malade d'un jeu, mais j'ai vu des gens qui ne peuvent regarder aucun jeu en mouvement à la première personne sans se sentir malades. Même quand je regarde juste sans marcher.
David Gouveia

Ma suggestion serait probablement de regarder les gens marcher et courir et essayer de trouver un motif dans leur mouvement de tête XY. Je ne pense pas que le pitch soit généralement utilisé à moins que la personne ne regarde autour.
David Gouveia

8
Snarky answer: One that I can turn off;)
Andrew Russell

2
Dans mon expérience personnelle, le balancement de la tête est toujours ennuyeux sinon écoeurant. Je l'éteins toujours.
Joren

Réponses:


19

Gah! Ne changez pas de ton. Du tout. À moins que vous ne vouliez que le joueur ait l'impression de jouer avec un ivrogne et de combattre la caméra. Votre point focal est défini par le contrôle du joueur, ne le changez pas.

Je ne suis même pas sûr que cela justifie une «formule» - je pense que vous seriez mieux servi avec un mouvement aléatoire prévisible. Examinez le bruit Perlin basse fréquence pour générer vos courbes de décalage. Toute formule simple à laquelle vous pouvez penser sera suffisamment prévisible pour vaincre tout le point du bob - pour donner l'impression que l'avatar ne bouge pas de manière artificielle. Vous pouvez combiner des fonctions trigonométriques pour obtenir une courbe lissée pseudo-aléatoire, mais il vaut mieux utiliser le bruit Perlin qui est parfait pour ce genre de travail.

Je ne suis au courant d'aucune recherche sur le `` bon '' balancement de la tête, mais je dirais que si vous voulez le faire, vous devez faire de sérieux tests à froid et une itération. Vous (l'implémentateur) n'êtes pas en bonne position pour juger de l'efficacité de votre implémentation, car très rapidement après avoir commencé, vous deviendrez hyper-sensibilisé à la quantité et à la manière du bob. Ce que les autres pourraient trouver bon, vous serez obsédé et rejeté.

Surtout, gardez le mouvement subtil. La tentation lors de la mise en œuvre est d'augmenter le facteur `` bob '' jusqu'à ce qu'il soit perceptible, car vous voulez le voir prendre effet. Ce n'est pas bon. Idéalement, le joueur ne remarque même pas le balancement - si vous lui demandez après le test s'il a remarqué son point de vue en balançant quand il a couru, je pense qu'il devrait dire non. Le but d'un mouvement de balancement dans le point de vue est de rendre le mouvement naturel, de sorte que vous n'ayez pas l'impression de glisser comme une caméra au-dessus d'un chariot à roues. Le cerveau postérieur du joueur se rendra compte de la nature artificielle d'une implémentation naïve, mais il ne suffit que de petites variations subtiles pour tromper la perception.


1
Le dernier point peut être appliqué à de nombreux domaines de développement, par exemple l'IA. C'est un bon point.
tenpn

8

Il existe de nombreuses causes de nausées. Voici les facteurs environnementaux à considérer:

  1. Plus l'écran est grand, plus il est susceptible de provoquer des nausées.
  2. Plus l'utilisateur est près de l'écran, plus il est susceptible de provoquer des nausées.
  3. Plus la pièce est sombre, plus elle est susceptible de provoquer des nausées.
  4. Les téléspectateurs tiers - les passagers non interactifs - sont plus susceptibles de ressentir des nausées que quelqu'un qui a une certaine forme de contrôle sur le jeu.
  5. Une position d'observation légèrement asymétrique provoquera généralement plus de nausées qu'une position d'observation directe ou une position d'observation fortement asymétrique. (Cela interagit généralement avec le numéro 4 ci-dessus, ce qui aggrave les choses pour les téléspectateurs non interactifs)

(Normalement, vous n'avez aucun contrôle sur ces facteurs environnementaux, sauf si vous effectuez une installation de jeu. Dans ce cas, vous devez absolument les prendre en considération.)

N'oubliez pas que la nausée est causée par un désaccord entre ce qui est vu par les yeux et ce qui est ressenti par les capteurs de mouvement interne de votre corps dans les oreilles internes; plus votre cerveau reçoit de contexte que ce mouvement vu par les yeux n'est pas un mouvement réel (par exemple, en étant dans une pièce bien éclairée avec beaucoup d'objets fixes visibles derrière l'écran), moins de nausées seront ressenties.

En termes de comportement de la caméra elle-même, toute sorte de mouvement rythmique automatique peut facilement provoquer des nausées. Les rotations sont les pires (en particulier l'inclinaison), mais même des traductions rythmiques d'un côté à l'autre ou de haut en bas provoqueront des nausées pour de nombreux joueurs (mais pas tous!).

Pour cette raison, si vous utilisez un appareil photo bob, il est important de toujours inclure une option pour le désactiver. Sinon, de nombreux joueurs ne pourront pas jouer à votre jeu plus de quelques minutes à la fois.

En règle générale, plus le cycle est lent et plus le mouvement de la caméra le long de ce cycle est réduit, moins les nausées seront provoquées pour les joueurs qui y sont sensibles.

De plus, les changements soudains de vitesse sont particulièrement mauvais pour les nausées; tout mouvement rythmique que vous choisissez d'utiliser doit être fluide sur tout son arc, plutôt que de «rebondir» le long de n'importe quel axe, comme le fait votre exemple de graphique.

Il convient également de noter que la plupart des joueurs n'ont pas de réponse nauséeuse immédiatement; ces réponses s'accumulent en quelques minutes. Certains jeux n'effectuent donc que ce genre de mouvements de caméra périodiquement; par exemple, lorsque le joueur effectue un mouvement de "sprint" à durée limitée, plutôt que tout le temps lorsque le joueur fonctionne normalement. Il est probablement encore important de permettre à ceux qui sont sensibles aux nausées de désactiver complètement l'effet, mais plus d'utilisateurs pourront tolérer l'effet s'il est peu fréquent que s'il est constant.


Quelles sont vos sources?
Anko

5

Je vais simplement déposer deux idées supplémentaires sur la table.

Tout d'abord, avez-vous déjà vu la caméra à la première personne de Mirror's Edge en action? Voir ce lien si vous ne l'avez pas fait. Je ne suis pas sûr de la hauteur, mais il y a pas mal de changements de roulis , et je pense que ça a l'air très dynamique et frais. C'est donc juste une possibilité pour vous d'envisager d'incorporer dans votre formule aussi, si vous aimez la sensation qu'elle donne.

Une autre idée que je ne sais pas si un jeu utilise, est de prendre un modèle 3D animé simplifié d'un personnage qui marche, et même si vous ne restituerez pas, vous pouvez toujours en recueillir des informations sur la position de la tête, ou même y attacher votre caméra à l'os de la tête. Et si le personnage a un mouvement oculaire indépendant de sa tête, vous pouvez même intégrer les deux . Je ne sais pas à quoi cela ressemblerait en action, mais je pense que cela devrait se comporter de façon très réaliste. Mais il y a aussi une chance que cela puisse paraître extrêmement écoeurant :-)


2

Le système de vision humaine comprend un contrôle de rétroaction (assez sophistiqué) pour permettre aux yeux de suivre le mouvement relatif des objets. L'effet ultime de cela est que, lorsque vous vous concentrez sur un point particulier, l'image de ce point continuera à être projetée à peu près au même endroit sur la rétine malgré le mouvement du point et de votre tête. (En guise de démonstration simple: concentrez-vous sur un mot sur cette page. Déplacez votre tête. Notez à quel point vous devez déplacer votre tête avec violence avant que le mot ne commence à se brouiller et à se déplacer du centre de votre champ de vision.)

Pour émuler cet effet, lorsque vous déplacez la caméra, vous devez également ajuster la direction de la vue de sorte que ce que l'œil du joueur se concentre reste au même endroit sur l'écran. Puisque vous ne disposez d'aucune information sur l'endroit où le joueur regarde, le mieux que vous puissiez faire est de faire la supposition non déraisonnable qu'il regarde probablement au centre de l'écran. Cela produira un effet plus similaire à ce que vous attendez, qui modifie subtilement la parallaxe au fur et à mesure que le point de vue se déplace.

Il est probablement impossible d'éliminer complètement les nausées. Le mal des transports est généralement une réponse à une entrée sensorielle incohérente. Dans un véhicule, l'incohérence est que les informations inertielles de l'oreille interne indiquent un mouvement, tandis que les signaux visuels indiquent que vous êtes immobile. Avec head bob, l'inverse sera vrai.


0

Je recommande vivement de ne pas changer la hauteur de la caméra, car le revêtement de la caméra est sous le contrôle du joueur. Le simple fait d'utiliser une fonction sinus pour dévier subtilement le long de l'axe vertical / Y fonctionne généralement bien.


Eh bien dans mon contexte très spécifique, le joueur n'a aucun contrôle sur la hauteur de la caméra pendant le mouvement. Ils voyagent essentiellement le long d'une spline, donc je suis libre de jouer avec le pitch si je le souhaite.
tenpn
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.