Intégration de PhysX et GameWorks dans Unreal Engine 4

Depuis Unreal Engine 3 et UDK, Epic utilise le moteur physique PhysX, développé par NVIDIA. Unreal Engine 4 en utilise d’ailleurs la dernière mouture (la série 3.x). Depuis lors, NVIDIA a lancé une série de nouvelles briques logicielles dans le domaine de la simulation physique sous l’ombrelle GameWorks.

L’une de ces briques est une réflexion de fond sur la manière d’exploiter les GPU pour la simulation multiphysique en temps réel, avec des couplages entre tous les types de simulation : des interactions entre solides (déformables ou non), liquides et tissus, chaque type d’objet étant régi par des systèmes d’équations différents. NVIDIA FleX unifie toutes ces problématiques en considérant chaque objet comme un ensemble de particules. Après quelques années de développement et des démonstrations dont les principaux intérêts sont techniques (couplages en temps réel), la version 0.25 dispose maintenant d’une intégration (certes encore expérimentale et incomplète) dans Unreal Engine 4.

Les sources de l’intégration sont disponibles sur un dépôt Git, accessible sous les mêmes conditions que les sources d’Unreal Engine 4. D’autres modules de GameWorks sont en cours d’intégration : HBAO+, VXGI, Vehicles et WaveWorks sont d’ores et déjà disponibles, toujours en tant qu’intégrations expérimentales, toujours uniquement pour Windows.

Il est prévu d’ajouter d’autres modules dans les mois à venir, comme HairWorks ou Turf Effects. Certains modules ont besoin d’un GPU NVIDIA, d’autres se satisfont d’un GPU DirectX 11.

Source : NVIDIA GameWorks Integration, le clone NVIDIA du dépôt Unreal Engine.

Les sources de PhysX disponibles gratuitement

Peu après Unreal Engine 4, voici que son moteur physique, PhysX, développé par NVIDIA, se met à la même mode : son code source est gratuitement disponible. Bien évidemment, le projet ne devient pas libre pour autant : il est nécessaire de s’enregistrer sur le site de NVIDIA avant d’avoir accès aux sources.

Ce moteur physique est disponible pour les plateformes Windows, Linux, OS X et Android (en plus des consoles de jeux, mais elles sont exclues de cette ouverture) et est utilisé dans plus de cinq cents jeux. Il était déjà gratuit pour des utilisations, commerciales ou non.

L’ouverture concerne principalement le moteur physique, mais également le débogueur visuel (PVD) et quelques modules APEX : Clothing, Destructible et Emitter. Il s’agit de la version 3.3.3 (PhysX) et 1.3.3 (APEX), c’est-à-dire la prochaine version. Parmi les fonctionnalités disponibles, on compte les corps rigides, les collisions, la gestion des personnages, des particules et des véhicules, en plus des tissus et objets déformables, notamment.

Le dépôt GitHub n’est cependant pas celui de développement : il ne contient que huit commits depuis fin janvier. Le code CUDA, qui déporte une partie des calculs sur le GPU, est bien évidemment de la partie.

Sources : https://developer.nvidia.com/content/latest-physx-source-code-now-available-free-github, http://physxinfo.com/.