SlideShare une entreprise Scribd logo
1  sur  26
DE UNITY À
UNREAL
ENGINE 4
Yannick Comte – Meetup UE4 Lyon #1
Qui suis-je ?
■ Chef de projet / développeur de jeux
video enVR @Wanadev
■ Développeur indépendant
@DemonixisGames
■ Auteur de différents blogs
■ Contributeur open source #github
■ Co-createur du Meetup Unity Lyon
Sommaire
■ Un peu d'histoire
■ A la découverte de l'Unreal Editor
■ Workflow Unity vs Unreal
■ Programmation et Scripting
■ Rendering
■ Conclusion : A quand la suite ?
Un peu d'histoire...
■ Unreal Engine 1 – 1998
■ Unreal Engine 2 - 2002
■ Unreal Engine 3 – 2004
■ Unreal Engine 4 – 2014
– Totalement gratuit depuis 2015
– Open source sur github
– 5% de Royalties ou licence
spécifique
https://docs.unrealengine.com/en-
US/GettingStarted/FromUnity/index.html
A LA
DÉCOUVERTE D'UNREAL
EDITOR
Unity Editor vs
Unreal Editor
■ Navigateur d’assets
■ Visualiseur d'objets
■ Inspecteur
■ Création d’objets / matériaux / etc…
■ Level Building…
Unity Editor vs
Unreal Editor
■ Unity : X = Left,Y =Yp, Z = Forward
■ UE4 : X = Forward,Y = Right, Z = Up
■ Unity : 1 unite = 1m
■ UE4 : 1 unite = 1cm
Player Settings vs
Project Settings
■ Edit > Project Settings
■ Tous les paramètres y sont regroupés
■ Sauvegardés dans un fichier de configuration ini
■ On peut surcharger ce fichiers ini par plateforme
Package Manager vs
Plugin explorer
■ Edit > Plugins
■ Une liste énorme de plugins à active/désactiver
■ Possibilité de créer un plugin et de l’exporter
■ Possibilité d’ajouter des plugins externe (Store ou
pas)
Input Manager 1/2
■ Disponible dans Edit > Project Settings > Input
■ Vide par défaut !
■ Création des axes (float) et des actions (bool)
■ Ajout des différentes possibilités
■ Facilité de prise en charge multiplatforme
■ Binding manuel en C++
■ Binding automatique en Blueprint
Input Manager 2/2
■ Un Event est automatiquement
disponible en Blueprint
■ Il suffit de l’appeler et d’executer le code
necessaire
■ En C++ il faut surcharger la fonction
SetupPlayerInput
WORKFLOW UNITY
VS UNREAL
GameObject
vs Actor
■ Actor est similaire à GameObject
– Conteneur +Transform
– Ne peut pas recevoir d’Input
■ Pawn et Character : Actors spécialisées
– Comportement de joueurs
– Peuvent recevoir des Input
■ Le Blueprint (ou classe C++ custom) est
similaire au Prefab
– Construction paramétrable (ideal pour du
level building)
– Réutilisable partout dans le projet
Blueprint vs
Prefab
■ La partieViewport permet
de personnaliser l’objet
■ On peut ajouter des
ActorComponent
■ Et des SceneComponent
■ L’ActorComponent est très
similaire au MonoBehaviour
■ Le SceneComponent est un
peu comme un GameObject
avec un seul MonoBehaviour
dessus
PROGRAMMATION
ET SCRIPTING
Le Framework Gameplay
■ Il est optionel
■ Mais recommandé car il simplifie et sépare les données
■ Il est étudié pour le multijoueur mais fonctionne parfaitement en standalone
■ Game Mode : Définie le type de gameplay (serveur / standalone uniquement)
■ Game Instance : Instance statique du jeu (client / serveur)
■ Game State : Informations pour les clients (ex. nb de joueurs) (serveur / client)
■ Player State : Informations concernant le joueur en cours (seveur / clients)
■ Player Pawn : Le type de joueur à spawner
■ Spectator : Le type de spectator à spawner
■ https://docs.unrealengine.com/en-US/Gameplay/Framework/index.html
C# vs Blueprint vs C++
■ Tous les objets dérivent de UObject vs
UnityEngine.Object
■ Un Blueprint est avant tout une classe C++ éditable
graphiquement avec un éditeur de script graphique
■ Un Blueprint peut dériver d'une classe C++
■ Une classe C++ ne peut pas dérivée d'un Blueprint
■ Un projet Blueprint peut avoir du C++
■ Un projet C++ peut avoir du Blueprint
■ En réalité il est recommandé d'avoir les deux ;-)
A propos du C#
■ Il n'est pas possible nativement de faire du C#
■ Il existe des plugins pour faire du C#, du Python et
d'autres langages dans UE4
■ USharp est le meilleur choix pour cela !
■ Open Source (github) et mis à jour quotidiennement
■ Ce n'est pas une solution pour un gros projet tripeA
■ Parfait pour apprendre l'API d'Unreal Engine ou faire de
petits projets
■ https://github.com/pixeltris/USharp
RENDERING
Legacy Rendering vs SRP vs UE4
■ Deferred Renderer sur PC et Consoles
■ Forward Renderer optimisé sur Mobile etWebGL
■ Possibilité d'activer un Forward Renderer+ sur PC uniquement
■ Les nouveaux SRP sur Unity sont comparables aux renderer
d'UE4
■ Lightweight RenderPipeline => Forward Mobile/WebGL
■ HDRP Forward+/Deferred => Deferred Renderer
Shaders
■ Editeur graphique de shader
■ Attention, par défaut un shader par material, ce
qui n’est pas optimal
■ Utiliser des Material Instance (proche de ce que
fait Unity)
■ Artist Friendly !
ENVRAC
EnVrac...
■ UE4 Landscape > UnityTerrain
■ UE4 Foliage > Meshes instanciés sur un terrain
■ Sequencer >Timeline
■ Epic Launcher > Unity Hub
■ Etc...
Pour finir...
■ Passer d’Unity à Unreal Engine 4 n’est pas trop compliqué car ce sont
deux moteurs de jeux fonctionnant sur des principes similaires
■ Il faut cependant découvrir le Framework qui une fois en main fait
gagner un paquet de temps
■ La gestion des assets est très lourde comparé à Unity
■ L’aspect cross-platform est très dévelopé par Epic Games
■ Pas de services comme Cloud Build, mais des services
Multiplayers/Network qui arrivent dans l’année, gratuitement 
QUESTION ? MERCI
!

Contenu connexe

Similaire à De Unity à Unreal Engine 4

Retour d'expérience technique Go, gRPC, Kubernetes
Retour d'expérience technique Go, gRPC, KubernetesRetour d'expérience technique Go, gRPC, Kubernetes
Retour d'expérience technique Go, gRPC, KubernetesVincent Composieux
 
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...mbrechet
 
Programmer sous Unreal Engine
Programmer sous Unreal EngineProgrammer sous Unreal Engine
Programmer sous Unreal EngineGeeks Anonymes
 
Un rendu de Quality avec Unity 3D
Un rendu de Quality avec Unity 3DUn rendu de Quality avec Unity 3D
Un rendu de Quality avec Unity 3DYannick Comte
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?Membré Guillaume
 
FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG -   J’ai besoin d’une appli web rapidementFinistJUG -   J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidementHoracio Gonzalez
 
Conférence Shinken à SophiaConf2012 (Jean Gabès)
Conférence Shinken à SophiaConf2012 (Jean Gabès)Conférence Shinken à SophiaConf2012 (Jean Gabès)
Conférence Shinken à SophiaConf2012 (Jean Gabès)Jean Gabès
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsChristophe Villeneuve
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyonClement Bouillier
 
Introduction à PHP - Forum PHP 2010 - AFUP
Introduction à PHP - Forum PHP 2010 - AFUPIntroduction à PHP - Forum PHP 2010 - AFUP
Introduction à PHP - Forum PHP 2010 - AFUPNicolas Silberman
 
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidementENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidementHoracio Gonzalez
 
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !Horacio Gonzalez
 
Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéopprem
 
Pinpin Team - Le Gaming sur le Web avec Flash
Pinpin Team - Le Gaming sur le Web avec FlashPinpin Team - Le Gaming sur le Web avec Flash
Pinpin Team - Le Gaming sur le Web avec FlashFlorian Brochard
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantpprem
 

Similaire à De Unity à Unreal Engine 4 (20)

Retour d'expérience technique Go, gRPC, Kubernetes
Retour d'expérience technique Go, gRPC, KubernetesRetour d'expérience technique Go, gRPC, Kubernetes
Retour d'expérience technique Go, gRPC, Kubernetes
 
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
 
Programmer sous Unreal Engine
Programmer sous Unreal EngineProgrammer sous Unreal Engine
Programmer sous Unreal Engine
 
Un rendu de Quality avec Unity 3D
Un rendu de Quality avec Unity 3DUn rendu de Quality avec Unity 3D
Un rendu de Quality avec Unity 3D
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
 
FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG -   J’ai besoin d’une appli web rapidementFinistJUG -   J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidement
 
Conférence Shinken à SophiaConf2012 (Jean Gabès)
Conférence Shinken à SophiaConf2012 (Jean Gabès)Conférence Shinken à SophiaConf2012 (Jean Gabès)
Conférence Shinken à SophiaConf2012 (Jean Gabès)
 
Ionic
IonicIonic
Ionic
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtools
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 
Introduction à PHP - Forum PHP 2010 - AFUP
Introduction à PHP - Forum PHP 2010 - AFUPIntroduction à PHP - Forum PHP 2010 - AFUP
Introduction à PHP - Forum PHP 2010 - AFUP
 
Logiciels 3d-112-ktcufc
Logiciels 3d-112-ktcufcLogiciels 3d-112-ktcufc
Logiciels 3d-112-ktcufc
 
Guide Unity 3D pdf
Guide Unity 3D pdfGuide Unity 3D pdf
Guide Unity 3D pdf
 
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidementENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
 
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
 
Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéo
 
Pinpin Team - Le Gaming sur le Web avec Flash
Pinpin Team - Le Gaming sur le Web avec FlashPinpin Team - Le Gaming sur le Web avec Flash
Pinpin Team - Le Gaming sur le Web avec Flash
 
Tizen sdk-solutionslinux-20130529
Tizen sdk-solutionslinux-20130529Tizen sdk-solutionslinux-20130529
Tizen sdk-solutionslinux-20130529
 
introduction au CPP
introduction au CPPintroduction au CPP
introduction au CPP
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composant
 

Plus de Yannick Comte

Présentation de HDRP
Présentation de HDRPPrésentation de HDRP
Présentation de HDRPYannick Comte
 
Gestion de projet multiplateforme avec Unity
Gestion de projet multiplateforme avec UnityGestion de projet multiplateforme avec Unity
Gestion de projet multiplateforme avec UnityYannick Comte
 
Présentation du Meetup Unity3D Lyon
Présentation du Meetup Unity3D LyonPrésentation du Meetup Unity3D Lyon
Présentation du Meetup Unity3D LyonYannick Comte
 
XVRRAA #5 Windows Mixed Reality
XVRRAA #5 Windows Mixed RealityXVRRAA #5 Windows Mixed Reality
XVRRAA #5 Windows Mixed RealityYannick Comte
 
Windows Mixed Reality : La VR et l'AR façon Microsoft
Windows Mixed Reality : La VR et l'AR façon MicrosoftWindows Mixed Reality : La VR et l'AR façon Microsoft
Windows Mixed Reality : La VR et l'AR façon MicrosoftYannick Comte
 
Formation Unity 3D Réalité Virtuelle
Formation Unity 3D Réalité VirtuelleFormation Unity 3D Réalité Virtuelle
Formation Unity 3D Réalité VirtuelleYannick Comte
 
Le guide rapide de la réalité virtuelle
Le guide rapide de la réalité virtuelleLe guide rapide de la réalité virtuelle
Le guide rapide de la réalité virtuelleYannick Comte
 
Initiation à Unity 5
Initiation à Unity 5Initiation à Unity 5
Initiation à Unity 5Yannick Comte
 
La réalité virtuelle sur mobile
La réalité virtuelle sur mobileLa réalité virtuelle sur mobile
La réalité virtuelle sur mobileYannick Comte
 

Plus de Yannick Comte (9)

Présentation de HDRP
Présentation de HDRPPrésentation de HDRP
Présentation de HDRP
 
Gestion de projet multiplateforme avec Unity
Gestion de projet multiplateforme avec UnityGestion de projet multiplateforme avec Unity
Gestion de projet multiplateforme avec Unity
 
Présentation du Meetup Unity3D Lyon
Présentation du Meetup Unity3D LyonPrésentation du Meetup Unity3D Lyon
Présentation du Meetup Unity3D Lyon
 
XVRRAA #5 Windows Mixed Reality
XVRRAA #5 Windows Mixed RealityXVRRAA #5 Windows Mixed Reality
XVRRAA #5 Windows Mixed Reality
 
Windows Mixed Reality : La VR et l'AR façon Microsoft
Windows Mixed Reality : La VR et l'AR façon MicrosoftWindows Mixed Reality : La VR et l'AR façon Microsoft
Windows Mixed Reality : La VR et l'AR façon Microsoft
 
Formation Unity 3D Réalité Virtuelle
Formation Unity 3D Réalité VirtuelleFormation Unity 3D Réalité Virtuelle
Formation Unity 3D Réalité Virtuelle
 
Le guide rapide de la réalité virtuelle
Le guide rapide de la réalité virtuelleLe guide rapide de la réalité virtuelle
Le guide rapide de la réalité virtuelle
 
Initiation à Unity 5
Initiation à Unity 5Initiation à Unity 5
Initiation à Unity 5
 
La réalité virtuelle sur mobile
La réalité virtuelle sur mobileLa réalité virtuelle sur mobile
La réalité virtuelle sur mobile
 

De Unity à Unreal Engine 4

  • 1. DE UNITY À UNREAL ENGINE 4 Yannick Comte – Meetup UE4 Lyon #1
  • 2. Qui suis-je ? ■ Chef de projet / développeur de jeux video enVR @Wanadev ■ Développeur indépendant @DemonixisGames ■ Auteur de différents blogs ■ Contributeur open source #github ■ Co-createur du Meetup Unity Lyon
  • 3. Sommaire ■ Un peu d'histoire ■ A la découverte de l'Unreal Editor ■ Workflow Unity vs Unreal ■ Programmation et Scripting ■ Rendering ■ Conclusion : A quand la suite ?
  • 4. Un peu d'histoire... ■ Unreal Engine 1 – 1998 ■ Unreal Engine 2 - 2002 ■ Unreal Engine 3 – 2004 ■ Unreal Engine 4 – 2014 – Totalement gratuit depuis 2015 – Open source sur github – 5% de Royalties ou licence spécifique
  • 7. Unity Editor vs Unreal Editor ■ Navigateur d’assets ■ Visualiseur d'objets ■ Inspecteur ■ Création d’objets / matériaux / etc… ■ Level Building…
  • 8. Unity Editor vs Unreal Editor ■ Unity : X = Left,Y =Yp, Z = Forward ■ UE4 : X = Forward,Y = Right, Z = Up ■ Unity : 1 unite = 1m ■ UE4 : 1 unite = 1cm
  • 9. Player Settings vs Project Settings ■ Edit > Project Settings ■ Tous les paramètres y sont regroupés ■ Sauvegardés dans un fichier de configuration ini ■ On peut surcharger ce fichiers ini par plateforme
  • 10. Package Manager vs Plugin explorer ■ Edit > Plugins ■ Une liste énorme de plugins à active/désactiver ■ Possibilité de créer un plugin et de l’exporter ■ Possibilité d’ajouter des plugins externe (Store ou pas)
  • 11. Input Manager 1/2 ■ Disponible dans Edit > Project Settings > Input ■ Vide par défaut ! ■ Création des axes (float) et des actions (bool) ■ Ajout des différentes possibilités ■ Facilité de prise en charge multiplatforme ■ Binding manuel en C++ ■ Binding automatique en Blueprint
  • 12. Input Manager 2/2 ■ Un Event est automatiquement disponible en Blueprint ■ Il suffit de l’appeler et d’executer le code necessaire ■ En C++ il faut surcharger la fonction SetupPlayerInput
  • 14. GameObject vs Actor ■ Actor est similaire à GameObject – Conteneur +Transform – Ne peut pas recevoir d’Input ■ Pawn et Character : Actors spécialisées – Comportement de joueurs – Peuvent recevoir des Input ■ Le Blueprint (ou classe C++ custom) est similaire au Prefab – Construction paramétrable (ideal pour du level building) – Réutilisable partout dans le projet
  • 15. Blueprint vs Prefab ■ La partieViewport permet de personnaliser l’objet ■ On peut ajouter des ActorComponent ■ Et des SceneComponent ■ L’ActorComponent est très similaire au MonoBehaviour ■ Le SceneComponent est un peu comme un GameObject avec un seul MonoBehaviour dessus
  • 17. Le Framework Gameplay ■ Il est optionel ■ Mais recommandé car il simplifie et sépare les données ■ Il est étudié pour le multijoueur mais fonctionne parfaitement en standalone ■ Game Mode : Définie le type de gameplay (serveur / standalone uniquement) ■ Game Instance : Instance statique du jeu (client / serveur) ■ Game State : Informations pour les clients (ex. nb de joueurs) (serveur / client) ■ Player State : Informations concernant le joueur en cours (seveur / clients) ■ Player Pawn : Le type de joueur à spawner ■ Spectator : Le type de spectator à spawner ■ https://docs.unrealengine.com/en-US/Gameplay/Framework/index.html
  • 18. C# vs Blueprint vs C++ ■ Tous les objets dérivent de UObject vs UnityEngine.Object ■ Un Blueprint est avant tout une classe C++ éditable graphiquement avec un éditeur de script graphique ■ Un Blueprint peut dériver d'une classe C++ ■ Une classe C++ ne peut pas dérivée d'un Blueprint ■ Un projet Blueprint peut avoir du C++ ■ Un projet C++ peut avoir du Blueprint ■ En réalité il est recommandé d'avoir les deux ;-)
  • 19. A propos du C# ■ Il n'est pas possible nativement de faire du C# ■ Il existe des plugins pour faire du C#, du Python et d'autres langages dans UE4 ■ USharp est le meilleur choix pour cela ! ■ Open Source (github) et mis à jour quotidiennement ■ Ce n'est pas une solution pour un gros projet tripeA ■ Parfait pour apprendre l'API d'Unreal Engine ou faire de petits projets ■ https://github.com/pixeltris/USharp
  • 21. Legacy Rendering vs SRP vs UE4 ■ Deferred Renderer sur PC et Consoles ■ Forward Renderer optimisé sur Mobile etWebGL ■ Possibilité d'activer un Forward Renderer+ sur PC uniquement ■ Les nouveaux SRP sur Unity sont comparables aux renderer d'UE4 ■ Lightweight RenderPipeline => Forward Mobile/WebGL ■ HDRP Forward+/Deferred => Deferred Renderer
  • 22. Shaders ■ Editeur graphique de shader ■ Attention, par défaut un shader par material, ce qui n’est pas optimal ■ Utiliser des Material Instance (proche de ce que fait Unity) ■ Artist Friendly !
  • 24. EnVrac... ■ UE4 Landscape > UnityTerrain ■ UE4 Foliage > Meshes instanciés sur un terrain ■ Sequencer >Timeline ■ Epic Launcher > Unity Hub ■ Etc...
  • 25. Pour finir... ■ Passer d’Unity à Unreal Engine 4 n’est pas trop compliqué car ce sont deux moteurs de jeux fonctionnant sur des principes similaires ■ Il faut cependant découvrir le Framework qui une fois en main fait gagner un paquet de temps ■ La gestion des assets est très lourde comparé à Unity ■ L’aspect cross-platform est très dévelopé par Epic Games ■ Pas de services comme Cloud Build, mais des services Multiplayers/Network qui arrivent dans l’année, gratuitement 