Conception de collisions physiques en jeux vidéo

La gestion des collisions est sans doute l’une des plus grandes difficultés auquel sont confrontés les développeurs. Il n’est pas rare de voir des bugs de gestion de collisions dans les jeux vidéo. 

Vous pourrez tester un exemple d’utilisation de la physique en tapant des caisses en bois avec un boulet accroché à une chaîne. Pour le diriger, utilisez les touches de direction de votre clavier.

[Testez]

» Déplacer le boulet: » N’hésitez pas à poser des questions, des commentaires… ou encore si vous souhaitez une explication plus approfondie ou une explication sur une autre mécanique.  

Astuce 1 : S’abstraire du réel

Une chaîne, dans un jeu vidéo, est à imaginer comme un ensemble de liens ne devant pas se briser, mais où chaque lien est un élément qui possède ses propres caractéristiques. Ainsi, chacun possède une masse, une accélération & un angle qui lui sont propres, de même que chaque objet dans notre vie de tous les jours. Parmi ces relations physiques, il y a les collisions qui font qu’une chaine peut s’enrouler autour d’un piquet, sans passer au travers. L’important dans un jeu vidéo est de ne pas forcément chercher à se rapprocherau maximum de la réalité. Si quelque chose peut sembler avoir un comportement suffisamment correct, il sera accepté, d’autant plus s’il permet des choses impressionnantes. Ainsi, nous avons  voulu appliquer des forces sur le boulet qui tendent à ramener le boulet au centre au fur et à mesure qu’il s’en écarte. Vous pouvez ainsi voir que notre boulet tend à rester dans une même position, les forces s’équilibrant entre elles, lorsque vous laissez l’une de vos touches appuyée. L’avantage de cette solution est qu’elle incite le joueur à revenir vers le centrepour reprendre de l’élan et taper encore plus fort sur les caisses. La raison pour laquelle le boulet se rapproche du centre est qu’une force s’exerce du premier maillon jusqu’au dernier, et du dernier sur le boulet. Le premier maillon influe donc indirectement sur le boulet.

Astuce 2 : Réduire les forces pour éviter certains bugs

  Durant la rapide réalisation de cet exemple, nous avons été confrontés au fait que le boulet sautait dans tous les sens en touchant le cylindre placé près des caisses. Ce problème était causé par le fait que les forces avaient toujours la même valeur, et faisaient passer le boulet au travers du « poteau », notre jeu repoussant le boulet automatiquement quand cela arrive. Pour avoir une solution facile à mettre en place et ayant un rendu correct, nous avons décidé de supprimer tout simplement ces forces dès lors que le boulet ou l’un des éléments de la chaîne touchait le poteau. Les forces ainsi réduites, le boulet ne passe plus au travers du cylindre. La solution a paru correcte grâce à la rapidité de sa mise en place et la faculté d’enrouler la chaîne autour du cylindre.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s