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
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 !
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