Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Les moteurs 3D:

Par Solène LIMOUSIN Publié le 28/03/2017 à 15:14:17 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Qu'est-ce qu'un moteur 3D ?

Un moteur 3D est un composant logiciel qui crée des images matricielles à partir de coordonnées tridimensionnelles. Les moteurs 3D sont souvent des composants de moteurs de jeu et de logiciel de calcul et de simulation (dessin et conception assistés par ordinateur).

La plupart du temps, le moteur 3D est indissociable du reste du moteur de jeu tout comme le moteur physique ou le moteur de son. Il existe tout de même des moteurs 3D fonctionnant indépendamment, ils fournissent alors un ensemble de fonctionnalités permettant aux utilisateurs de l'intégrer aux autres moteurs.

A quoi cela sert-il ?

Si les API de bas niveau permettent de dessiner des objets à l'écran, celles-ci restent assez complexes. Pour un développeur de jeux vidéo, il est préférable d'utiliser un moteur 3D qui lui, permettra d'obtenir plus facilement le rendu qu'il souhaite. Dans ce but, le moteur fournit des fonctions permettant de charger des fichiers dans différents formats, d'animer les modèles en fournissant uniquement le nom de l'animation, sa finalité étant de simplifier au maximum le travail du concepteur du jeu.

Les méthodes de rendus :

Il existe plusieurs types de procédés de rendu 3D, ce sont des procédés de calcul destinés à obtenir une image matricielle en deux dimensions. Les plus communs sont le ray tracing et la rastérisation.

La rastérisation (rendu de polygones) est le procédé le plus utilisé pour les jeux vidéo. Il nécessite peu de temps de calcul ce qui permet d'obtenir en continu des images à un rythme suffisamment élevé pour faire du temps réel. C’est un procédé où les objets sont représentés sous forme de triangles auxquels la carte graphique fait subir différentes transformations géométriques afin de les afficher sur l'écran. Une fois les coordonnées 2D des triangles connus, la carte graphique transforme ceux-ci en ensembles de pixels, puis calcule la couleur de chaque pixel.

Le ray tracing (lancer de rayon) permet d'obtenir une image de qualité supérieure à celle de la rastérisation, il est donc plus utilisé dans le domaine du photoréalisme, pour créer des images fixes ainsi que des films d'animation. Les calculs complexes effectués dans ce procédé nécessitent beaucoup de temps et de puissance, il ne permettait pas, il y a encore peu de temps, d'obtenir une image dans un délai suffisamment court pour être utilisé dans le jeu vidéo. Ce procédé consiste à calculer le chemin parcouru par le rayon de la lumière correspondant à chaque pixel de l'image (calcul d'optique géométrique). Le moteur 3D calcule ce chemin en le parcourant en sens inverse en suivant les règles de la physique telles la réflexion et la réfraction.

L'accélération matricielle consiste à utiliser dans la mesure du possible le processeur graphique, souvent inclus dans la carte graphique, pour effectuer les différents calculs. Le but est gagné du temps en libérant le processeur principal pour d'autres tâches tel que 'l’intelligence artificielle, les calculs du moteur graphique et du moteur de son.

Les différents moteurs graphiques disponibles :

Voici quelques-uns des moteurs 3D disponibles, la liste n'est pas exhaustive :

Unity3D :

Unity 3D, développé par UnityTechnologies, est l'un des moteurs les plus répandus dans l'industrie du jeu vidéo autant pour les gros studios que pour les indépendants.

Langages d'écriture : JavaScript, C# et Python.

Environnements supportés : Windows, Mac OS, Linux, Xbox 360, Wii, Wii U, Playstation3, Playstation 4, Playstation Vista, Windows Phone, iOS, Adroid et Google Native Client.

Langues supportées : Anglais et Français.

Jeux ayant été créés avec ce moteur : « Firewatch », « Gone Home », « Rust », « Subnautica », « The long Dark », « Pokemon Go » et « Heartstone  : Heroes of Warcraft ».

Avantages :

- Unity 3D est un moteur de jeu multiplateforme.

- Il est rapide pour les prototypages.

- La licence gratuite « Personal » est sans limitation au niveau du moteur.

- Il possède une interface d'intégration d'objets et de scripts très intuitive.

- Unity possède aussi un très bon rapport qualité/prix,et une très forte communauté francophone.

Inconvénients :

Il ne permet pas de partir d'une base ou d'un modèle déjà prédéfini. (Tout est à créer).

Unity offre un rendu graphique généralement moins bon, et ne donne pas autant de possibilités que d’autres moteurs comme le CryEngine par exemple.

CryEngine :

Le CryEngine est un moteur développé par Crytek, spécialisé dans les FPS (First Personal Shooter = Jeu de tir à la première personne).

Langages d'écriture : C++, Lua et C#.

Environnements supportés : Windows, Xbox 360, Playstation 3, Playstation 4, Xbox One, Android et iOS.

Langues supportées : Anglais et Français.

Jeux ayant été créés avec ce moteur : « Far Cry », « Far Cry Instincts », « Far Cry Instincts : Evolution », « Far Cry Instincts : Predator », « Far Cry Vengeance », « Aion : The Tower of Eternity », « Crysis », « Crysis 2 » , « Crysis 3 », « Crysis Wardhead », « Evolve », « Star Citizen » et « Homefront : The Revolution ».

Avantages :

- C'est un moteur de jeu multiplateforme.

- Il possède un très bon rendu et c'est un moteur vraiment puissant.

Inconvénients :

- Il ne possède pas de communauté francophone, il y a donc très peu de documentation en français.

CryEngine est un moteur dont la licence est propriétaire.

Frostbite Engine :

C'est le moteur de jeu développé par EA Digital Illusions Creative Entertainment, les créateurs de la série « Battlefield ». Il possède 4 versions : le Frostbite 1.0, le Frostbite 1.5, le Frostbite 2 et le Frostbite 3.

Langages d'écriture : C++.

Environnements supportés : Windows, Playstation 3, Xbox 360, Playstation 4 et Xbox One.

Langues supportées : Anglais.

Jeux ayant été créés avec ce moteur : Tous les « Battlefield », « Medal of Honor », « Need for Speed : The Run », « Medal for Honor : Warfighter  », « Need for Speed : Rivals », « Dragon Age : Inquisition », « Mirror's Edge Catalyst », « Mass Effect : Adromeda », « FIFA 17 ».

Avantages :

- Il est adapté pour une variétés de jeux vidéo.

- C'est un moteur de jeu multiplateforme.

Inconvénients :

- La licence de ce moteur est propriétaire.

UnrealEngine :

C'est un moteur graphique developpé par Epic Games principalement pour les jeux de tir à la première personne même s'il commence à se diversifier, ses principaux concurrents sont le Unity Engine et le CryEngine de Crytek.

Langages d'écriture : C++ et Assembleur.

Environnements supportés : Multi-plateforme.

Langues supportées : Anglais.

Jeux ayant été créés avec ce moteur : « Alone in the Dark : Illumination » , « Dead Island 2 », « dragon Quest XI », « Fable Legends », « Kingdom Hearts III », « Life Is Strange », « Obduction », « Paragon », « Strallar Overload », « Shenmue III », « Street Fighter V », « Tekken 7 ».

Avantages :

- C'est un moteur de jeu multi-plateforme.

- Il possède une bonne communauté francophone.

Inconvénients :

- Il est assez lourd à faire tourner, il faut donc posséder une bonne configuration.

- Une redevance de 5% est demandé en cas de commercialisation du produit.

- UnrealEngine est un moteur dont la licence est propriétaire.

Id Tech 5 :

C'est le nom du moteur 3D de id Software dévoilé pour la toute première en 2007. Son prédécesseur est le « Doom 3 Engine », appelé aujourd'hui id Tech 4.

Langages d'écriture : C++, AMPL, Clipper et Python.

Langues supportées : Anglais.

Environnements supportés : Windows, Mac OS X, Linux, Xbox 360, Xbox One, Playstation 3 et Playstation 4.

Jeux ayant été créés avec ce moteur : « Rage » et « Wolfenstain : The New Order ».

Avantages :

- Son innovation principale par rapport à son prédécesseur est de pouvoir afficher des cartes très grandes ou très détaillées.

- C'est un moteur de jeu multiplateforme.

Inconvénients :

C'est un moteur dont la licence est propriétaire.

Crystal Space :

C'est un kit de développement logiciel pour créer des applications de graphismes en 3 dimensions, écrit en C ++ par Jorrit Tyberghein.

Langages d'écriture : C++.

Environnements supportés :Multiplateforme.

Langues supportées : Surtout l'anglais (le site et le forum sont en anglais).

Avantages :

- C'est un moteur multiplateforme et modulaire (il possède beaucoup de plugins).

- Il est utilisé pour créer des jeux vidéo mais possède aussi tout un ensemble de fonctionnalités permettant de faire toute sorte de visualisation 3D.

- Il peut utiliser les bibliothèques graphiques OpenGL, SDL ou X11.

Inconvénients :

Pas d'inconvénients trouvés hormis que le moteur possède peu de documentation en dehors du forum de son site.

Hero Engine :

Moteur de jeu 3D et technologie de plateforme serveur développé par Simutronics dans l'objectif de créer des jeux de type MMORPG (Massively Multiplayer Online Role-Playing Game = Jeu de rôle massivement multijoueur).

Langages d'écriture : C++, C# et HeroScript Language (HSL).

Environnements supportés : Windows.

Langues supportées : Anglais.

Jeux ayant été créés avec ce moteur : « Star Wars : the Old Republic » et « Stray Bullet Games ».

Avantage :

Aucun, c’est un moteur sur lequel on trouve peu d’informations, il est relativement ancien.

Inconvénients :

- Moteur 3D vieillissant.

- Communauté essentiellement anglaise.

- N'est supporté que par Windows.

Irrlicht :

C'est un moteur 3D temps réel créé par Nikolaus Gebhardt et al et écrit en C ++.

Langages d'écriture : C++.

Environnements supportés : Linux, Windows, Mac OS, Sun Solaris/SPARC, Xbox 360, Playstation 3, Android et Iphone.

Langues supportées : Anglais et Français (communauté francophone).

Avantages :

- C'est un moteur multiplateforme.

- Irrlicht est logiciel libre de droit, y compris pour les programmes à vocation commerciale.

Il existe plusieurs forks (logiciel créé à partir du code source d'un logiciel déjà existant) de Irrlicht dans le but d'accélérer la correction des bugs ou l'ajout de nouveautés.

Il supporte aussi bien OpenGL, Direct3 que son propre rendu logiciel et il peut aussi être intégré à d'autres langages que le C ++.

Une communauté très active.

Inconvénients :

- Il est moins puissant que certains autres moteurs disponibles sur le marché (par exemple OGRE).

OGRE (Object-Oriented Graphics Rendering Engine) :

OGRE est un moteur 3D libre et multiplateforme, écrit en C++. C'est une couche d'abstraction supplémentaire au-dessus des API Direct3D et OpenGPL.

Langages d'écriture : C++.

Environnements supportés : Multiplateforme.

Langues supportées : Anglais et Français.

Jeux ayant été créés avec ce moteur : « Ankh », Jack Keane », « Pacific Storm », Rigs of Rods », « Torchlight », « So Blonde », etc...

Avantages :

- C'est un moteur multiplateforme et libre de droit.

- Il supporte Direct3D et OpenGL.

Inconvénients :

- OGRE ne fournit pas de moteur de rendu 3D logiciel, il faut une carte 3D ou un émulateur de carte 3D.

Il possède une bonne communauté mais celle-ci est surtout anglophone.

Quest3D :

C'est un moteur 3D en temps réel, développé par Act-3D B.V. en 2001 et une plateforme de développement utilisée pour la visualisation de projets architecturaux, de produits mais aussi pour la réalisation de jeux vidéo, de logiciels d’entraînements et simulations.

Langages d'écriture : Aucune information sur le(s) language(s) d'écriture.

Environnement supporté : Windows.

Langues supportées : Anglais et Français.

Jeux ayant été créés avec ce moteur : « Audiosurf », « Ship Simulator », « Leo der Hazer », « Chicken Football », « The Endless Forest » et « Twinners ».

Avantages :

- Il ne possède pas de base de compilation, tout est traité en temps réel.

- Quest3D ne nécessite pas une configuration très poussée et onéreuse.

- Bien que le moteur soit propriétaire, il offre des réductions pour les établissements d'enseignement.

Inconvénients :

- Ce moteur n'est supporté que par Windows.

- C'est un moteur avec des licences propriétaires.

Revolution3D :

Moteur 3D utilisant la bibliothèque graphique DirectX 9.

Langages d'écriture : Visual Basic, C#, C++ et Java.

Environnements supportés : Aucune information sur le(s) environnement(s) supporté(s).

Langues supportées : Anglais.

Jeux ayant été créés avec ce moteur : « Alien Agency », « Sub Hunter 4 », « History of Conquest », « Acamer Rising », « R3DChess » et « NewWorld Editor ».

Avantage :

Ce moteur permet d'utiliser tous les langages suivants : Visual Basic, C#, C++ et Java.

Inconvénients :

- Moteur peu connu du grand public.

- Site officiel en anglais mais aussi et surtout indisponible.

Truevision3D :

Moteur 3D utilisant la bibliothèque graphique DirectX.

Langages d'écriture : Visual Basic 6, .NET, C#, Borland Delphi, C++ et Python.

Environnements supportés : Aucune information sur le(s) environnement(s) supporté(s).

Langues supportées : Anglais et Français (communauté française).

Avantage :

La version courante, la 6.5 se base sur DirectX 9 et est rétro-compatible avec la version 8 de Direct X.

Inconvénient :

Moteur et site lui étant rattachés vieillissants.

Source Engine :

C'est le moteur 3D de la société Valve Software, que celle-ci utilise depuis 2004 pour les besoins de ses jeux vidéo.

Langages d'écriture : C++.

Environnements supportés : Windows, Mac OS X, GNU/Linux, Playstation 3, Xbox, Xbox 360, Xbox One et Adroid.

Langues supportées : Anglais.

Jeux ayant été créés avec ce moteur : « Counter-Strike : Global Offensive  », « Counter-Strike : Source », « Dota 2 », « Half-Life 2 », « Half-Life 2 : Deathmatch », « Half-Life 2 : Episode One », « Half-Life 2  : Episode Two », «  Half-Life 2 : Lost Coast ».

Avantages :

- C'est un moteur très complet qui prend en charge les graphismes, le son, le réseau et la physique.

- Il est aussi multiplateforme.

Inconvénients :

- Le moteur 3D possède surtout une communauté anglophone.

- Source Engine est un moteur dont la licence est propriétaire.

Unigine :

C'est un moteur 3D développé par Unigine Corp.

Langages d'écriture : Aucune information sur le(s) langage(s) d'écriture.

Environnements supportés : Windows, GNU/Linux, Mas OS X, Playstation 3 et iOS.

Langues supportées : Anglais.

Avantages :

- C'est un moteur multiplateforme. Il fournit un moteur 3D,un moteur de son,un moteur physique,un système de script,un éditeur de niveau et des plugins.

- Il est capable d'utiliser OpenGL 4.0, OpenGL ES 2.0 et Direct 9, 10 et 11.

- Il possède un très bon rendu et c'est un moteur vraiment puissant.

Inconvénients :

- Ce moteur vise surtout des domaines professionnels, comme l'aéronautique (simulation de vol), l'architecture, la construction, la marine (simulation maritime).

- Unigine est un moteur dont la licence est propriétaire.

Anvil Engine :

Aussi connu sous le nom de Scimitar durant son développement, Anvil est un moteur de jeu développé par Ubisoft Montréal.

Langages d'écriture : C++.

Environnements supportés : Windows, Playstation 3, Playstation 4, Xbox 360, Xbox One et Wii U.

Langues supportées : Français et Anglais.

Jeux ayant été créés avec ce moteur : Tous les « Assassin's Creed » (avec différentes versions du moteur), « Prince of Persia », « Prince of Persia : Les Sables Oubliés », « Tom Clancy's Rainbow Six : Siege », « For Honor ».

Avantages :

- Multiplateforme.

- C'est l'un des meilleurs moteurs 3D.

Inconvénient :

Anvil Engine est un moteur dont la licence est propriétaire.

Dunia Engine :

C'est un moteur 3D interne à Ubisoft, utilisé pour la série des « Far Cry  ». Il est basé sur le CryEngine mais a été fortement modifiés par les équipes d'Ubisoft Montréal.

Langages d'écriture : C++.

Environnements supportés : Windows, Playstation 3 et Xbox 360.

Langues supportées : Anglais et Français.

Jeux ayant été créés avec ce moteur : Tous les « Far Cry » depuis « Far Cry 2 » et « James Cameron's Avatar : The Game ».

Avantages :

- Multiplateforme.

- Il offre des environnements destructibles très réalistes, de très bons effets spéciaux, des cycles jour/nuit en temps réel, des intelligences artificielles ennemies dont les réactions ne sont pas limitées par un script et bien d'autres avantages encore.

Inconvénient :

Dunia Engine est un moteur dont la licence est propriétaire.

JMonkeyEngine :

Spécialement créé pour le développement 3D moderne grâce à la technologie de shader.

Langages d'écriture : Java.

Environnements supportés : Multiplateforme, il faut seulement un environnement pouvant supporté JVM.

Langues supportées : Anglais et Français.

Avantages :

- Totalement open source.

- Quelques tutoriels sont disponibles en français.

Inconvénient :

Aucun, hormis le peu de documentation disponible.

Sources:

https://fr.wikipedia.org/wiki/Moteur_3D

https://fr.yeeply.com/blog/creer-un-jeu-unity-avantages-desavantages/

https://openclassrooms.com/forum/sujet/utilisez-cryengine-ou-udk

https://openclassrooms.com/forum/sujet/unity3d-unrealengine-4-ou-cryengine

http://www.benicourt.com/blender/tag/frostbite-engine/

http://irrlicht.sourceforge.net/

http://www.ogre3d.org/

https://developer.valvesoftware.com/wiki/Main_Page

https://unigine.com/

http://www.benicourt.com/blender/2014/12/unreal-engine-vs-unity-3d-mon-choix-final/

http://www.zeden.net/moteur/Dunia-Engine

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels