Qu’est-ce que Unity ? 

Unity est un moteur de rendu 3D temps-réel. Qu’est-ce que cela veut dire ? Son but est de rendre des images de scènes 3D de manière fluide pour permettre une interactivité avec l’application. Il n’est pas question de créer des films, mais des applications dans lesquelles l’utilisateur peut interagir, se déplacer, faire des choix. Le moteur est le plus souvent utilisé pour créer des jeux vidéo, mais il peut également être utilisé dans le cadre d’applications à caractère professionnel : notamment dans les secteurs de la formation et de l’automobile.

Pourquoi unity ?

Lorsque vous vous lancez dans le développement d’applications 3D ou de jeux vidéo, vous avez 2 choix qui s’offrent à vous : est-ce que vous décidez de créer votre propre moteur de rendu ou voulez-vous réutiliser un moteur existant ? Développer son propre moteur demande beaucoup de travail, surtout si vous souhaitez supporter plusieurs plateformes. C’est pourquoi nous avons opté d’utiliser Unity (aussi connu sous le nom de Unity3D) comme moteur préexistant ; il nous permet de créer des applications performantes pour toutes les plateformes que nous ciblons : Web, Meta/Oculus Quest, Android, iOS et aussi PC. Nous l’avons surtout sélectionné pour ses performances dans le monde mobile et en WebGL. Il peut facilement être considéré parmi les meilleurs moteurs de jeux vidéo existants sur le marché. 

N’ayant pas développé notre propre moteur et utilisant un outil propriétaire pourrait signifier que nous n’avons pas le total contrôle sur les développements. Mais la réalité est toute différente, il n’y a pas encore eu de projet ou de création mandaté à notre entreprise que Unity n’a pas su résoudre avec ses compétences. Beaucoup de choses sont accessibles et paramétrables que l’on pourrait vouloir changer.  

Que peut-on faire avec Unity ?

Unity est un outil facile à prendre en main, mais difficile à maîtriser. En effet, si vous possédez une collection d’objets 3D, vous pouvez rapidement monter une scène 3D en les glissant simplement. L’interface est très intuitive et vous pouvez éditer la scène avec le rendu final, ainsi vous pouvez facilement voir le rendu final que vous aurez.  

Si vous voulez créer des effets visuels avancés ou une logique de jeu sophistiquée, des connaissances avancées seront nécessaires. Néanmoins, il est possible d’acheter bon nombre d’outils, d’effets ou d’objets 3D préfabriqués par d’autres développeurs sur l’asset store: un magasin intégré pour ce genre d’éléments. 

Unity se prête à toute forme d’application 3D. Vous pouvez développer un mini-jeu que vous publiez sur le web, une serious game pour la formation du personnel médical face à des situations stressantes ou encore une application VR traiter des informations d’un jumeau numérique en ligne. Tout est possible, les seuls facteurs limitants sont la puissance de l’appareil cible et les compétences de production. 

Unity se prête également aux développements d’applications en 2D, mais nous n’avons pas encore développé de projets avec cet outil. 

Quel(s) domaine(s) est-ce que Unity mène ?

Comme déjà cité, Unity n’a pas de réelle compétition en ce qui concerne son aspect multiplateforme et mobile-friendly. 

En tant que programmeur, Unity est aussi plus agréable car la programmation se fait avec le langage C# qui est plus simple à apprendre que d’autres langages (par exemple C++ pour Unreal Engine). 

Il existe également un grand nombre d’outils et de cours de formation pour le logiciel. Encore une fois, la communauté a également créé une multitude de pages web ou de vidéos tutoriel qui expliquent comment réaliser par exemple un effet ou une animation. Il est toujours possible d’apprendre quelque chose de nouveau et d’améliorer ses compétences. 

aLTERNATIVES

Il existe également des alternatives pour le développement d’applications 3D et de jeux vidéo. Tous ces logiciels sont basés sur les mêmes technologies d’accélération 3D, mais ils changent la manière dont le développeur réalise son application. 

uNREAL eNGINE

Epic Games développent depuis 1991 leurs moteurs 3D. Sa version la plus récente, Unreal Engine 5, est sortie en 2022 et permet des nouveautés dans la simulation dynamique de lumière et l’import d’objets super détaillés (Lumen & Nanite). Unreal Engine permet de créer des expériences très réalistes plus facilement, mais ceci est dû au fait que le moteur est spécialisé pour les PCs et consoles. Il n’est pas possible de produire une application web de la même manière que Unity et les versions mobiles requièrent des smartphones très puissants. Ce sont les raisons pourquoi nous avons décidé de ne pas l’utiliser pour les applications standards. Il est néanmoins très utile dans la réalisation de nos visites virtuelles HD, avec un rendu incomparable.

Un rendu ultra réaliste !
Exemple de visite virtuelle HD réalisée par KAÏNOO avec Unreal Engine

gODOT

Godot est un nouveau moteur multiplateforme basé sur un code open-source. Il est développé de manière communautaire et voit une adoption de plus en plus forte avec le développement de ses fonctionnalités. Le projet a été démarré en 2007 et est principalement géré par un lead programmeur qui supervise l’avancement. 

Godot prend une approche similaire à Unity pour le développement du logiciel: il est axé multiplateforme d’abord, ainsi on va rarement trouver des fonctions avancées qui sont uniquement compatibles avec une plateforme. 

Moteur sur mesure

Il est également possible de développer son propre moteur pour pouvoir optimiser l’application au maximum. Malheureusement, développer son propre moteur de rendu 3D temps réel pour une plateforme coûte extrêmement beaucoup de temps. En plus de cela, si on veut le développer pour plusieurs plateformes (ordinateur, iOS, Android, web, etc.), cela peut facilement demander plusieurs années de développement.  

Comme Unity répond bien à nos besoins et que nous n’avons pas les ressources pour développer ce genre de moteurs actuellement, nous avons décidé contre le développement d’un tel projet.