Unreal Engine 4.14 — quelles nouveautés?

Yes, une nou­velle mou­ture de notre moteur de jeu préféré ! Avant de lis­ter toutes les nou­veautés, je vous rap­pelle que vous trou­verez l’his­torique des autres mis­es à jour sur cette page, mais surtout, n’hésitez pas à deman­der le “Guide 2015–2017 des nou­veautés d’Un­re­al Engine” qui est gra­tu­it — enfin, je ne vous demande que votre email pour pou­voir vous envoy­er des trucs de temps en temps — et vous pou­vez vous dés­abon­ner à tout moment — dans tous les cas, cela ne rem­place pas le RSS. Il a été mis à jour avec 4.15, les inscrits ont reçu un email.

Rendu, Matériaux et Post-Process

Unre­al Engine 4.14 intro­duit un nou­veau moteur de ren­du d’om­brages (opti­misé pour la VR entre autres).

ue-414-image_1

Il per­met de com­bin­er les fonc­tion­nal­ités d’éclairage avec l’anticrénelage à plusieurs échan­til­lons (MSAA), le MSAA est préférable pour les pro­jets VR .

Pour utilis­er MSAA, définis­sez la valeur par défaut Anti-Alias­ing Méth­ode dans les paramètres du pro­jet de rendu:

ue-4-14-image_4

Les fonc­tion­nal­ités gérées sont par exemple:

  • les lumières sta­tion­naires  en prenant en compte les objets en mou­ve­ment (ombres dynamiques)
  • les réflex­ions mul­ti­ples et planaires
  • Toutes les lumières pré cal­culées (lightmaps)
  • les ombres capsules

Les nou­velles fonc­tion­nal­ités Ombres de con­tact (Con­tact Shad­ows) per­me­t­tent un excel­lent détail des ombres dynamiques des objets complexes.

Les sce­narii d’éclairage

L’é­clairage pré­cal­culé pour de mul­ti­ples con­fig­u­ra­tions d’é­clairage avec la même géométrie est main­tenant possible.

ue-4-14-image_12

ue-4-14-image_13

Dans l’ex­em­ple ci-dessus, la lumière direc­tion­nelle, la lumière du ciel et sky­box ont été placés dans un scé­nario d’é­clairages appelé DaySce­nario. Les lam­padaires ont été placés dans NightSce­nario. Vous imag­inez les gains de pro­duc­tiv­ité de votre work­flow quand il s’ag­it de pou­voir utilis­er les mêmes lieux à dif­férents moments de la journée ?

Pour utilis­er les scé­nar­ios d’éclairage:

  • clic droit sur un sous-niveau dans la fenêtre lev­el win­dows et chang­er pour Light­ing Sce­nario. Quand un niveau de scé­nario est ren­du vis­i­ble, ses lightmaps sont appliquées dans le monde.
  • Chang­er la méth­ode de dif­fu­sion de niveau Blue­print au niveau du scé­nario d’éclairage
  • Plac­er les mesh­es et les lumières dans ce niveau et con­stru­ire l’éclairage
  • Dans le Begin­Play du niveau du lev­el blue­print du niveau per­sis­tant, exé­cuter un Load Stream Lev­el au niveau du scé­nario d’éclairage.

ue-4-14-image_15

Amélio­ra­tion des lumières sur les objets translucides

ue-4-14-image_16

Dans le ren­du dif­féré, la nou­velle fonc­tion­nal­ité d’om­brage peut être util­isée sur des sur­faces translu­cides pour obtenir reflets spécu­laires de mul­ti­ples lumières.

Shad­ing peau en haute-résolution

UE4 prend désor­mais en charge l’om­brage de la peau en haute-réso­lu­tion pour le  mod­èle d’om­brage Sub­sur­face Pro­fil. Ceci per­met d’obtenir un très bon éclairage pour les détails comme les pores et les rides.

ue-4-14-image_18

Ci-dessus, éclairage obtenue avec le motif dami­er util­isé aupar­a­vant, et ci-après le nou­v­el affichage:

ue-4-14-image_19

Bon, j’avoue, avec cette image et sans pos­si­bil­ité de bouger autour de l’ob­jet, c’est pas évi­dent de voir la dif­férence. Un petit zoom pour mieux voir:

unreal_engine_4-14_released_-_2016-11-19_11-27-45

Nou­v­el éclairage où chaque pix­el con­tient des infor­ma­tions d’é­clairage dif­fus et spécu­laire dans un encodage RGBA. Cela néces­site au moins un for­mat de couleur scène 64 bits avec un canal alpha complet.

Ce com­porte­ment peut être mod­i­fié en util­isant la vari­able con­sole r.SSS.CheckerboardLes valeurs pos­si­bles pour cela sont: 0: Dami­er dés­ac­tivé (réso­lu­tion com­plète), 1: Dami­er activé (ancien com­porte­ment), 2: Automa­tique (par défaut)

Amélio­ra­tion de la qual­ité de la “Reflec­tion Capture”

Quand on utilise les “Reflec­tion Cap­ture” (voir tome 3 des cahiers d’un­re­al Engine), le moteur réalise un mixte entre l’émission spécu­laire provenant de la cap­ture avec la lumière indi­recte émise par la lightmap.

ue-4-14-image_22

A gauche, on utilise le mixte, et pas à droite. Cela donne de bons résul­tats sur les sur­faces rugueuses, mais pas sur les sur­faces liss­es. De fait, le mix­age est désor­mais dés­ac­tivé pour toute sur­face ayant un rough­ness > .3, puis un gra­di­ent (fade) sera appliqué jusqu’à .0. Cela donne ain­si de meilleurs résultats.
Et cela a d’ailleurs un impact sur l’en­vi­ron­nement direct comme illus­tré ci-dessous:

image_23

Mate­r­i­al attribute nodes

Tra­vailler avec les Mate­r­i­al Attrib­ut­es est main­tenant plus facile.

  • Get­Ma­te­ri­alAt­trib­ut­es — Ce nœud est un rem­place­ment com­pact pour BreakMaterialAttributes
  • Set­Ma­te­ri­alAt­trib­ut­es — Ce nœud est un rem­place­ment com­pact pour MakeMaterialAttributes
  • Blend­Ma­te­ri­alAt­trib­ut­es — nou­veau nœud pour per­me­t­tre de faire plus facile­ment le mélange des matières Attrib­uts structures.

La sélec­tion d’un nœud mon­tre la liste des pins actuelles dans le pan­neau de détails qui peu­vent être éten­dues ou sup­primés. Par exem­ple, la fonc­tion ci-dessous prend un ensem­ble d’at­trib­uts mélange ensuite la couleur de base et Rough­ness à une sur­face rouge brillant.

ue-4-14-55

 

Animations

Édi­teur d’an­i­ma­tion Revamp

Les out­ils liés à l’an­i­ma­tion ont été divisés en édi­teurs d’as­sets dis­tincts plutôt que d’u­tilis­er un édi­teur avec plusieurs modes.

ue-4-14-unreal_engine_4-14_released_-_2016-11-16_19-07-20

Beau­coup d’autres amélio­ra­tions ont été apportées sur l’édi­teur Skele­tal Mesh, l’édi­teur Skele­ton, l’édi­teur d’an­i­ma­tion et l’édi­teur de Blue­print animation.

Fenêtre courbe d’animation 

Vous pou­vez main­tenant mod­i­fi­er la courbe ani­ma­tions grâce à la nou­velle fenêtre dédiée. Les courbes sont visu­al­isés en direct que vous les modifiez.

ue-4-14-image_45

Blue­print ani­ma­tion par défaut

Per­met d’at­tribuer un Ani­ma­tion Blue­print à un skele­tal mesh qui sera tou­jours en exé­cu­tion quelque soit l’outil util­isé (dans le niveau, dans le sequencer, etc.).

ue-4-14-image_48

Pre-skinned local position

Les matéri­aux ont main­tenant accès à la posi­tion de référence d’un skele­tal mesh pour une util­i­sa­tion dans les sor­ties per-ver­tex. Cela per­met des effets local­isés sur un per­son­nage ani­mé. Le nœud peut être partagé pour les mail­lages sta­tiques pour lesquels il ren­voie la posi­tion locale. L’ex­em­ple ci-dessous crée un motif en grille dans l’e­space local, qui reste relatif à la maille du squelette pen­dant l’animation:

ue-4-14-57

ue-4-14-58

os virtuels

Ont été ajoutés des «os virtuels» à un squelette. Les os virtuels ne sont pas skinnables, mais con­traints entre deux os exis­tants sur le squelette. Par exem­ple, vous pou­vez ajouter un joint, enfant d’une main, mais con­traint à un joint de paume.

Child Ani­ma­tion Montages 

Créer un Mon­tage enfant basé sur un Mon­tage par­ent, per­met de  rem­plac­er des clips d’an­i­ma­tion. Utile pour ajouter des vari­a­tions à un mou­ve­ment tout en garan­tis­sant qu’il n’au­ra pas d’in­ci­dence sur le gameplay.

ue-4-14-65

édi­teur de lecteur média

Vous pou­vez main­tenant gliss­er dépos­er des fichiers depuis l’or­di­na­teur dans la fenêtre du lecteur mul­ti­mé­dia pour visu­alis­er les fichiers vidéo sans devoir créer un asset FileMediaSource.

ue-4-14-77

Meshes et Génération procédurale

Généra­tion automa­tique de LOD: Unre­al Engine  réduit main­tenant automa­tique­ment le nom­bre de poly­gones de vos mail­lages sta­tiques pour créer LODs

ue-4-14-image_10

L’an­i­ma­tion ci-dessus mon­tre cinq LODs qui ont été générés automa­tique­ment. Cha­cun d’eux est la moitié du nom­bre de tri­an­gles comme le précédent.

Ce sim­plifi­ca­teur de maille main­tient les UV et donc les mêmes matéri­aux peu­vent être util­isés, et les LOD peu­vent partager la même lightmap.

 “Auto Com­pute LOD Dis­tances” est un paramètre impor­tant parce que l’al­go­rithme con­naît la dif­férence visuelle maxi pos­si­ble pour déter­min­er le niveau d’er­reur accept­able. Il va donc automa­tique­ment cal­culer la taille de l’écran à utilis­er pour chaque LOD.

Créa­tion de Sta­t­ic Mesh dans l’édi­teur à par­tir de n’im­porte quel actor

Il suf­fit de faire un clic droit sur un actor dans le lev­el, puis de cli­quer sur “Con­vert Actor to Sta­t­ic Mesh” comme dans cette vidéo. cela fonc­tionne aus­si avec les per­son­nage skin­nés: ain­si on peut pren­dre une pose et “extraire” le sta­t­ic mesh cor­re­spon­dant (pour faire une stat­ue par exemple).
J’ai encore du mal à imag­in­er les appli­ca­tions de cette fonc­tion­nal­ités, mais bon je sup­pose que cela doit être assez pra­tique. Je pense notam­ment à la généra­tion procé­du­rale et la pos­si­bil­ité d’ex­porter ain­si facile­ment ses créa­tions. Mais il doit y avoir encore d’autres besoins aux­quels je ne pense pas forcément.

Vec­tor Noise dans les matériaux

ue-4-14-unreal_engine_4-14_disponible_-_2016-11-16_18-32-13

Le nou­veau nœud “vec­tor noise”  ajoute plusieurs fonc­tions avec des vecteurs 3D ou 4D . Tout ou par­tie du cal­cul être pré­cal­culé dans une tex­ture en util­isant le Blue­print Draw Mate­r­i­al to Ren­der Tar­get intro­duit en 4.13. Ces nœuds four­nissent une alter­na­tive à la créa­tion de tex­tures générées avec un out­il externe. Les nou­velles fonc­tions sont les suivantes :

  1. Cell­noise : Ren­voie une couleur aléa­toire pour chaque cel­lule dans une grille 3D. Les résul­tats peu­vent donc fournir un moyen fiable pour ajouter un effet aléa­toire à un matériau.
  2. Per­lin 3D Noise : Cal­cule une ver­sion de Per­lin Noise Sim­plex avec sor­tie vecteur 3D. Chaque com­posant de sor­tie est com­pris entre ‑1 et 1.
  3. Per­lin Gra­di­ent : Cal­cule le gra­di­ent 3D ana­ly­tique d’un scalaire bruit Per­lin Sim­plex. La sor­tie est sur qua­tre canaux, où les trois pre­miers (RGB) sont le gra­di­ent, et le qua­trième (A) est le bruit scalaire. Ceci est utile pour les boss­es et pour les flow mapssur une surface
  4. Per­lin Curl : Cal­cule la boucle 3D d’un vecteur de bruit Per­lin Sim­plex. La sor­tie est un vecteur 3D. Ceci est utile pour l’é­coule­ment de flu­ides ou de particules.
  5. Voronoi : Cal­cule le même bruit Voronoi que le nœud de matéri­au scalar Noise. Le bruit de Voronoi scalaire éparpille les points dans l’e­space 3D et ren­voie la dis­tance la plus proche. La ver­sion vec­to­rielle du bruit ren­voie l’emplacement du point le plus proche en RGB, et la dis­tance en A. Surtout cou­plé avec Cell­noise, cela peut per­me­t­tre à un com­porte­ment aléa­toire par cel­lule de Voronoï.

Ci-dessous, un matéri­au pierre réal­isé en util­isant le com­posant à dis­tance du vecteur de bruit / Voronoi pour mod­uler quelques boss­es de sur­face et se fon­dre dans la mousse dans les fis­sures, et la posi­tion de la graine avec Vec­tor Noise / Cell­noise pour chang­er la couleur et hau­teur des boss­es par roche.

ue-4-14-image_36

Encore des élé­ments qui ajoutent aux pos­si­bil­ité de généra­tion procé­du­rale d’UE4, afin d’a­jouter plus d’aléa­toire dans les matériaux.

Child actor templates

Les com­posants ajoutés aux Child Actor Com­po­nents peu­vent avoir leurs pro­priétés per­son­nal­isées via Child Actor Templates.

ue-4-14-image_46

Une fois que vous ajoutez un Child Actor Com­po­nent, vous ver­rez un mod­èle exten­si­ble dans le pan­neau Détails de l’édi­teur de Blue­print. De là, vous pou­vez accéder à toutes les pro­priétés du Child Actor y com­pris les vari­ables publiques.

Amélio­ra­tion du com­posant Câble

Les câbles peu­vent main­tenant avoir un ren­du net­te­ment plus réal­iste : le moteur de jeu con­sid­ère leurs col­li­sions avec l’environnement (y com­pris avec fric­tion) et per­met d’y attach­er des objets et des effets.

Landscapes

Edi­teur de paysage en VR

Vous pou­vez main­tenant créer et sculpter des matéri­aux de paysage ter­rain et de pein­ture à l’aide des con­trôleurs de mou­ve­ment en VR!

ue-4-14-image_49

out­il de rota­tion de paysages

L’outil miroir de paysage (land­scape mir­ror tool) peut main­tenant invers­er la géométrie par­al­lèle­ment au plan de miroir, pour créer des cartes mul­ti­joueur diag­o­nale­ment opposées.

ue-4-14-67

Menus et Widgets

Les fontes peu­vent main­tenant être util­isées en ver­sion “out­line” dans l’UI:

image_31

Tous les wid­gets pos­sè­dent donc un “out­i­line size”, mais aus­si un “out­line mate­r­i­al” pou­vant être util­isé pour réalis­er divers effets comme:

Physique et particules

Upgrade de PhysX en 3.4

Le moteur physique inclus, PhysX, a été mis à jour vers la dernière ver­sion, ce qui améliore forte­ment la per­for­mance ; de nou­velles fonc­tion­nal­ités du moteur physique seront inté­grées dans les ver­sions à venir du moteur de jeu.

ue-4-14-image_39

Cette ver­sion de PhysX per­met la détec­tion con­tin­ue de Col­li­sion (CCD) sur les objets ciné­ma­tiques, ce qui per­met des col­li­sions pré­cis­es entre corps rigides en mou­ve­ment rapi­de. C’est impor­tant si vous tir­er avec un pro­jec­tile comme une balle de fusil dans un mur par exemple.

Prise en charge des véhicules améliorée

Les développeurs ont changé la façon dont les forces sont appliquées au niveau des pneus. Aupar­a­vant, elles étaient appliquées au barycen­tre du véhicule.

Les déplace­ments des véhicules n’étaient pas tou­jours gérés de manière très réal­iste : les forces qui s’appliquaient sur les pneus étaient con­sid­érées sur le véhicule lui-même et non sur le pneu. Ain­si, le moteur n’arrivait pas à simuler un véhicule qui tanguait.

ue-4-14-50

Sim­ple Wheeled Vehi­cle Move­ment Com­po­nent per­met la sus­pen­sion de la roue et la fric­tion des pneus sans s’en­nuy­er avec les com­plex­ités du moteur et la sim­u­la­tion de la trans­mis­sion. Ce com­posant vous per­met d’ap­pli­quer facile­ment le cou­ple aux pneus.

Amélio­ra­tion du cloth skinning

A été ajoutée la pos­si­bil­ité de cal­culer nos pro­pres don­nées mesh-to-mesh skin­ning pour les vête­ments, donc plutôt que d’u­tilis­er les don­nées de ren­du exportées dans un fichi­er .apx ou .apb, nous util­isons main­tenant ce que UE4 a déjà depuis l’as­set APEX-exporté et Reskin.

Cela cor­rige des soucis comme les nor­mals qui pou­vaient être mal appliqués après import comme ci-dessous:

ue-4-14-_-_2016-11-16_21-18-27

Plugins et Technologies Tiers

Sup­port de nvidia ansel

7866368ee03a77c4f93d26c942770

Pren­dre des screen­shots en Super réso­lu­tion ou des pho­tos à 360°, et les retouch­er comme un pro… c’est pos­si­ble grâce à Nvidia Ansel — je vous con­seille la lec­ture de cet arti­cle.

Sous UE4, cela se matéri­alise par un plu­g­in qui per­met d’ac­céder à l’outil dans une ses­sion stand­alone. On peut aus­si le con­trôler via les blue­prints grâce à la classe Play­er Cam­era Man­ag­er.

Nou­veau plu­g­in MIDI

image_66

Per­met de con­necter directe­ment son syn­thé­tiseur par exem­ple et de dia­loguer avec lui via des ordres “midi”, ces derniers étant acces­si­bles par les Blue­prints via un MIDI Device Man­ag­er. Il suf­fit ensuite de faire un break sur la struc­ture et d’ac­céder à un tas de variables.

Sequencer (ex-Matinee)

Amélio­ra­tion de la Cam­era Rig Crane

Pour le tour­nage de films, on utilise des sortes de grues sur lesquelles on fixe une caméra. Pour les besoins du sequencer, un même dis­posi­tif a été dévelop­pé il y a quelques temps. Existe égale­ment le sys­tème de rail sur lequel se déplace la caméra.

Le com­porte­ment de la grue imite main­tenant par­faite­ment celui d’une véri­ta­ble une grue:

enreg­istr­er de l’au­dio dans une séquence

ue-4-14-61

Vous pou­vez main­tenant enreg­istr­er de l’au­dio à par­tir d’un micro­phone pen­dant l’en­reg­istrement dans une séquence.

amélio­ra­tion pose driver

Le nœud Pose dri­ver per­met à un os de con­duire d’autres aspects de l’an­i­ma­tion, basé sur un jeu d’ex­em­ples. Il peut main­tenant être une cible de mor­ph­ing, par exem­ple la con­duite d’un os épaule pour la rota­tion du bras.

ue-4-14-62

Pour les mobiles

Vulkan est main­tenant géré sur les plate­formes Android

Cela était déjà pos­si­ble avec quelques manip­u­la­tions sous Win­dows par exem­ple, mais avec la ver­sion 14, c’est inté­gré pour Android.

  • UE4 sup­porte les appareils sous Android 7 (Nougat) avec pilotes Vulkan, ain­si que le Galaxy S7 Sam­sung avec mise à jour OTA récente.
  • De nom­breux prob­lèmes de ren­du ont été corrigés.
  • Le ren­du passera automa­tique­ment à OpenGL ES s’il est lancé sur un appareil Android non com­pat­i­ble Vulkan.

ue-4-14-51

Sup­port de pro­fondeur per­son­nal­isée sur mobiles

depuis Scene Depth, Cus­tom Depth ou Scene Color.

ue-4-14-52

Comme ça néces­site des post-traite­ments, Mobile HDR doit être activé et la fonc­tion ne fonc­tionne pas actuelle­ment pour tout mobile avec MSAA activé.

Bib­lio­thèque blue­print pour mobiles 

La nou­velle bib­lio­thèque Mobile Patch Util­i­ties Blue­print library con­tient toutes les fonc­tion­nal­ités req­ui­s­es pour per­me­t­tre un jeu sur mobile de télécharg­er et installer le con­tenu et les cor­rec­tifs à par­tir du cloud.

Amélio­ra­tion du com­posant Scene Capture

AMAZON GAMECIRCLE PLUGIN POUR KINDLE FIRE

Un nou­veau plu­g­in en ligne Sub­sys­tem Game­Cir­cle est main­tenant inclus!

Game­Cir­cle vous per­met de partager vos exploits et vos scores avec vos amis, directe­ment depuis votre Kin­dle Fire. Grâce à la tech­nolo­gie de syn­chro­ni­sa­tion de Game­Cir­cle, vous pou­vez enreg­istr­er vos pro­grès dans un jeu et le repren­dre sur n’im­porte lequel de vos appareils Kin­dle com­pat­i­bles. Vous pou­vez inviter des amis qui pos­sè­dent égale­ment un Kin­dle Fire en recher­chant leur nom d’u­til­isa­teur ou en vous con­nec­tant sur Face­book lorsque votre appareil est con­nec­té au Wi-Fi.

C’est désor­mais facil­ité grâce à ce plugin:

ue-4-14-71

Sup­port Android sur linux

Code­works pour Android de NVIDIA pour Lin­ux est la meilleure façon de met­tre en place les out­ils de NDK et SDK néces­saires. En out­re, Open­JDK 1.8 doit être instal­lé; set JAVA_HOME point­er vers votre installation.

 Vulkan Android sur Lin­ux n’est pas encore pris en charge.

Réalité virtuelle

Tout un lot d’amélio­ra­tions et d’op­ti­mi­sa­tions con­cer­nant la VR qui reste l’un de chevaux de bataille d’Epic Games pour son moteur de jeu. On en a vu cer­tains précédem­ment comme l’édi­teur de paysage ou l’amélio­ra­tion du ren­du, mais voici un autre élé­ment à pren­dre en compte.

VR charge­ment de films

Le moteur prend désor­mais en charge les films sur Ocu­lus, GearVR, SteamVR et PSVR. Pour utilis­er l’écran de démar­rage, vous pou­vez définir une tex­ture en util­isant le noeud “Splash Screen Set” ou choisir de voir automa­tique­ment appa­raître une carte avec le noeud “Activ­er Auto Load­ing Splash Screen”.

Sup­port de VRWorks 2.1VR SLI,  Lens Matched Shad­ing (Pas­cal), Mul­ti Res Shad­ing (Maxwell) et Sin­gle Pass Stereo sont aus­si inté­grées et per­me­t­tent de gag­n­er pas mal de per­for­mances (jusqu’à 30% rien qu’avec le LMS/MRS).

Debogage

Morph Tar­get debug View Mode

Per­met de voir quels som­mets sont affec­tés par chaque cible de morphing.

ue-1-41-64

Live GPU profiler

four­nit des sta­tis­tiques pour les prin­ci­pales caté­gories de ren­du. Pour l’u­tilis­er, entrez la com­mande de la con­sole ‘stat gpu’ ou allez dans l’édi­teur via le sous-menu ‘Stat’ dans le menu déroulant Options dropdown.

ue-4-14-73

Sup­port de Visu­al stu­dio 15

Si vous avez plusieurs ver­sions de Visu­al Stu­dio, vous pou­vez sélec­tion­ner celle que vous voulez utilis­er par  sec­tion «Code source» dans «Préférences Editor.

Conclusion

Voilà, ça fait encore beau­coup à inté­gr­er en si peu de temps… je ne vous par­lerai pas par exem­ple des nou­velles struc­tures de don­nées comme les Maps (des tableaux, mais avec une clé d’ac­cès qui peut être textuels pour index­er un élé­ment) et les Sets (comme les tableaux, mais avec seule­ment des élé­ments uniques), mais cela peut aus­si se révéler fort utile pour alléger les blue­prints et opti­miser son code.

Je vous ai listé le plus impor­tant, mais vous trou­verez des com­plé­ments sur le thread d’o­rig­ine sur le site d’Epic Games.

 

 

2 réflexions sur « Unreal Engine 4.14 — quelles nouveautés? »

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.