PDA

Voir la version complète : Havok : physique et animation



Poussin Joyeux
29/12/2014, 23h08
J'ai eu un bref échange avec le développeur de Rodina (https://elliptic-games.com/) pour savoir ce qu'il utilisait pour son développement.
Il utilise SFML pour la partie audio, DirectX pour la partie graphique et Havok pour la gestion physique.

http://www.havok.com/

Havok est beaucoup utilisé par des jeux AAA (Skyrim, Far Cry, Saints Row, Destiny...) mais je me suis aperçu, et ça m'a été confirmé par le développeur, qu'on peut bénéficier depuis quelques temps de ce moteur physique (et sa partie animation) gratuitement si l'on ne développe que pour PC et même pour des versions commerciales (sans licence si le jeu est vendu en dessous de 10$ et avec une license gratuite si le jeu est vendu plus cher).
C'est une version gratuite car sponsorisée par Intel.
Et dans ce cas on a accès au binaire seulement (avec la documentation du sdk, etc...) mais ce doit être suffisant pour beaucoup de développeurs.

Tout est écrit ici (en bas de page): http://www.havok.com/havok-sales

Est-ce que certains d'entres vous l'utilisent? Je me dis que la partie simulation physique doit être très poussée et optimisée pour que les gros studios l'utilisent.

Bref, je crée le topic pour en discuter et je rajouterai quelques liens du tutoriaux plus tard au fil de mes recherches. :)

oks2024
30/12/2014, 12h29
Apparemment la version gratuite c'est que du 32 bits, ce qui est un peu limitant, pas pratique :/.

Par contre il me semble que PhysX sur PC est gratuit sans licence, du coup je pense que c'est peut être plus simple pour faire des tests en indépendant.

Après j'y connais pas grand chose en moteur physique, mais les deux ont l'air très solides pour des besoins basiques, pour des utilisations plus spéciales il faut se renseigner (par exemple il me semble que PhysX ne gère pas le changement d'échelle sur des objets, ce qui peut poser problème).

Poussin Joyeux
30/12/2014, 15h18
Apparemment la version gratuite c'est que du 32 bits, ce qui est un peu limitant, pas pratique :/.


Ah bien vu! Ca m'avait échappé ça... :|
Pour PhysX, comme c'est du Nvidia, je me demande comment ça marche avec les cartes AMD?





Bon sinon voici quelques tutoriaux que j'ai trouvé pour débuter (mais du coup, je ne sais pas si je vais les faire! :rolleyes:):

Le plus complet car il explique en plus l'intégration d'OpenGL et les blogs sont progressifs (on commence avec un cube, puis plusieurs avec la gravité puis des rigid body chainés entre eux):

http://mmmovania.blogspot.fr/2014/03/havok-physics-engine-tutorial-series.html

Un autre en anglais:

https://dalyup.wordpress.com/2014/05/26/havok-tutorial-01-getting-started-3/

et un en français:

http://stardeath.developpez.com/tutoriels/jeux/physique/havok/fr/

Black Wolf
30/12/2014, 15h32
Au niveau des moteurs physiques principaux pour la 3d, tu as 3 "concurrents", PhysX de Nvidia (qui n'est pas dépendant de la carte graphique, même si y a moyen de coder de manière à ce que cela soit accéléré par les GPU Nvidia mais t'as pas a te préoccuper de ça) qui est gratuit, Havok (qui est quand même plus tant utilisé que ça il me semble), et leur équivalent open source : Bullet.

Au niveau des fonctionnalités "de base", les 3 se valent plus ou moins, avec chacun leur domaine de prédilection mais je ne les connais pas assez pour pouvoir te dire exactement de quoi il s'agit.

Pour la 2D, il semblerait que Box2D soit ce qui est le plus utilisé.

Unity 3D jusqu'à la version 4.6 utilise par exemple PhysX 2.4 sauf erreur, et il passent en PhysX 3.x pour la sortie de Unity 5, sauf lorsque tu est en mode 2D où Box2D est utilisé.

oks2024
31/12/2014, 12h20
Oui, en effet, PhysX c'est un moteur physique classique, et qui propose en option de déporter une partie des calculs sur une carte graphique NVIDIA, mais du coup c'est tout à fait possible de ne l'utiliser que sur CPU, peu importe la carte.

Tomaka17
31/12/2014, 12h45
Sauf que le framerate du jeu est généralement divisé par deux si PhysiX utilise le CPU.

oks2024
31/12/2014, 12h48
Ben ça dépend ce qu'on lui demande de faire, mais il y a des centaines de jeux qui utilise PhysX uniquement sur CPU sans soucis.

Black Wolf
31/12/2014, 13h15
Oui PhysX sur le CPU à environ les mêmes perfs que ses concurrents (la prochaine version de Bullet devrait utiliser presque intégralement le GPU par contre, ce qui devrait lui donner un bon boost niveau performances).

Poussin Joyeux
31/12/2014, 15h24
Intéressant tout ça! Merci! :)

Peut-être que Havok est encore utilisé par des grands studio car moins flexibles à changer de technologie et qu'ils veulent rentabiliser toutes les formations payées aux employés :p

Bon moi, je vais rester sur Unity pour l'instant avec PhysX alors...

Poussin Joyeux
18/02/2015, 18h47
Space Engineers et Medieval Engineers utilisent Havok.
http://blog.marekrosa.org/2015/02/space-engineers-planets-oxygen-directx_18.html

(et moi je suis passé à Leadwerks finalement...)